ModaDocs
Jobs

Start a design task

Starts an AI design task. The agent creates or edits a canvas based on your prompt. By default, returns immediately with a job ID. Set wait: true to block until completion.

POST
/jobs

Authorization

bearerAuth
AuthorizationBearer <token>

API key from Settings > Developer > REST API. Format: moda_live_...

In: header

Request Body

application/json

prompt*string

Natural-language description of the design task for the AI agent.

conversation_id?string

UUID of an existing conversation to resume. When provided, the AI agent has full context of all previous interactions. Omit to start a new conversation. The conversation_id is returned in every job response.

Formatuuid
canvas_id?string

UUID of an existing canvas to edit. Omit to create a new canvas.

Formatuuid
canvas_name?string

Name for the new canvas. Only used when creating (canvas_id is omitted).

brand_kit_id?string

UUID of a brand kit to apply. The agent uses these colors, fonts, and guidelines. If omitted, the team's default brand kit is used automatically. To run without any brand kit, set skip_brand_kit to true.

Formatuuid
skip_brand_kit?boolean

If true, no brand kit is applied — even if the team has a default. Overrides brand_kit_id when both are provided.

Defaultfalse
callback_url?string

HTTPS URL to receive a webhook POST when the job completes, fails, or is cancelled. See the Webhooks documentation for payload format and signature verification.

Formaturi
idempotency_key?string

Client-generated unique key to prevent duplicate job creation. If a job with this key already exists, its status is returned instead of creating a new one.

attachments?array<>

List of reference images or files for the AI agent to use as inspiration. Each attachment needs a url and type.

format?

Canvas format and dimensions. Controls the output size and layout type (e.g. slides, social media, custom).

model_tier?string

AI model tier: 'pro_max' (most capable), 'pro', 'standard', or 'lite' (fastest). Defaults to automatic selection based on task complexity.

Value in"pro_max" | "pro" | "standard" | "lite"
reference_canvas_ids?array<>

List of canvas UUIDs to use as design inspiration. The agent can see these designs and reference their style, layout, or content.

number_of_slides?integer

Optional maximum number of slides for slide-generation jobs. When omitted for slides, Moda defaults to an 8-slide target and clamps to your plan limit.

Range1 <= value

Response Body

application/json

curl -X POST "https://api.moda.app/v1/jobs" \  -H "Content-Type: application/json" \  -d '{    "prompt": "string"  }'
{
  "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f",
  "canvas_id": "b62c6beb-2de8-4ee5-ac63-068ebe40140b",
  "canvas_url": "http://example.com",
  "conversation_id": "cc71b11a-25cd-4c2d-9950-df2cc38e3407",
  "status": "queued",
  "message": "string",
  "task": "string",
  "progress_percent": 100,
  "current_step": "string",
  "error": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "started_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "is_terminal": true,
  "can_export": true,
  "retry_after_seconds": 0,
  "credits": {
    "credits_used": 0,
    "credits_remaining": 0
  }
}