Approve schema migrations
POST /api/v1/ontology/migrations/plans/{planId}/approve: request fields and declared response contract.
POST/api/v1/ontology/migrations/plans/{planId}/approve
| Permission | ontology.migrations.approve |
|---|---|
| Workspace scope | required |
| Scope target | workspace |
Parameters
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| planId | string | required | non-null | — |
Query parameters: none.
Response
200
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| data | object | required | non-null | — |
| data.id | string | required | non-null | — |
| data.companyId | string | required | non-null | — |
| data.workspaceId | string | required | non-null | — |
| data.kind | string | required | non-null | — |
| data.diffFingerprint | string | required | non-null | — |
| data.changes | array | required | non-null | — |
| data.impacts | array | required | non-null | — |
| data.steps | array | required | non-null | — |
| data.status | "draft" | "approved" | "applied" | "abandoned" | required | non-null | — |
| data.createdByMemberId | string | optional | non-null | — |
| data.approvedByMemberId | string | optional | non-null | — |
| data.appliedAt | string | optional | non-null | — |
| data.createdAt | string | required | non-null | — |
| data.updatedAt | string | required | non-null | — |
Declared failures
| ONTOLOGY_MIGRATIONS_APPROVE_FAILED | 400 — not retryable |
|---|
Readback
Read the result back with:
- ontology.migrations.get
Request example
Schematic only. Replace placeholders with real values and include all required nested fields.
POST /api/v1/ontology/migrations/plans/{planId}/approve HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>