Raster
Guides

Start without an account

Spin up a Raster library, upload images, and get a working CDN URL with one call. No signup or key is needed up front, and the user claims the library later from an emailed link.

An AI agent can give someone a working, organized image library before they create a Raster account. One call with an email address mints a new organization, a starter library, and a ready-to-use API key. The agent uploads and organizes right away, and the person receives a link to claim the library into a real account when they want to keep it.

The flow at a glance

Create

One call with the user's email returns an organizationId, a libraryId, an apiKey, and a claimUrl. You need no account or key beforehand.

Work

Use the returned key as a normal Bearer token to upload, tag, search, and describe assets. Every standard tool and endpoint works against the new library.

Hand off

Give the user the claimUrl (it is also emailed). They open it, sign in, and the library, with everything in it, becomes theirs on a real account.

Create the library

The full parameter and response tables are at POST /libraries and the create_organization MCP tool. Pick the transport your client uses.

create_organization needs no Bearer key because it mints one. Call it on the no-account endpoint https://mcp.raster.app/anonymous with the user's email:

{
  "name": "create_organization",
  "arguments": { "email": "<your-email>", "name": "Q3 campaign" }
}

It returns the organizationId, libraryId, apiKey, and claimUrl. Connect to the main endpoint https://mcp.raster.app/ and use that apiKey as the Bearer token for every following tool call.

The apiKey is returned once. Persist it the moment you receive it. You cannot read it back until the user claims the library and reveals it from settings.

Upload and organize

The returned apiKey, organizationId, and libraryId are everything the standard asset surface needs. Tag and describe what you add so the library is useful the moment the user opens it. The full loop is in Using Raster from an AI agent.

Over REST, upload is a multipart/form-data request with a files field. See POST /organizations/:orgId/libraries/:libraryId/assets:

Upload files
curl --request POST \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Api-Version: 2026-07-08' \
  --url 'https://api.raster.app/organizations/<organizationId>/libraries/<libraryId>/assets' \
  --form 'files=@/path/to/photo.jpg'

Over MCP, upload_asset also accepts a public http(s) URL the server fetches for you, or inline base64. The URL option suits an agent that has a link rather than a local file.

Each returned asset carries a permanent CDN url. Share those links with the user directly. Uploads process asynchronously and appear in lists and search a few seconds later.

The library is held for a claim window after creation. POST /libraries gives the exact length and the per-email cap on active unclaimed libraries. The claim link is emailed when the address accepts mail and is always returned as claimUrl. Give it to the user yourself so the hand-off does not depend on email delivery.

When the user opens claimUrl and signs in, the library and every asset in it transfer to their account, and the API key you used becomes a normal key they can manage in settings. A library left unclaimed when the window closes is removed along with its images.

An unclaimed library is temporary. Prompt the user to claim it before the window closes so their work is kept. Creating past the per-email cap returns 400 BAD_USER_INPUT.

A prompt you can reuse

Configure an agent to run this flow on its own. The prompt has an MCP and a REST version. Pick a tab.

When a user without a Raster account asks you to store or organize images:

1. Call `create_organization` on the no-account endpoint
   `https://mcp.raster.app/anonymous` with their email. Save the returned
   `organizationId`, `libraryId`, and `apiKey` right away; the `apiKey` is shown
   only once. Make every later call on the main endpoint `https://mcp.raster.app/`
   with that `apiKey` as the Bearer token.
2. Upload their images with `upload_asset` or `upload_assets`, passing a public
   http(s) URL when you have one and base64 otherwise. Then make them findable with
   `tag_assets` and `update_asset_description`.
3. Processing is asynchronous, so re-run `list_assets` a few seconds later to
   confirm an upload landed. Share each asset's permanent `url` and the library URL,
   `https://raster.app/<organizationId>/<libraryId>`.
4. Give the user the returned `claimUrl` and tell them to open it and sign in within
   the claim window to keep this library and everything in it on a real account.
   Surface the `claimUrl` yourself, since the hand-off holds even when email delivery
   is uncertain.

Clients that load agent skills can fetch Raster's published raster-api skill from https://raster.app/.well-known/agent-skills/index.json, or install it into any coding agent with the skills CLI.

For the focused prompts that cover connecting, adding, organizing, finding, and restructuring once an account exists, see Reusable prompts by use case.

Where to go next

On this page