Skip to content

Start model runs

POST /api/v1/predictive-models/runs: request fields and declared response contract.

POST/api/v1/predictive-models/runs

Authorization
PermissiondataPipelines.manage
Workspace scoperequired
Scope targetworkspace

Request body

Request body fields
FieldTypeRequiredNullableDefault
objectiveIdstringrequirednon-null—
dataDefinitionIdstringrequirednon-null—
projectKeystringrequirednon-null—
projectVersionintegerrequirednon-null—
executorKindstringrequirednon-null—
resourceClassstringrequirednon-null—
maxSpendUsdMicrosintegerrequirednon-null—
deadlineAtstringrequirednon-null—
executorConfigRefstringoptionalnon-null—
requestKeystringoptionalnon-null—

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.runIdstringrequirednon-null—
data.companyIdstringrequirednon-null—
data.workspaceIdstringrequirednon-null—
data.workUnitIdstringrequirednon-null—
data.status"requested" | "waiting_capacity" | "preparing" | "starting" | "running" | "cancel_requested" | "succeeded" | "failed" | "cancelled" | "blocked"requirednon-null—
data.revisionintegerrequirednon-null—
data.refsobjectrequirednon-null—
data.refs.objectiveIdstringrequirednon-null—
data.refs.dataDefinitionIdstringrequirednon-null—
data.refs.projectKeystringrequirednon-null—
data.refs.projectVersionintegerrequirednon-null—
data.refs.executorKindstringrequirednon-null—
data.refs.resourceClassstringrequirednon-null—
data.refs.maxSpendUsdMicrosintegerrequirednon-null—
data.refs.deadlineAtstringrequirednon-null—
data.refs.executorConfigRefstringoptionalnon-null—
data.admissionAttemptintegerrequirednon-null—
data.receiptobjectoptionalnon-null—
data.receipt.workUnitIdstringrequirednon-null—
data.receipt.revisionstringrequirednon-null—
data.receipt.poolsarrayrequirednon-null—
data.receipt.expiresAtEpochSecondsintegerrequirednon-null—
data.receipt.policyobjectoptionalnon-null—
data.receipt.policy.envelopeIdstringrequirednon-null—
data.receipt.policy.pinnedAtstringrequirednon-null—
data.receipt.policy.limitsobjectrequirednon-null—
data.reservationExpiresAtstringoptionalnon-null—
data.blockedReasonstringoptionalnon-null—
data.supervisorKeystringoptionalnon-null—
data.createdAtstringrequirednon-null—
data.updatedAtstringrequirednon-null—
data.statusUpdatedAtstringrequirednon-null—

Declared failures

Declared failures
ACCESS_DENIED403 — not retryable
CORE_ERROR500 — not retryable
GOVERNANCE_DENIED403 — not retryable
QUOTA_DENIED429 — retryable
REQUEST_IDENTITY_INTENT_CONFLICT409 — not retryable
VALIDATION_ERROR400 — not retryable
VALIDATION_INPUT_ERROR400 — not retryable

Durable identity

Durable identity
Kindrequest-identity
Request fieldsrequestKey
ConflictREQUEST_IDENTITY_INTENT_CONFLICT

Readback

The effect completes asynchronously; reacquire the result with:

  • predictiveModels.runs.read

Request example

Schematic only. Replace placeholders with real values and include all required nested fields.

POST /api/v1/predictive-models/runs HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json

{
  "objectiveId": "<objectiveId>",
  "dataDefinitionId": "<dataDefinitionId>",
  "projectKey": "<projectKey>",
  "projectVersion": 0,
  "executorKind": "<executorKind>",
  "resourceClass": "<resourceClass>",
  "maxSpendUsdMicros": 0,
  "deadlineAt": "<deadlineAt>"
}