Skip to content

Create model objectives

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

POST/api/v1/predictive-models/objectives

Authorization
PermissiondataPipelines.manage
Workspace scoperequired
Scope targetworkspace

Request body

Request body fields
FieldTypeRequiredNullableDefault
objectiveKeystringrequirednon-null—
namestringrequirednon-null—
taskType"binary_classification" | "multiclass_classification" | "regression"requirednon-null—
contractobjectrequirednon-null—
contract.contractVersionintegeroptionalnon-null1
contract.predictionHorizonobjectrequirednon-null—
contract.predictionHorizon.unit"days" | "weeks" | "months"requirednon-null—
contract.predictionHorizon.amountintegerrequirednon-null—
contract.semanticInputsarrayrequirednon-null—
contract.outputobjectrequirednon-null—
contract.output.targetNamestringrequirednon-null—
contract.output.valueType"boolean" | "number" | "category"requirednon-null—
contract.output.categoriesarrayoptionalnon-null—
contract.successMeasuresarrayrequirednon-null—

Response

201

Response fields
FieldTypeRequiredNullableDefault
dataobjectrequirednon-null—
data.idstringrequirednon-null—
data.companyIdstringrequirednon-null—
data.workspaceIdstringrequirednon-null—
data.objectiveKeystringrequirednon-null—
data.revisionintegerrequirednon-null—
data.state"draft" | "active" | "archived"requirednon-null—
data.namestringrequirednon-null—
data.taskType"binary_classification" | "multiclass_classification" | "regression"requirednon-null—
data.contractobjectrequirednon-null—
data.contract.contractVersionintegerrequirednon-null1
data.contract.predictionHorizonobjectrequirednon-null—
data.contract.predictionHorizon.unit"days" | "weeks" | "months"requirednon-null—
data.contract.predictionHorizon.amountintegerrequirednon-null—
data.contract.semanticInputsarrayrequirednon-null—
data.contract.outputobjectrequirednon-null—
data.contract.output.targetNamestringrequirednon-null—
data.contract.output.valueType"boolean" | "number" | "category"requirednon-null—
data.contract.output.categoriesarrayoptionalnon-null—
data.contract.successMeasuresarrayrequirednon-null—
data.createdAtstringrequirednon-null—
data.updatedAtstringrequirednon-null—

Declared failures

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

Readback

Read the result back with:

  • predictiveModels.objective.read

Request example

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

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

{
  "objectiveKey": "<objectiveKey>",
  "name": "<name>",
  "taskType": "binary_classification",
  "contract": {}
}