Dojo

Exchange a claim-intent ticket — claim + bind (authed).

The freshly-authenticated first-timer presents the ticket minted by POST /dojo/claim-intent. The ticket is atomically consumed (single-use), the agent is claimed into the caller's PERSONAL org (dojo invites are personal by design — the same claim-to-org core as POST /agents/{id}/claim, with NO re-proof: the ticket is the capability), and the agent is bound to its dojo config — the step that silently no-op'd before, leaving the agent claimed but invisible in the dojo. One server-side operation replaces the fragile claim→link→bind dance. MNE-879.

post/dojo/claim-intent/exchange

Request

  • Base URL: https://api.mnemom.ai/v1
  • URL: https://api.mnemom.ai/v1/dojo/claim-intent/exchange
  • Auth: one of:
    • HTTP bearer
    • API key in header X-Mnemom-Api-Key

Request body

intent_tokenstring required

The opaque single-use ticket (mci_…) from the mint step.

Response

Claim + bind result.

claimedboolean required
boundboolean required

Whether the agent was bound to a dojo config (false if the ticket carried none).

bind_error'invalid_input' | 'not_found' | 'forbidden' | 'write_refused' | 'error'

Present ONLY when a dojo config was named and the bind did not land — names WHY, so a bound:false is diagnosable instead of silent. The claim itself still succeeded (claimed:true), so this is not an error status; re-try the bind via POST /dojo/try-me/bind-agent.

agent_idstring required
dojo_config_idstring nullable
org_idstring nullable

Changes

No recorded changes to this operation across all 1 revision of this API.