Raster
API ReferenceREST API

Endpoints

Every REST route in the Raster API, with parameters, responses, and examples.

Every endpoint lives under https://api.raster.app/organizations/:organizationId/.... The :organizationId segment is your organization slug. Library-scoped endpoints add /libraries/:libraryId. Every request requires the Authorization: Bearer <API_KEY> and Api-Version: 2026-05-20 headers (see Authentication).

MethodPathAccessDescription
GET/:orgId/librariesReadList libraries in an organization.
GET/:orgId/libraries/:libraryId/assetsReadList assets in a library.
GET/:orgId/libraries/:libraryId/tagsReadList tags in a library.
POST/:orgId/libraries/:libraryId/assetsWriteUpload one or more assets.
DELETE/:orgId/libraries/:libraryId/assetsWriteDelete assets by id.

GET /libraries

Lists the libraries in an organization that your API key can reach.

Parameters

Prop

Type

Returns

{ data: Library[] } — each library carries an id, name, and the metadata the GraphQL Library type exposes.

Example

Terminal
curl --request GET \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Api-Version: 2026-05-20' \
  --url 'https://api.raster.app/organizations/monogram-labs/libraries?page=1&pageSize=20'

GET /libraries/:libraryId/assets

Lists assets in a library, paginated and optionally filtered by tag.

Parameters

Prop

Type

Returns

{ data: Asset[] }. Each asset:

Prop

Type

Timestamps are returned as unix milliseconds (a number). Internal database shapes never leak through the REST envelope.

Example

Terminal
curl --request GET \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Api-Version: 2026-05-20' \
  --url 'https://api.raster.app/organizations/monogram-labs/libraries/barcelona/assets?page=1&pageSize=20&tags=landscape,nature'

GET /libraries/:libraryId/tags

Lists the tags in a library, with their hit counts.

Parameters

Prop

Type

Returns

{ data: Tag[] }. Each tag carries a name and a count.

Example

Terminal
curl --request GET \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Api-Version: 2026-05-20' \
  --url 'https://api.raster.app/organizations/monogram-labs/libraries/barcelona/tags?limit=100'

POST /libraries/:libraryId/assets

Uploads one or more files to a library. The request body is multipart/form-data with a repeatable files field.

Parameters

Prop

Type

Returns

{ data: { responseText: string, assets: Asset[] } }. Each asset carries the same shape as GET /assets returns, including the permanent url — available immediately, before async processing completes. The async pipeline writes the optimized image to the same URL in place, so the value never changes.

Example

Terminal
curl --request POST \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Api-Version: 2026-05-20' \
  --url 'https://api.raster.app/organizations/monogram-labs/libraries/barcelona/assets' \
  --form 'files=@/path/to/photo-1.jpg' \
  --form 'files=@/path/to/photo-2.png'

The multipart field name must be files. Anything else is rejected with 400 and BAD_USER_INPUT. Other multer-level violations (LIMIT_FILE_SIZE413 PAYLOAD_TOO_LARGE, LIMIT_FILE_COUNT400 MAX_ASSETS_EXCEEDED) are mapped to canonical codes in the Errors reference.

DELETE /libraries/:libraryId/assets

Deletes assets by id, in batches.

Parameters

Prop

Type

Returns

{ data: { success: boolean, deletedCount: number } }.

Example

Terminal
curl --request DELETE \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Api-Version: 2026-05-20' \
  --header 'Content-Type: application/json' \
  --url 'https://api.raster.app/organizations/monogram-labs/libraries/barcelona/assets' \
  --data '{"ids":["abc123","def456"]}'

On this page