Skip to main content

Trigger Delivery

Trigger delivery for a structuring run by emitting delivery signals for all approved results. Returns delivered and skipped counts.

Manually trigger delivery for an entire structuring run. This emits delivery signals for all approved results in the run, routing them to configured delivery destinations (webhooks, S3, SFTP, etc.). Results that have not been approved are skipped. Use this after batch-approving results or when you want explicit control over when data leaves the platform.

This endpoint triggers delivery for all approved results in the run. There is no undo. Ensure all results have been reviewed before calling this endpoint in production workflows.
POST/v1/structuring/delivery/{runId}

Response

Response fields

statusstringAlways triggered on success.
run_idstringUUID of the job run delivery was triggered for.
messagestringConfirmation message.

Response

{
  "status": "triggered",
  "run_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "message": "Structuring delivery triggered."
}

Errors

Error responses

401unauthorizedMissing or invalid API key.
404not_foundJob run not found or does not belong to your organization.
429rate_limitedToo many requests. Retry after the period indicated in the Retry-After header.

This endpoint is idempotent per result -- each approved result generates a deterministic idempotency key, so calling it multiple times on the same run does not produce duplicate deliveries. The typical workflow is: approve results individually via POST /v1/structuring/approvals/{id}/approve, then trigger delivery for the entire run once all reviews are complete.