Configure canvas triggers
POST /api/v1/laboratory/canvas-triggers/configure: request fields and declared response contract.
POST/api/v1/laboratory/canvas-triggers/configure
| Property | Value |
|---|---|
| Permission | lab.write |
| Workspace scope | required |
| Scope target | workspace |
Response
201
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| data | object | required | non-null | — |
| data.id | string | required | non-null | — |
| data.generation | integer | required | non-null | — |
| data.status | "active" | "paused" | "revoked" | required | non-null | — |
| data.definition | object | required | non-null | — |
| data.definition.companyId | string | required | non-null | — |
| data.definition.workspaceId | string | required | non-null | — |
| data.definition.actorMemberId | string | required | non-null | — |
| data.definition.target | unknown | required | non-null | — |
| data.definition.source | unknown | required | non-null | — |
| data.lastDelivery | object | optional | non-null | — |
| data.lastDelivery.scheduledAt | string | required | non-null | — |
| data.lastDelivery.outcome | "accepted" | "expired" | required | non-null | — |
| data.lastDelivery.reason | string | optional | non-null | — |
Declared failures
| Property | Value |
|---|---|
| ACCESS_DENIED | 403 — not retryable |
| APPROVAL_REQUIRED | 403 — not retryable |
| CONFLICT | 409 — not retryable |
| CORE_ERROR | 500 — not retryable |
| GOVERNANCE_DENIED | 403 — not retryable |
| NOT_FOUND | 404 — not retryable |
| QUOTA_DENIED | 429 — retryable |
| REBASE_CONFLICT | 409 — not retryable |
| REVISION_CONFLICT | 409 — retryable |
| SETUP_REQUIRED | 503 — not retryable |
| VALIDATION_ERROR | 400 — not retryable |
| VALIDATION_INPUT_ERROR | 400 — not retryable |
Readback
Read the result back with:
- laboratory.canvasTriggers.read
Request example
Schematic only. Replace placeholders with real values and include all required nested fields.
POST /api/v1/laboratory/canvas-triggers/configure HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>