Message reference

Every OCP 1.0 message and core object, generated from the normative Zod contracts. Message tables show the payload fields (the envelope {v, id, type, ts, sid?, replyTo?} is common to all). Each links to its machine-readable JSON Schema.

Messages

action.request

action-request.json
FieldTypeReq.Constraints
actionIdstringlen 10–64
toolstring
inputobject
turnIdstring

action.result

action-result.json
FieldTypeReq.Constraints
actionIdstring
okboolean
outputany
errorstringlen 0–500

context.set

context-set.json
FieldTypeReq.Constraints
revinteger≥ 0
urlstringlen 0–2048
resourceobject
selectionobject
viewobject
FieldTypeReq.Constraints
code"AUTH_EXPIRED" | "SCOPE_DENIED" | "RATE_LIMITED" | "NONCE_USED" | "SESSION_GONE" | "TURN_ABORTED" | "CONTEXT_TOO_LARGE" | "PAIR_DENIED" | "UNSUPPORTED" | "INTERNAL"
messagestringlen 0–500
retryableboolean
detailsobject

session.heartbeat

heartbeat.json

No fields.

pair.approval_request

pair-approval-request.json
FieldTypeReq.Constraints
claimIdstring
deviceobject
expiresAtinteger

pair.approval_response

pair-approval-response.json
FieldTypeReq.Constraints
claimIdstring
approvedboolean

pair.linked

pair-linked.json
FieldTypeReq.Constraints
deviceobject
scopesstring[]
tier"t0" | "t1" | "t2"

pair.revoked

pair-revoked.json
FieldTypeReq.Constraints
by"surface" | "hub" | "admin"

session.closed

session-closed.json
FieldTypeReq.Constraints
reason"surface_gone" | "revoked" | "ttl_idle" | "ttl_absolute" | "error" | "user"

session.linked

session-linked.json
FieldTypeReq.Constraints
sidstring
capabilitiesobject
tier"t0" | "t1" | "t2"
scopesstring[]
resumeKeystring

session.open

session-open.json
FieldTypeReq.Constraints
capabilitiesobject
resumeKeystringlen 16–256

session.refresh

session-refresh.json

No fields.

session.refreshed

session-refreshed.json
FieldTypeReq.Constraints
tokenstringlen 20–∞
expiresIninteger

session.resumed

session-resumed.json
FieldTypeReq.Constraints
peer"surface" | "companion"

session.suspended

session-suspended.json
FieldTypeReq.Constraints
peer"surface" | "companion"
graceMsinteger

tools.advertise

tools-advertise.json
FieldTypeReq.Constraints
toolsobject[]

turn.cancel

turn-cancel.json
FieldTypeReq.Constraints
turnIdstring

turn.citation

turn-citation.json
FieldTypeReq.Constraints
turnIdstring
indexinteger
resourceobject
quotestringlen 0–500

turn.delta

turn-delta.json
FieldTypeReq.Constraints
turnIdstring
textstring
FieldTypeReq.Constraints
turnIdstring
contextRevinteger≥ 0
usageobject

turn.error

turn-error.json
FieldTypeReq.Constraints
turnIdstring
code"TURN_ABORTED" | "RATE_LIMITED" | "SCOPE_DENIED" | "INTERNAL"
messagestringlen 0–500

turn.input

turn-input.json
FieldTypeReq.Constraints
turnIdstringlen 10–64
textstringlen 1–8000
audioRefstringlen 0–512
langstringlen 2–35

ui.request

ui-request.json
FieldTypeReq.Constraints
requestIdstringlen 10–64
kind"confirm" | "choice" | "notice"
titlestringlen 0–200
bodystringlen 0–2000
optionsobject[]
expiresAtinteger
actionIdstring

ui.response

ui-response.json
FieldTypeReq.Constraints
requestIdstring
resultstringlen 0–64
peer"surface" | "companion"

Core objects

any-message

any-message.json

No fields.

capabilities

capabilities.json
FieldTypeReq.Constraints
profilesobject[]
stt"device" | "hub" | "none"
tts"device" | "hub" | "none"
localesstring[]
audioboolean
toolsboolean
FieldTypeReq.Constraints
revinteger≥ 0
urlstringlen 0–2048
resourceobject
selectionobject
viewobject

embed-config

embed-config.json
FieldTypeReq.Constraints
siteKeystringlen 1–128
hubstringuri
allowedOriginsstring[]
FieldTypeReq.Constraints
vstring
idstringlen 10–64
typestringlen 1–64
tsinteger
sidstringlen 16–128
replyTostringlen 10–64
payloadany

error-code

error-code.json

No fields.

error-payload

error-payload.json
FieldTypeReq.Constraints
code"AUTH_EXPIRED" | "SCOPE_DENIED" | "RATE_LIMITED" | "NONCE_USED" | "SESSION_GONE" | "TURN_ABORTED" | "CONTEXT_TOO_LARGE" | "PAIR_DENIED" | "UNSUPPORTED" | "INTERNAL"
messagestringlen 0–500
retryableboolean
detailsobject

host-to-widget

host-to-widget.json

No fields.

pair-claim

pair-claim.json
FieldTypeReq.Constraints
jwsstringlen 20–∞
devicePubKeyobject
attestationstring
deviceobject

pair-token-claims

pair-token-claims.json
FieldTypeReq.Constraints
vstring
issstringuri
sidstringlen 22–∞
noncestringlen 22–∞
expinteger
iatinteger
capstringuri

profile-ref

profile-ref.json
FieldTypeReq.Constraints
name"core" | "embed" | "companion" | "provider"
versionstring

resource-ref

resource-ref.json
FieldTypeReq.Constraints
kindstringlen 1–64
idstringlen 1–256
titlestringlen 0–500
FieldTypeReq.Constraints
namestringlen 1–128
descriptionstringlen 0–1000
inputSchemaobject
location"hub" | "surface"
writeboolean

well-known

well-known.json
FieldTypeReq.Constraints
ocpobject
issuerstringuri
jwks_uristringuri
ws_endpointstringuri
profilesobject[]

widget-to-host

widget-to-host.json

No fields.