Skip to content

Drives one binding towards its desired state.

POST
/v1/m/sessions/protocol-bindings/{id}/reconcile
curl --request POST \
--url 'https://example.com/v1/m/sessions/protocol-bindings/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/reconcile?mode=validate' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "plan_hash": "example" }'

Drives one binding towards its desired state. The execution mode is REQUIRED and explicit — validate, plan, test or apply — and an unrecognized one is refused rather than defaulted, so a caller can never reach the applying path by omitting a parameter.

id
required
string format: uuid
/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/

Path parameter id.

X-Olivares-Tenant
string format: uuid

Target tenant id; required when the principal can act in more than one tenant.

Idempotency-Key
string format: uuid

UUID required when mode=apply; reuse it only for an exact retry.

If-Match
string
/^\"v[1-9][0-9]*\"$/

Strong ProtocolBinding ETag required when mode=apply; when supplied in another mode it must match the current version.

If-Plan-Hash
string
/^(sha256:)?[0-9A-Fa-f]{64}$/

Optional SHA-256 plan hash. It must agree with body.plan_hash when both are supplied and must match the current reconciliation plan.

mode
required
string
Allowed values: validate plan test apply

Mandatory reconciliation phase. validate and plan are local and observational; test reads the peer without a local write; apply revalidates and commits the observation.

Media type application/json

Optional reconciliation plan precondition. No body is required in any mode; apply requires If-Match but does not require a plan hash.

object
plan_hash

Optional plan precondition; it must agree with If-Plan-Hash when both are supplied.

string
/^(sha256:)?[0-9A-Fa-f]{64}$/
Example generated
{
"plan_hash": "example"
}

OK

Media type application/json
object
Example generated
{}

Bad request

Media type application/json
object
Example generated
{}

Unauthenticated

Media type application/json
object
Example generated
{}

Forbidden

Media type application/json
object
Example generated
{}

Not found

Media type application/json
object
Example generated
{}

Conflict / setup required

Media type application/json
object
Example generated
{}

ETag or plan precondition failed

Media type application/json
object
Example generated
{}

Strong ETag required for apply

Media type application/json
object
Example generated
{}

Rate limited

Media type application/json
object
Example generated
{}

Remote observation is unavailable

Media type application/json
object
Example generated
{}