Skip to content

Configure canvas triggers

POST /api/v1/laboratory/canvas-triggers/configure: request fields and declared response contract.

POST/api/v1/laboratory/canvas-triggers/configure

Authorization
PropertyValue
Permissionlab.write
Workspace scoperequired
Scope targetworkspace

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.idstringrequirednon-null—
data.generationintegerrequirednon-null—
data.status"active" | "paused" | "revoked"requirednon-null—
data.definitionobjectrequirednon-null—
data.definition.companyIdstringrequirednon-null—
data.definition.workspaceIdstringrequirednon-null—
data.definition.actorMemberIdstringrequirednon-null—
data.definition.targetunknownrequirednon-null—
data.definition.sourceunknownrequirednon-null—
data.lastDeliveryobjectoptionalnon-null—
data.lastDelivery.scheduledAtstringrequirednon-null—
data.lastDelivery.outcome"accepted" | "expired"requirednon-null—
data.lastDelivery.reasonstringoptionalnon-null—

Declared failures

Declared failures
PropertyValue
ACCESS_DENIED403 — not retryable
APPROVAL_REQUIRED403 — not retryable
CONFLICT409 — not retryable
CORE_ERROR500 — not retryable
GOVERNANCE_DENIED403 — not retryable
NOT_FOUND404 — not retryable
QUOTA_DENIED429 — retryable
REBASE_CONFLICT409 — not retryable
REVISION_CONFLICT409 — retryable
SETUP_REQUIRED503 — not retryable
VALIDATION_ERROR400 — not retryable
VALIDATION_INPUT_ERROR400 — 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>