Skip to content

Developers

Use Autonomous Marketing from your own tools

Pull the ads, videos and images your workspace creates into your own scripts, dashboards and automations with a workspace API key.

Overview

Everything in the app goes through the same API. A workspace API key (scs_live_…) gives a server you control read access to the workspace's library — for example to publish approved creatives somewhere else.

API keys

A key belongs to exactly one workspace and acts with the editor role. It can only call the routes listed below; everything else answers 401 unauthorized. Revoke a key any time in Settings → API keys — it stops working immediately.

Create a key

  1. 1As a workspace admin, open Settings → API keys and click Create key.
  2. 2Copy the secret. It starts with scs_live_ and is shown only once.
  3. 3Store it in your server's secret manager and send it with every request.

Authentication

Send the key in the X-Studio-Key header. The base URL is https://symia-cloud--autonomous-marketing-api.modal.run. Requests and responses are JSON, snake_case, timestamps in UTC.

List approved videos
curl "https://symia-cloud--autonomous-marketing-api.modal.run/v1/workspaces/ws_…/assets?kind=video&review_status=approved&limit=20" \
  -H "X-Studio-Key: scs_live_…"
Response
{
  "items": [
    { "id": "ast_…", "kind": "video", "title": "Spring launch — hook 2", "ratio": "9:16", "url": "https://…", "review_status": "approved" }
  ],
  "next_cursor": null
}

What a key can call

RouteWhat it does
GET /v1/workspaces/{ws}/assetsList videos, images, audio and documents. Filters: q, origin, kind, ratio, folder_id, project_id, brand_id, review_status.
GET /v1/workspaces/{ws}/assets/{ast}One asset with its lineage (parent, variations, translations).

Lists return {"items": […], "next_cursor": "…" | null}. Pass ?limit=50&cursor=… to page. Media URLs are signed and expire after a few hours — read the asset again for a fresh one.

Keep the key on your server. Never put scs_live_… in browser code or a mobile app — anyone with it can act as an editor in your workspace.

Errors & limits

Every error has the same shape, plus an X-Request-Id header to quote to support.

Error
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or revoked API key.",
    "detail": null
  }
}
  • 401 unauthorized — missing, wrong or revoked key, or a route a key can't call.
  • 404 not_found — the id doesn't exist in the key's workspace.
  • 422 validation_failed — the body is invalid; detail says which field.
  • 429 rate_limited — slow down and retry after the Retry-After seconds.
Questions? Contact Autonomous Marketing support. © Mantinea LLC Back to the app