Getting Started
Make your first authenticated request to the Raster REST API.
The Raster REST API gives you read and write access to your libraries through
plain, resource-oriented HTTP endpoints — easy to call with curl, any HTTP
client, or a no-code tool. It mirrors the GraphQL API over the
same data and the same API keys.
The REST API is in Alpha. Endpoints, response shapes, and behavior may
change before the Beta release. Pin a version with the Api-Version header
(see below) and track every change in the changelog.
The endpoint
All REST resources live under a single base URL:
https://api.raster.app/organizationsRequests must be made over HTTPS and must include both an API key and an
Api-Version header. Plain HTTP, unauthenticated, and unversioned requests are
rejected. See Authentication for the full
header contract.
Required headers
Every REST request carries exactly two required headers:
| Header | Value | Notes |
|---|---|---|
Authorization | Bearer <API_KEY> | API key with the right access level for the libraries you target. |
Api-Version | 2026-05-20 | Date string. The current version is 2026-05-20. |
Every response carries Vary: Api-Version so HTTP caches key bodies per
version — your CDN or browser will never serve a body shaped for a different
version of the API.
Response envelope
Every response is one of two shapes:
// Success
{ "data": <result> }
// Failure
{ "error": { "code": "ERROR_CODE", "message": "Human-readable message." } }The shape is stable across endpoints, so a generic client can dispatch on
"data" in response without parsing per-endpoint payloads. See
Errors for the full code reference.
Quickstart
The fastest way to confirm your key works is to list the libraries your key can reach.
Create an API key
In your organization settings, generate a key and enable Read access for at least one library. Full instructions are in Authentication.
List your libraries
Replace <API_KEY> with your key and monogram-labs with your organization
slug:
curl --request GET \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Api-Version: 2026-05-20' \
--url 'https://api.raster.app/organizations/monogram-labs/libraries'The response is {"data": [ { "id": "barcelona", "name": "Barcelona", ... } ] }.
List the assets in a library
Pick a library from the previous response and fetch its assets:
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'Where to go next
- Authentication — API keys, the
Api-Versionheader, and the access-level rules every request is checked against. - Endpoints — every route, the parameters it takes,
and a runnable
curlexample. - Errors — the error envelope, every code, and the HTTP status each one maps to.
- Changelog — every notable change, by version.
Prefer GraphQL? The GraphQL API covers the same surface and uses the same API keys. Mix and match as needed.