Legacy campaigns (deprecated)
Deprecated compatibility endpoints. New integrations should use Recipes plus explicit canvas and image operations.
Every operation on this page is deprecated. They remain callable for existing integrations only. Build new work on Recipes plus explicit canvas operations and image calls, and observe it through Runs.
Base URL: https://app.gavana.ai/api/canvas-agent/v1 · Authentication: HTTP bearer, token format cba_<token-id>.<secret>
Operations
| Operation | Purpose | Scopes |
|---|---|---|
GET /campaigns | List legacy campaign runs | canvas:read, canvas:write, asset:read, image:generate, job:manage |
GET /campaigns/{runId} | Get a legacy campaign run | canvas:read, canvas:write, asset:read, image:generate, job:manage |
DELETE /campaigns/{runId} | Cancel a legacy campaign run | canvas:read, canvas:write, asset:read, image:generate, job:manage |
POST /campaigns/{runId}/review | Review a legacy campaign run | canvas:read, canvas:write, asset:read, image:generate, job:manage |
POST /campaigns/plan | Plan a legacy campaign | canvas:read, canvas:write, asset:read |
POST /campaigns/start | Start a legacy campaign | canvas:read, canvas:write, asset:read, image:generate, job:manage |
GET /campaigns
List legacy campaign runs
- Operation id:
listLegacyCampaignRuns - Scopes: Requires
canvas:read+canvas:write+asset:read+image:generate+job:manage.
Parameters
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
canvasId | query | string | No | Optional plain canvas id used to filter or scope the request. Pattern ^[A-Za-z0-9_-]{1,180}$. |
Responses
| Status | Payload | Meaning |
|---|---|---|
200 | object | Deprecated campaign compatibility results. |
default | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
200 response body
| Field | Type | Required | Notes |
|---|---|---|---|
runs | array of object | Yes | — |
Example
curl "https://app.gavana.ai/api/canvas-agent/v1/campaigns" \
-H "Authorization: Bearer $GAVANA_AGENT_TOKEN"GET /campaigns/{runId}
Get a legacy campaign run
- Operation id:
getLegacyCampaignRun - Scopes: Requires
canvas:read+canvas:write+asset:read+image:generate+job:manage.
Parameters
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
runId | path | string | Yes | Pattern ^(?:run:)?[A-Za-z0-9_-]{1,180}$. |
Responses
| Status | Payload | Meaning |
|---|---|---|
200 | object | A deprecated campaign compatibility result. |
default | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
Example
curl "https://app.gavana.ai/api/canvas-agent/v1/campaigns/run:4c7a9e12" \
-H "Authorization: Bearer $GAVANA_AGENT_TOKEN"DELETE /campaigns/{runId}
Cancel a legacy campaign run
Retired mutation surface. Returns 410 unless legacy compatibility is explicitly enabled by the server operator.
- Operation id:
cancelLegacyCampaignRun - Scopes: Requires
canvas:read+canvas:write+asset:read+image:generate+job:manage. - Runtime: legacy-compatibility
Parameters
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
runId | path | string | Yes | Pattern ^(?:run:)?[A-Za-z0-9_-]{1,180}$. |
Responses
| Status | Payload | Meaning |
|---|---|---|
200 | object | A deprecated campaign compatibility result. |
410 | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
default | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
Example
curl -X DELETE "https://app.gavana.ai/api/canvas-agent/v1/campaigns/run:4c7a9e12" \
-H "Authorization: Bearer $GAVANA_AGENT_TOKEN"POST /campaigns/{runId}/review
Review a legacy campaign run
Retired mutation surface. Returns 410 unless legacy compatibility is explicitly enabled by the server operator.
- Operation id:
reviewLegacyCampaignRun - Scopes: Requires
canvas:read+canvas:write+asset:read+image:generate+job:manage. - Runtime: legacy-compatibility
Parameters
| Parameter | In | Type | Required | Notes |
|---|---|---|---|---|
runId | path | string | Yes | Pattern ^(?:run:)?[A-Za-z0-9_-]{1,180}$. |
Request body (application/json, required)
Responses
| Status | Payload | Meaning |
|---|---|---|
200 | object | A deprecated campaign compatibility result. |
202 | object | A deprecated campaign compatibility result. |
410 | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
default | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
Example
curl -X POST "https://app.gavana.ai/api/canvas-agent/v1/campaigns/run:4c7a9e12/review" \
-H "Authorization: Bearer $GAVANA_AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'POST /campaigns/plan
Plan a legacy campaign
Retired mutation surface. Returns 410 unless legacy compatibility is explicitly enabled by the server operator.
- Operation id:
planLegacyCampaign - Scopes: Requires
canvas:read+canvas:write+asset:read. - Runtime: legacy-compatibility
Request body (application/json, required)
Responses
| Status | Payload | Meaning |
|---|---|---|
200 | object | A deprecated campaign compatibility result. |
201 | object | A deprecated campaign compatibility result. |
410 | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
default | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
Example
curl -X POST "https://app.gavana.ai/api/canvas-agent/v1/campaigns/plan" \
-H "Authorization: Bearer $GAVANA_AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'POST /campaigns/start
Start a legacy campaign
Retired mutation surface. Returns 410 unless legacy compatibility is explicitly enabled by the server operator.
- Operation id:
startLegacyCampaign - Scopes: Requires
canvas:read+canvas:write+asset:read+image:generate+job:manage. - Runtime: legacy-compatibility
Request body (application/json, required)
Responses
| Status | Payload | Meaning |
|---|---|---|
200 | object | A deprecated campaign compatibility result. |
202 | object | A deprecated campaign compatibility result. |
410 | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
default | ErrorResponse | A stable machine-readable error. The response always includes X-Request-ID. |
Example
curl -X POST "https://app.gavana.ai/api/canvas-agent/v1/campaigns/start" \
-H "Authorization: Bearer $GAVANA_AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Errors
Every failure uses the shared error envelope described in Errors and X-Request-ID. The response always carries X-Request-ID; share that value with support instead of the request payload.