{"name":"Ofides","description":"Check authority before consequential AI actions. Ofides returns ALLOW, REVIEW or DENY, issues signed receipts, and can proactively surface opted-in legal, technical, and economic intelligence.","version":"1.0.0","supportedInterfaces":[{"url":"https://staging-api.ofides.com/v1/agent/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"provider":{"organization":"Ofides","url":"https://ofides.com"},"capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":true},"securitySchemes":{"ofides":{"oauth2SecurityScheme":{"description":"Pre-registered resource-bound confidential machine client. Discovery remains anonymous.","flows":{"clientCredentials":{"tokenUrl":"https://staging-auth.ofides.com/v1/auth/oauth2/token","scopes":{"agent-actions:connect":"quote_action","agent-actions:record":"record_action","agent-actions:protect":"protect_action","agent-actions:route":"route_action","receipts:verify":"verify_receipt","jobs:read":"get_transaction_status"}}},"oauth2MetadataUrl":"https://staging-auth.ofides.com/.well-known/oauth-authorization-server"}}},"securityRequirements":[{"schemes":{"ofides":{"list":["agent-actions:connect"]}}}],"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"ofides.discover","name":"Discover Ofides","description":"Discover when and how to use Ofides to check authority before consequential actions, escalate REVIEW safely, record outcomes, and verify signed evidence. Discovery itself grants no authority.","tags":["discovery","read-only"],"examples":["I am about to change production code, configuration, access, or another external system. Which Ofides capability should I use before acting?","I need to send a consequential external message on behalf of an owner. How should I check authority and handle REVIEW?","I have an Ofides receipt from a prior action. How do I verify exactly what its signature and evidence prove?"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{}}]},{"id":"quote_action","name":"quote action","description":"Request a bounded offer for a prospective action so the Agent can learn required constraints before attempting it. A quote never grants authority.","tags":["protected-actions","quote_action"],"examples":["What constraints apply before I attempt this consequential external action?"],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"ofides":{"list":["agent-actions:connect"]}}}]},{"id":"record_action","name":"record action","description":"After an action or observation occurs elsewhere, preserve the Agent-reported outcome as signed, independently verifiable evidence. The receipt proves integrity and provenance, not external truth.","tags":["protected-actions","record_action"],"examples":["I already performed this action outside Ofides; preserve the reported outcome as signed evidence without treating my report as external truth."],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"ofides":{"list":["agent-actions:connect","agent-actions:record"]}}}]},{"id":"protect_action","name":"protect action","description":"Before changing an external system or performing another owner-sensitive action, check the exact request against current owner-confirmed authority. ALLOW permits the exact action, REVIEW means stop for owner approval, and DENY means do not execute. The Agent cannot self-approve.","tags":["protected-actions","protect_action"],"examples":["Before I send this external message, merge this code change, or modify this system, check whether the exact action is ALLOW, REVIEW, or DENY."],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"ofides":{"list":["agent-actions:connect","agent-actions:protect"]}}}]},{"id":"route_action","name":"route action","description":"When separately enabled, submit an already-authorized exact action for bounded execution. Authentication, quotes and payment never replace current action authority.","tags":["protected-actions","route_action"],"examples":["Execute this already-authorized exact action through its configured Ofides connection without widening the approved authority."],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"ofides":{"list":["agent-actions:connect","agent-actions:route"]}}}]},{"id":"verify_receipt","name":"verify receipt","description":"Independently recheck receipt integrity, signer/key currentness and proof limits before relying on the receipt. Verification does not upgrade external claims into observed truth.","tags":["protected-actions","verify_receipt"],"examples":["Verify this Ofides receipt before I rely on its integrity, signer binding, or stated proof limits."],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"ofides":{"list":["agent-actions:connect","receipts:verify"]}}}]},{"id":"get_transaction_status","name":"get transaction status","description":"Read the current lifecycle state for this exact admitted transaction so the Agent can wait or reconcile instead of blindly retrying a consequential action.","tags":["protected-actions","get_transaction_status"],"examples":["Check whether this admitted protected action is pending, completed, denied, or requires reconciliation before I retry anything."],"inputModes":["application/json"],"outputModes":["application/json"],"securityRequirements":[{"schemes":{"ofides":{"list":["agent-actions:connect","jobs:read"]}}}]}]}