Ratify and activate a draft
POST/api/public/v1/aip/drafts/{public_id}/ratify beta
Ratifies at once every intent policy confirmed on the draft whose capability is enforce or defer, and attaches the AIP to the one zone saved on the draft in its mode (409 ONE_ZONE_PER_AIP for more); the refused and left-out intent policies are dropped. For an edit draft, a new version of the same AIP. An agent (OAuth) caller must send sentences, the exact sentences this puts in force: 428 SENTENCES_REQUIRED without them, 409 SENTENCES_MISMATCH unless they match.
curl --fail-with-body -X POST 'https://app.openlatch.ai/api/public/v1/aip/drafts/<draft_public_id>/ratify' \ -H "Authorization: Bearer $OPENLATCH_API_KEY" \ -H 'Content-Type: application/json' \ -d '{"revision":<revision>,"sentences":<sentences>}'import jsonimport osimport urllib.request
body = '{"revision":<revision>,"sentences":<sentences>}'request = urllib.request.Request( 'https://app.openlatch.ai/api/public/v1/aip/drafts/<draft_public_id>/ratify', method='POST', data=body.encode(), headers={ 'Authorization': 'Bearer ' + os.environ['OPENLATCH_API_KEY'], 'Content-Type': 'application/json', },)with urllib.request.urlopen(request) as response: text = response.read().decode() print(json.dumps(json.loads(text), indent=2) if text else response.status)#!/usr/bin/env bashset -euo pipefail
curl -sS --fail-with-body -X POST 'https://app.openlatch.ai/api/public/v1/aip/drafts/<draft_public_id>/ratify' \ -H "Authorization: Bearer $OPENLATCH_API_KEY" \ -H 'Content-Type: application/json' \ -d '{"revision":<revision>,"sentences":<sentences>}' | jq .$headers = @{ Authorization = "Bearer $env:OPENLATCH_API_KEY"}$body = '{"revision":<revision>,"sentences":<sentences>}'Invoke-RestMethod -Method POST -Uri 'https://app.openlatch.ai/api/public/v1/aip/drafts/<draft_public_id>/ratify' -Headers $headers -ContentType 'application/json; charset=utf-8' -Body $body | ConvertTo-Json -Depth 20Authorization
Section titled “Authorization”| Role in the organization | This endpoint |
|---|---|
owner | Allowed |
admin | Allowed |
editor | Allowed |
viewer | Not allowed |
A key carries the role its owner holds in the organization. See Authentication.
API key scope: aip:write
Path parameters
Section titled “Path parameters”| Parameter | Type | Description |
|---|---|---|
public_id | string | Required. |
Header parameters
Section titled “Header parameters”| Parameter | Type | Description |
|---|---|---|
Idempotency-Key | string or null | Optional. Makes the request safe to retry: the same key and the same request, within 24 hours, returns the stored response with Idempotent-Replayed: true and runs once. |
Request body
Section titled “Request body”| Field | Type | Description |
|---|---|---|
revision | integer | Required. |
sentences | array of string or null | The exact sentences this call puts in force, as shown to the user. Required of an agent (OAuth) caller: 428 SENTENCES_REQUIRED without them, 409 SENTENCES_MISMATCH unless they match the sentences put in force (the same sentences, order ignored, each as many times as it appears, after Unicode NFC and whitespace normalisation). |
Response
Section titled “Response”- 200 OK — the call succeeded.
- 400 Bad Request —
BAD_REQUEST - 401 Unauthorized —
UNAUTHORIZED - 402 Payment Required —
license_expired - 403 Forbidden —
FEATURE_DISABLED,FORBIDDEN,INSUFFICIENT_SCOPE - 404 Not Found —
NOT_FOUND - 409 Conflict —
DICTIONARY_TABLE_EXISTS,DRAFT_NOT_PREPARED,EDIT_DRAFT_STALE,IDEMPOTENCY_IN_PROGRESS,ONE_ZONE_PER_AIP,SENTENCES_MISMATCH - 422 Unprocessable Content —
IDEMPOTENCY_KEY_REUSED,INVALID_ID,INVALID_PATTERN,NOTHING_RATIFIED,NO_ZONE,VALIDATION_ERROR,ZONE_UNAVAILABLE - 428 Precondition Required —
SENTENCES_REQUIRED - 429 Too Many Requests —
TOO_MANY_REQUESTS - 500 Internal Server Error —
INTERNAL_SERVER_ERROR,tenant_isolation_violation - 503 Service Unavailable —
ENGINE_UNAVAILABLE,FEATURE_STATE_UNAVAILABLE,SERVICE_UNAVAILABLE
Response fields
Section titled “Response fields”| Field | Type | Description |
|---|---|---|
data | object | Required. |
data.dropped | array of string | Required. |
data.policy_public_id | string | Required. |
data.ratified | array of string | Required. |
data.version | integer | Required. |
Example response
Section titled “Example response”{ "data": { "dropped": [ "string" ], "policy_public_id": "3f6c1a2e-8b4d-4c1f-9a7e-0d5b2c8e4f10", "ratified": [ "string" ], "version": 3 }}