Agents
Owner-authorized agent identity lifecycle.
Register an agent
/open/v1/agentsBinds an owner-derived AgentId to its first agent action public key.
agent_id must equal
blake2b256("dopa_open::agent_id::v1" || owner || allocation_nonce);
the allocation nonce is caller-generated 32-byte randomness, so the
id is never a form field. The authenticator signs the registration
canonical payload.
Refusals: 400 invalid_input, request_expired,
unsupported_owner_authenticator, malformed_owner_authenticator,
agent_id_allocation_mismatch; 401 invalid_owner_signature;
403 owner_authenticator_address_mismatch; 409 agent_id_conflict;
413 (declared body over 65536 bytes); 503 backend_unavailable.
Request Body
application/jsonstringMust equal blake2b256("dopa_open::agent_id::v1" || owner || allocation_nonce).
stringA commitment to owner-authored metadata; no display-profile resolution is defined by this API.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 0·max 9223372036854776000When present, must be after created_at_ms.
Responses
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 1·max 4294967295Key generations start at 1 and only append.
integer[]·min 1·max 8Strictly increasing; at most 8 entries.
stringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchRead one registration
/open/v1/agents/{agent_id}The complete registration view, including append-only key and status
history. Refusals: 400 invalid_input; 404 unknown_agent;
503 backend_unavailable.
Path Parameters
Responses
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 1·max 4294967295Key generations start at 1 and only append.
integer[]·min 1·max 8Strictly increasing; at most 8 entries.
stringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchRotate the agent action key
/open/v1/agents/{agent_id}/key-rotationsAppends the next key generation; history is preserved and each
execution stays bound to the exact generation it admitted. The body's
agent_id must equal the path's. The authenticator signs the
rotation canonical payload.
Refusals: 400 invalid_input, request_expired,
unsupported_owner_authenticator, malformed_owner_authenticator;
401 invalid_owner_signature; 403
owner_authenticator_address_mismatch, registered_owner_mismatch;
404 unknown_agent; 409 stale_generation,
agent_key_history_capacity_reached; 410 registration_expired,
agent_revoked; 413; 503 backend_unavailable.
Path Parameters
Request Body
application/jsoninteger·min 1·max 4294967295Key generations start at 1 and only append.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
Responses
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 1·max 4294967295Key generations start at 1 and only append.
integer[]·min 1·max 8Strictly increasing; at most 8 entries.
stringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchRevoke the registration
/open/v1/agents/{agent_id}/revocationsEnds new entries and acceptances for the agent. Revocation does not
replace a key inside an active execution and does not invalidate
historical receipts; the registration stays readable with its full
history. Refusal set matches key rotation (minus
agent_key_history_capacity_reached).
Path Parameters
Request Body
application/jsoninteger·min 1·max 4294967295Key generations start at 1 and only append.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
Responses
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 0·max 9223372036854776000Unix milliseconds; bounded to fit a signed 64-bit store.
integer·min 1·max 4294967295Key generations start at 1 and only append.
integer[]·min 1·max 8Strictly increasing; at most 8 entries.
stringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchstringunsupported_owner_authenticatormalformed_owner_authenticatorinvalid_owner_signatureowner_authenticator_address_mismatchagent_id_allocation_mismatchWas this helpful?