Raster

Changelog

Every notable change to the Raster GraphQL API, by version.

This page tracks every notable change to the Raster GraphQL API. The format follows Keep a Changelog, and the API follows Semantic Versioning.

The API is in Alpha. Until the Beta release, minor versions may include breaking changes — review this page before upgrading an integration.

0.6.0-alpha — 2026-06-03

Added

  • viewer query — resolve your key's { organizationId, organizationName, plan, libraries } from just the key (the bootstrap before any org-scoped call). See viewer.
  • asset query — fetch a single asset by id; missing / cross-library / trashed all return a 404. See asset.
  • createLibrary mutation — create a library in an org you have a key for (grants it to your key + shows it to the team); needs a key with write access. See createLibrary.
  • renameLibrary mutation — rename a library. See renameLibrary.

Changed

  • deleteAssets now moves assets to trash (soft delete) instead of deleting them immediately, matching the web app. Assets leave assets / searchAssets at once but stay recoverable and are removed after 30 days. ids returns the assets actually moved (so ids.length matches the message count); the call is idempotent (re-deleting already-trashed ids → Moved 0, ids: [], success: true). See deleteAssets.

0.5.0-alpha — 2026-05-28

Added

  • Batch-tag, untag, transfer, and re-describe assets over GraphQL. Four new mutations round out the metadata surface — agents and clients can now keep tags, descriptions, and library organization in sync without falling back to the web app:
    • tagAssets — apply up to 20 tags to up to 100 assets, returns TagAssetsResult { taggedCount: Int! }. Idempotent on pairs the asset already carries; reserved tags (index, trash) are rejected with BAD_USER_INPUT before any write. See tagAssets.
    • untagAssets — symmetric remove, returns UntagAssetsResult { untaggedCount: Int! }. See untagAssets.
    • updateAssetDescription — store a single asset's description verbatim, returns UpdateAssetDescriptionResult { assetId: ID!, description: String! }. See updateAssetDescription.
    • transferAssets — move up to 100 assets to another library in the same organization, returns TransferAssetsResult { transferredCount: Int!, sourceLibraryId: ID!, targetLibraryId: ID! }. Cross-org transfer is rejected with BAD_USER_INPUT. See transferAssets.
  • New result types: TagAssetsResult, UntagAssetsResult, UpdateAssetDescriptionResult, TransferAssetsResult.

0.4.0-alpha — 2026-05-27

Added

Removed

  • Uploader.integration removed from the schema. Clients selecting uploadedBy { integration } must drop the field. The Uploader type is now { name: String }. Allowed under the Alpha policy at the top of this page.

0.3.0-alpha — 2026-05-22

Added

  • Six new fields on Asset, exposing metadata already captured at upload. Existing queries are unaffected; clients can select the new fields when they're useful:
    • contentType: String — MIME content type (e.g. image/jpeg).
    • size: Float — file size in bytes. null for older assets.
    • created: Float — creation time as unix milliseconds.
    • updated: Float — last-modified time as unix milliseconds. Bumped on rename / tag edit / view-edit save — useful for cache invalidation and "sort by recently updated" UX.
    • thumbHighUrl: String — higher-resolution thumbnail CDN URL for retina / 2× displays. null for older assets.
    • uploadedBy: Uploader — attribution for the user who uploaded the asset. See the Uploader change below for the new shape.
  • Two new fields on Uploader (see Removed for the breaking part of this change):
    • name: String — display name of the uploader.
    • integration: String — the source the asset was added through. null when no source is recorded.

Changed

  • More accurate HTTP status codes on errors. Several errors that previously surfaced as 400 now return their proper status — for example ORGANIZATION_NOT_FOUND is 404. The same coded error now returns the same status on both the GraphQL and REST APIs. Clients dispatching on extensions.code are unaffected; only clients switching on extensions.http.status see the new values.

Removed

  • Asset.parentId removed from the schema. Clients querying assets { parentId } must drop the field. The parentId field on AssetView (returned inside Asset.views[]) is unaffected.
  • Uploader.uid removed from the schema. Clients selecting uploadedBy { uid } must drop the field and select name / integration instead. Allowed under the Alpha policy at the top of this page.

0.2.0-alpha — 2024-08-13

Added

  • assets query: page and pageSize parameters for pagination.
  • assets query: tags parameter to filter by up to 5 tags.
  • Library type: a tags field returning detailed tag information.
  • New tags query for retrieving a library's tags.

Changed

  • assets now returns both user-created and AI-generated tags.

Security

  • Hardened API key authentication checks for library access.

0.1.0-alpha — 2023-06-20

Added

  • Initial Alpha release of the Raster GraphQL API.
  • Queries for assets, libraries, and tags.
  • API key authentication.

Security

  • Introduced API key authentication for all queries.

On this page