Developers
Menu

Read and manage people's collections of artworks, including the artworks they've seen.

People save artworks they love to collections. The mobile app also keeps a special collection called Seen, with every artwork someone has marked as seen.

Base link: https://streetartcities.com/api/collections

A collection

{
  "id": "5f0e8a2c-…",
  "name": "Favourite murals",
  "createdBy": "9b1c…",
  "artworks": [{ "id": "108322", "thumbnail": "https://…/thumb.jpg" }],
  "publicToken": "e1f2…",
  "createdAt": "2026-05-01T12:00:00.000Z",
  "updatedAt": "2026-09-20T08:30:00.000Z"
}

A collection is public when it has a publicToken. People can find other people's public collections on their profile.

Endpoints

EndpointScopeWhat it does
GET /api/collectionscollections:readThe person's collections, most recently changed first
GET /api/users/:userId/collectionscollections:readSomeone's public collections (or all, if it's them)
GET /api/collections/lookup/:artworkIdcollections:readIDs of the person's collections with this artwork
GET /api/collections/:idnoneA collection, with full details for each artwork
POST /api/collectionscollections:writeCreate a collection
POST /api/collections/:idcollections:writeChange a collection
DELETE /api/collections/:idcollections:writeDelete a collection
POST /api/collections/:id/itemscollections:writeAdd an artwork
DELETE /api/collections/:id/items/:artworkIdcollections:writeRemove an artwork
POST /api/collections/named/:name/itemscollections:writeAdd an artwork to a collection by name
DELETE /api/collections/named/:name/items/:artworkIdcollections:writeRemove an artwork from a collection by name
DELETE /api/collections/items/:artworkIdcollections:writeRemove an artwork from all the person's collections

lookup takes an optional collectionName query parameter, to only look in collections with that name.

Errors

Errors look like this:

{ "error": { "message": "Artwork collection not found." } }

You get 401 when changing a collection that belongs to someone else, and 404 when it doesn't exist.