{"schemaVersion":"2026-06-26","apiVersion":"0.1","name":"BoxFetch Connector","description":"BoxFetch Connector provides controlled access to the BoxFetch Originals launch catalog. A claimed agent connects through OAuth human consent or a registered BoxFetch bearer, searches and previews bounded Original projections, and acquires an eligible Original from a durable quote. Seller publication and media tools are unavailable on ordinary launch connectors.","baseUrl":"https://app.boxfetch.ai","endpoint":"/api/mcp/standard","mcpEndpoint":"/api/mcp/standard","protectedMcpEndpoint":"/api/mcp/standard","standardMcpEndpoint":"/api/mcp/standard","publicBootstrapEndpoint":"/api/mcp/public","externalBearerToolApiEndpoint":"/api/mcp/external","surfaces":{"registeredBearerToolApi":{"endpoint":"/api/mcp/external","method":"POST","primaryRequestShape":"{ toolName, ...input }","alsoSupports":["{ tool, input }","{ name, arguments }"],"role":"secondary_registered_bearer_integration","authProfile":"registered_bearer","isConnectorPath":true,"isStandardJsonRpcMcp":false,"tools":["search_assets","preview_asset","quote_asset","purchase_asset","get_purchase_approval","submit_usage_feedback","get_asset_content","acquire_boxfetch_package"]},"standardJsonRpcAdapter":{"endpoint":"/api/mcp/standard","method":"POST","methods":["initialize","notifications/initialized","tools/list","tools/call"],"authRequired":true,"isConnectorPath":true,"supportedProtocolVersions":["2025-11-25","2025-06-18"],"authProfiles":["mcp_oauth_2_1_authorization_code_pkce","registered_bearer"],"primaryAuthProfile":"mcp_oauth_2_1_authorization_code_pkce","registeredBearerAccepted":true,"registeredBearerToolProfile":"fixed_default_seven_tool_launch","oauthDiscoverySupported":true,"protectedResourceMetadata":"/.well-known/oauth-protected-resource/api/mcp/standard","authorizationServerMetadata":"/.well-known/oauth-authorization-server","codeChallengeMethodsSupported":["S256"],"originValidated":true,"jsonRpcBatching":false,"sessionLifecycle":{"sessionsIssued":true,"sessionHeader":"Mcp-Session-Id","initialize":"issues_session","initializedNotification":"activates_session","delete":"terminates_session_204_or_404","get":"405_no_sse_stream"}},"publicBootstrapMcp":{"endpoint":"/api/mcp/public","method":"POST","authRequired":false,"isConnectorPath":false,"methods":["initialize","notifications/initialized","tools/list","tools/call"],"supportedProtocolVersions":["2025-11-25","2025-06-18"],"tools":[{"name":"boxfetch_discover","title":"Discover BoxFetch","description":"Describe BoxFetch, what it sells, and exactly what this caller can do now versus what needs a human or a credential. Takes no input. Start here.","capability":"public_unauthenticated","inputSchema":{"type":"object","additionalProperties":false,"properties":{}}},{"name":"boxfetch_search_public","title":"Search public BoxFetch Originals","description":"Search the approved controlled-beta BoxFetch Original catalog without an account. Returns public-safe fields only: no full content, provider URL, signed URL, storage key, or seller identity.","capability":"public_unauthenticated","inputSchema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":200,"description":"Free-text problem or outcome, e.g. \"Stripe webhook signature verification\"."},"category":{"type":"string","maxLength":80},"contentKind":{"type":"string","maxLength":40},"free":{"type":"boolean","description":"Restrict to zero-price listings."},"licenseType":{"type":"string","maxLength":40},"verifiedOnly":{"type":"boolean","description":"Restrict to listings BoxFetch reports as verified."},"cursor":{"type":"string","maxLength":512,"description":"Opaque cursor from a previous page. Bound to the exact filter set."},"limit":{"type":"integer","minimum":10,"maximum":20}}}},{"name":"boxfetch_get_public_item","title":"Read one public BoxFetch Original","description":"Read the public-safe detail for one discoverable BoxFetch Original by its stable asset id. Never returns entitled content.","capability":"public_unauthenticated","inputSchema":{"type":"object","additionalProperties":false,"required":["assetId"],"properties":{"assetId":{"type":"string","maxLength":64,"description":"Stable public asset id from a search result."}}}},{"name":"boxfetch_register_agent","title":"Register a provisional agent identity","description":"Create a provisional, unowned agent identity. Returns an absolute claim URL to show your human (it contains no secret) plus a separate polling secret you keep for yourself. An agent cannot own itself: a human must sign in and confirm the claim before any authorization exists.","capability":"human_handoff","inputSchema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","maxLength":80,"description":"Optional display name the human will see on the claim page. Rendered as plain text."}}}},{"name":"boxfetch_check_claim_status","title":"Check claim status","description":"Poll the claim you started, using the polling secret from boxfetch_register_agent. Returns bounded state only: pending, expired, or claimed. It never returns a credential — once claimed, connect to the protected MCP endpoint and complete the standard OAuth authorization your client already knows how to do.","capability":"human_handoff","inputSchema":{"type":"object","additionalProperties":false,"required":["claimPollSecret"],"properties":{"claimPollSecret":{"type":"string","minLength":16,"maxLength":256,"description":"The polling secret from boxfetch_register_agent. Request body only — never put it in a URL, a log, or anything you show a human."}}}}],"sessionLifecycle":{"sessionsIssued":true,"sessionHeader":"Mcp-Session-Id","initialize":"issues_session","initializedNotification":"activates_session","delete":"terminates_session_204_or_404","get":"405_no_sse_stream"}}},"agentOnboarding":{"capabilityClasses":["public_unauthenticated","human_handoff","agent_authenticated","human_authenticated"],"steps":[{"id":"discover","capability":"public_unauthenticated","method":"GET","path":"/.well-known/boxfetch-mcp","description":"Read this document. No credential required."},{"id":"connect_public_mcp","capability":"public_unauthenticated","method":"POST","path":"/api/mcp/public","description":"MCP Streamable HTTP handshake with no credential. Exposes only the five bootstrap tools."},{"id":"search_public_inventory","capability":"public_unauthenticated","method":"GET","path":"/api/public/agentic/search","description":"Search the allowlisted controlled-beta Original catalog anonymously. Public-safe fields only."},{"id":"read_public_item","capability":"public_unauthenticated","method":"GET","path":"/api/public/agentic/items/{assetId}","description":"Read one allowlisted Original by its stable public asset id. Never returns entitled content."},{"id":"register_provisional_agent","capability":"human_handoff","method":"POST","path":"/api/public/agentic/agents/register","description":"Create a provisional, unowned agent identity and receive an absolute claim URL for your human."},{"id":"human_claims_agent","capability":"human_handoff","method":"BROWSER","path":"/claim/agent","description":"Your human signs in or signs up and explicitly confirms the claim. An agent cannot do this itself."},{"id":"await_human_claim","capability":"human_handoff","method":"POST","path":"/api/public/agentic/agents/claim-status","description":"Poll with the body-only claimPollSecret. Returns claim state only, never a credential."},{"id":"connect_protected_mcp","capability":"agent_authenticated","method":"POST","path":"/api/mcp/standard","description":"Connect with no credential and follow OAuth discovery, PKCE, and human consent for the selected agent and scopes."},{"id":"acquire_original","capability":"agent_authenticated","method":"POST","path":"/api/mcp/standard","description":"Take a durable quote for an allowlisted Original, then call purchase_asset with that quoteId and an idempotency key. An eligible launch acquisition is captured immediately: no approval request is created and there is nothing to poll."},{"id":"retrieve_original_package","capability":"agent_authenticated","method":"POST","path":"/api/mcp/standard","description":"Call get_asset_content with the captured purchaseId to read the acquired Original, or omit purchaseId to use the eligible launch-access path. Container delivery through this tool is deferred."},{"id":"acquire_package_one_step","capability":"agent_authenticated","method":"POST","path":"/api/mcp/standard","description":"Call acquire_boxfetch_package with the exact assetId you selected and an idempotency key. It composes the quote, the acquisition, the entitlement, and the entitled delivery, and returns the package handoff plus the exact runtime handoff needed to verify, cache, and execute it. Approval-required acquisitions return the approval identity and no executable handoff."}],"claimStatusReturnsCredential":false,"credentialIssuedThroughOauthAuthorization":true,"agentMayClaimItself":false,"agentMayApproveOwnPurchase":false,"notes":"An agent may create its own PROVISIONAL identity but may never own itself, accept platform terms for a human, verify a human email, complete provider consent, set its own spending limits, or approve its own purchase. The public claimRequestId is the only claim value in the human URL. The separate claimPollSecret is returned only to the registering agent and must be sent in a request body, never in a URL or human message."},"manifestUrl":"/api/public/mcp/manifest","openapiUrl":"/api/public/openapi","docsUrl":"https://boxfetch.ai/mcp","guideUrl":"https://boxfetch.ai/mcp/guide","marketplaceUrl":"https://boxfetch.ai/marketplace","llmsTxtUrl":"/llms.txt","wellKnownUrl":"/.well-known/boxfetch-mcp","publicMcpEndpoint":"/api/mcp/public","publicSearchUrl":"/api/public/agentic/search","publicItemUrlTemplate":"/api/public/agentic/items/{assetId}","agentRegisterUrl":"/api/public/agentic/agents/register","agentClaimStatusUrl":"/api/public/agentic/agents/claim-status","humanClaimUrl":"/claim/agent","signupUrl":"/signup","loginUrl":"/login","guide":"https://boxfetch.ai/mcp/guide","showcase":"https://boxfetch.ai/marketplace","auth":"bearer","status":"controlled_beta_originals_only","purchaseRequiresHumanAccount":true,"purchaseRequiresCredits":false,"launchCatalog":"controlled_beta_originals_only","launchAcquisitionModel":"originals_launch_access","walletFundingRequiredForLaunch":false,"publicSellerPublishingEnabled":false,"creditsAreCash":false,"creditsBuyerRedeemable":false,"sellerExternalPayoutEnabled":false,"officialConnectorListed":false,"publicMediaDiscoveryEnabled":false,"idempotency":{"requiredFor":["purchase_asset","acquire_boxfetch_package","prepare_original_run","inspect_original_run","start_original_run","cancel_original_run","prepare_original_run_teardown","start_original_run_teardown"],"acceptedHeader":"Idempotency-Key","acceptedBodyField":"idempotencyKey","notes":"purchase_asset, acquire_boxfetch_package, and every controlled-run mutation require an idempotency key. Replays of the same key with the same body return the original outcome; conflicting bodies are rejected. One key is scoped to one tool: reusing an acquisition key on a different tool is a conflict, not a replay."},"rateLimit":{"policy":"fixed_window","scopes":["per_token","per_agent","per_user","per_user_per_tool"],"retryAfterSeconds":true,"notes":"Durable DB-backed fixed-window rate limits applied per token, per agent, per user across agents, and per user/per tool across agents. Standardized rate-limit errors include retryAfterSeconds."},"errors":{"shape":"json","fields":["error","reasonCodes","retryAfterSeconds?","details?"],"classes":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","missing_purchase_id","missing_approval_request_id","idempotency_conflict","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","mcp_tool_failed"]},"connector":{"name":"BoxFetch Connector","version":"0.1","auth":"registered_bearer","endpoint":"/api/mcp/external","transport":"flattened_http_tool_api","catalog":"boxfetch_originals","mode":"external_agent","idempotency":{"requiredFor":["purchase_asset","acquire_boxfetch_package"],"acceptedHeader":"Idempotency-Key","acceptedBodyField":"idempotencyKey"},"rateLimits":{"policy":"fixed_window","retryAfterSeconds":true}},"tools":[{"name":"search_assets","description":"Search the allowlisted controlled-beta BoxFetch Original catalog. Returns bounded public-safe Original summaries only.","input":{"optional":["limit","offset","query","category","contentKind","free","maxPriceCredits","licenseType","trust","seller"]},"output":"Bounded allowlisted Original summaries with stable pagination metadata.","idempotencyRequired":false,"inputSchema":{"type":"object","additionalProperties":false,"properties":{"limit":{"type":"integer","minimum":1,"maximum":25,"default":20},"offset":{"type":"integer","minimum":0,"maximum":500,"description":"Zero-based offset for filtered search."},"query":{"type":"string","maxLength":200,"description":"Free-text problem or outcome."},"category":{"type":"string","maxLength":80},"contentKind":{"type":"string","maxLength":40},"free":{"type":"boolean","description":"Restrict to zero-price listings."},"maxPriceCredits":{"type":"string","pattern":"^\\d+$","description":"Inclusive maximum price in credits."},"licenseType":{"type":"string","maxLength":80},"trust":{"type":"string","enum":["verified"],"description":"Restrict to listings BoxFetch reports as verified."},"seller":{"type":"string","maxLength":120,"description":"Public publisher label filter; the launch catalog publisher is BoxFetch Original."}}},"outputSchema":{"type":"object","required":["assets","limit","returned","truncated","offset","totalMatched","nextOffset","rankingVersion"],"additionalProperties":false,"properties":{"assets":{"type":"array","items":{"type":"object","required":["id","slug","title","description","category","previewText","providerLabel","cardSummary","compatibilityLabel","originalLabel","zeroCredit","priceCredits","licenseType","contentKind","contentSizeBytes","trust"],"additionalProperties":false,"properties":{"id":{"type":"string","description":"Public asset identifier."},"slug":{"type":"string","description":"Canonical BoxFetch Original slug."},"title":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","const":"boxfetch-original-kit"},"previewText":{"type":"string","description":"Buyer-safe technical preview only, never entitled content."},"providerLabel":{"type":"string"},"cardSummary":{"type":"string"},"compatibilityLabel":{"type":"string"},"originalLabel":{"type":"string","const":"BoxFetch Original"},"zeroCredit":{"type":"boolean","const":true},"priceCredits":{"type":"string","const":"0"},"licenseType":{"type":"string"},"contentKind":{"type":["string","null"]},"contentSizeBytes":{"type":["integer","null"],"minimum":0},"trust":{"type":"object","required":["publisher","packageIntegrity","offlineLifecycle","liveProviderExecution","rightsOrOwnership"],"additionalProperties":false,"properties":{"publisher":{"type":"string","const":"BoxFetch Original"},"packageIntegrity":{"type":"string","const":"committed_release_verified"},"offlineLifecycle":{"type":"string","const":"offline_package_verified"},"liveProviderExecution":{"type":"string","const":"not_included"},"rightsOrOwnership":{"type":"string","const":"ownership_attested"}}}}}},"limit":{"type":"integer","minimum":1,"maximum":25},"returned":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"offset":{"type":"integer","minimum":0},"totalMatched":{"type":"integer","minimum":0},"nextOffset":{"type":["integer","null"],"minimum":0},"rankingVersion":{"type":"string"}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer"},{"name":"preview_asset","description":"Return a bounded preview for one allowlisted BoxFetch Original. Never returns entitled content or storage details.","input":{"required":["assetId"]},"output":"One bounded public-safe Original projection without entitled content.","idempotencyRequired":false,"inputSchema":{"type":"object","required":["assetId"],"additionalProperties":false,"properties":{"assetId":{"type":"string"}}},"outputSchema":{"type":"object","required":["ok","asset"],"additionalProperties":false,"properties":{"ok":{"type":"boolean"},"asset":{"type":"object","required":["id","slug","title","description","category","previewText","providerLabel","cardSummary","compatibilityLabel","originalLabel","zeroCredit","priceCredits","licenseType","contentKind","contentSizeBytes","trust"],"additionalProperties":false,"properties":{"id":{"type":"string","description":"Public asset identifier."},"slug":{"type":"string","description":"Canonical BoxFetch Original slug."},"title":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","const":"boxfetch-original-kit"},"previewText":{"type":"string","description":"Buyer-safe technical preview only, never entitled content."},"providerLabel":{"type":"string"},"cardSummary":{"type":"string"},"compatibilityLabel":{"type":"string"},"originalLabel":{"type":"string","const":"BoxFetch Original"},"zeroCredit":{"type":"boolean","const":true},"priceCredits":{"type":"string","const":"0"},"licenseType":{"type":"string"},"contentKind":{"type":["string","null"]},"contentSizeBytes":{"type":["integer","null"],"minimum":0},"trust":{"type":"object","required":["publisher","packageIntegrity","offlineLifecycle","liveProviderExecution","rightsOrOwnership"],"additionalProperties":false,"properties":{"publisher":{"type":"string","const":"BoxFetch Original"},"packageIntegrity":{"type":"string","const":"committed_release_verified"},"offlineLifecycle":{"type":"string","const":"offline_package_verified"},"liveProviderExecution":{"type":"string","const":"not_included"},"rightsOrOwnership":{"type":"string","const":"ownership_attested"}}}}}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer"},{"name":"quote_asset","description":"Issue a durable single-use quote for one allowlisted BoxFetch Original, binding its current acquisition and content identity for purchase_asset.","input":{"required":["assetId"]},"output":"A durable quote id, current launch price, issue and expiry times, and approval posture.","idempotencyRequired":false,"inputSchema":{"type":"object","required":["assetId"],"additionalProperties":false,"properties":{"assetId":{"type":"string"}}},"outputSchema":{"type":"object","required":["assetId","quotedPriceMicrousd","expiresAt"],"additionalProperties":true,"properties":{"assetId":{"type":"string"},"quoteId":{"type":"string","description":"Durable single-use quote id; pass to purchase_asset."},"quotedPriceMicrousd":{"type":"string","pattern":"^\\d+$"},"priceCredits":{"type":"string","pattern":"^\\d+$"},"currency":{"type":"string","default":"USD"},"issuedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"requiresApproval":{"type":"boolean"},"freshnessSeconds":{"type":"integer","minimum":0}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer"},{"name":"purchase_asset","description":"Acquire one quoted BoxFetch Original under its human owner’s policy. Requires an idempotency key. An eligible launch Original is captured at once and creates no approval request.","input":{"required":["quoteId","idempotencyKey"],"optional":["userTask","intendedUse"]},"output":"A captured entitlement result or a pending human approval request, with bounded retrieval metadata only after capture.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["quoteId","idempotencyKey"],"additionalProperties":false,"properties":{"quoteId":{"type":"string","description":"Durable single-use quote id from quote_asset. Content- and price-bound at capture. Required on the hosted connector."},"userTask":{"type":"string","maxLength":300,"description":"Optional bounded, inert plain-text purpose surfaced in the human approval card."},"intendedUse":{"type":"string","maxLength":300,"description":"Optional bounded, inert plain-text intended use surfaced in the human approval card."},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required idempotency key. Also accepted as Idempotency-Key header."}}},"outputSchema":{"type":"object","additionalProperties":true,"properties":{"ok":{"type":"boolean"},"purchaseId":{"type":"string"},"quoteId":{"type":"string"},"approvalRequired":{"type":"boolean"},"approvalRequestId":{"type":"string"},"contentUrl":{"type":"string","description":"Legacy session route pointer. MCP agents should use get_asset_content with assetId and purchaseId."},"agentDownloadUrl":{"type":"string","description":"Bearer-authenticated MCP container download URL. Present only for captured container purchases; bytes are never returned inline."},"agentContainerRetrievalSupported":{"type":"boolean","description":"True when the container can be retrieved through agentDownloadUrl after entitlement."},"contentKind":{"type":["string","null"]},"mimeType":{"type":["string","null"]},"sizeBytes":{"type":["integer","null"],"minimum":0},"sha256":{"type":["string","null"]},"fullContentDemo":{"type":["string","null"],"description":"Legacy demo assets only, and null for every Markdown-backed Original. Markdown-backed assets use get_asset_content."}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresIdempotencyKey":true,"rateLimitNote":"Subject to per-token, per-agent, and per-user fixed-window limits."},{"name":"get_purchase_approval","description":"Poll a human owner decision for an acquisition that required approval. Eligible launch Originals are captured at once and never produce one. Restricted to canonical controlled-beta Originals.","input":{"required":["approvalRequestId"]},"output":"Pending, declined, expired, or captured owner-decision state for a canonical Original; retrieval metadata appears only after capture.","idempotencyRequired":false,"inputSchema":{"type":"object","required":["approvalRequestId"],"additionalProperties":false,"properties":{"approvalRequestId":{"type":"string"}}},"outputSchema":{"type":"object","required":["status"],"additionalProperties":true,"properties":{"status":{"type":"string","enum":["pending","declined","expired","captured"]},"purchaseId":{"type":"string"},"contentUrl":{"type":"string","description":"Legacy session route pointer. MCP agents should use get_asset_content with assetId and purchaseId."},"agentDownloadUrl":{"type":"string","description":"Bearer-authenticated MCP container download URL. Present only for captured container purchases; bytes are never returned inline."},"agentContainerRetrievalSupported":{"type":"boolean"},"contentKind":{"type":["string","null"]},"mimeType":{"type":["string","null"]},"sizeBytes":{"type":["integer","null"],"minimum":0},"sha256":{"type":["string","null"]},"fullContentDemo":{"type":["string","null"]}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer"},{"name":"get_agent_budget","description":"Read the calling agent’s bounded permission, approval, and spend-control snapshot.","input":{},"output":"The calling agent’s permission, approval, configured limit, period-spend, and remaining-limit snapshot.","idempotencyRequired":false,"inputSchema":{"type":"object","additionalProperties":false,"properties":{}},"outputSchema":{"type":"object","required":["agentId","availableCreditsMicrousd","canPurchase"],"additionalProperties":true,"properties":{"agentId":{"type":"string"},"agentStatus":{"type":"string"},"availableCreditsMicrousd":{"type":"string","pattern":"^\\d+$","description":"Canonical spendable BoxFetch credit balance in microUSD."},"pendingCreditsMicrousd":{"type":"string","pattern":"^\\d+$"},"availableCredits":{"type":"string","pattern":"^\\d+$","description":"The same balance in whole BoxFetch credits."},"sessionBudgetMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"dailyBudgetMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"monthlyBudgetMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"autoApproveBelowMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"requiresHumanApprovalAboveMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"autoPurchaseEnabled":{"type":"boolean"},"approvalRequiredAlways":{"type":"boolean"},"sessionSpendMicrousd":{"type":"string","pattern":"^\\d+$"},"dailySpendMicrousd":{"type":"string","pattern":"^\\d+$"},"monthlySpendMicrousd":{"type":"string","pattern":"^\\d+$"},"sessionRemainingMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"dailyRemainingMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"monthlyRemainingMicrousd":{"type":["string","null"],"pattern":"^\\d+$"},"todaySpendMicrousd":{"type":"string","pattern":"^\\d+$"},"todayPurchaseCount":{"type":"integer","minimum":0},"canPurchase":{"type":"boolean"},"canPreview":{"type":"boolean"}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer"},{"name":"get_asset_content","description":"Retrieve the exact BoxFetch Original package as Markdown: pass purchaseId to read a captured acquisition, or omit it to use the eligible launch-access path. Container delivery through this tool is currently deferred and returns a bounded denied decision; BoxFetch does not parse, unzip, execute, render, or scan containers.","input":{"required":["assetId"],"optional":["purchaseId"]},"output":"Eligible Original Markdown with its digest and size, or a bounded denied/throttled delivery decision including mcp_container_delivery_deferred; never inline container bytes and never a container download URL.","idempotencyRequired":false,"inputSchema":{"type":"object","required":["assetId"],"additionalProperties":false,"properties":{"assetId":{"type":"string"},"purchaseId":{"type":"string","description":"Optional. Narrows retrieval to one captured purchase; entitlement alone is otherwise sufficient."}}},"outputSchema":{"type":"object","oneOf":[{"required":["ok","kind","assetId","contentKind","storageKind","mimeType","title","markdown","sha256","sizeBytes"],"not":{"anyOf":[{"required":["status"]},{"required":["accessType"]}]},"properties":{"ok":{"const":true},"kind":{"const":"markdown"},"contentKind":{"const":"markdown"},"storageKind":{"const":"neon_text"},"mimeType":{"const":"text/markdown"},"legacyDemo":{"const":true}}},{"required":["ok","status","accessType","policyDecision","nextAction","reasonCodes","assetId","contentKind","mimeType","title","markdown","sha256","sizeBytes"],"not":{"anyOf":[{"required":["kind"]},{"required":["storageKind"]},{"required":["legacyDemo"]}]},"properties":{"ok":{"const":true},"status":{"const":"granted"},"accessType":{"const":"free"},"policyDecision":{"const":"auto_approve"},"nextAction":{"const":"return_safe_content"},"reasonCodes":{"type":"array","minItems":1,"maxItems":1,"items":{"const":"free_asset_allowed"}},"contentKind":{"const":"markdown"},"mimeType":{"const":"text/markdown"}}},{"required":["status","policyDecision","reasonCodes"],"not":{"required":["markdown"]},"properties":{"status":{"const":"denied"},"policyDecision":{"enum":["deny","approval_required"]},"nextAction":{"enum":["reject","create_approval_request"]},"reasonCodes":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}}}},{"required":["status","policyDecision","nextAction","reasonCodes","retryAfterSeconds"],"not":{"required":["markdown"]},"properties":{"status":{"const":"throttled"},"policyDecision":{"const":"throttle"},"nextAction":{"const":"throttle"},"reasonCodes":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":86400}}}],"additionalProperties":false,"properties":{"ok":{"type":"boolean"},"kind":{"type":"string","enum":["markdown"],"description":"Present only on an entitlement-bound Markdown payload. Absent on free access and on every delivery decision."},"assetId":{"type":"string","minLength":1},"status":{"type":"string","enum":["granted","denied","throttled"],"description":"Absent on an entitlement-bound content payload. `granted` on a free-access Markdown payload, which carries the body. `denied` or `throttled` on a delivery DECISION, which carries no content."},"accessType":{"type":"string","enum":["free"],"description":"Present only on a free-access payload: the body was released because the asset is free, not because the caller acquired it."},"policyDecision":{"type":"string","enum":["auto_approve","approval_required","deny","throttle"],"description":"The BoxFetch policy decision behind this response."},"nextAction":{"type":"string","enum":["return_safe_content","reject","create_approval_request","throttle"],"description":"return_safe_content on granted free access; reject or create_approval_request on a denied decision; throttle on a throttled decision."},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Stable policy reason codes for the decision that produced this response."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on a throttled delivery decision."},"reason":{"type":"string","maxLength":200,"description":"Present on a delivery decision: why no content was returned."},"contentKind":{"type":"string","description":"markdown on both success shapes. On a denied container decision, the seller-declared kind BoxFetch refused to deliver inline."},"mimeType":{"type":"string"},"title":{"type":["string","null"]},"markdown":{"type":"string","description":"The Original package body. Present on both success shapes and on neither decision."},"sizeBytes":{"type":"integer","minimum":0,"maximum":67108864},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"storageKind":{"type":"string","enum":["neon_text"],"description":"Present only on an entitlement-bound Markdown payload."},"legacyDemo":{"type":"boolean","enum":[true],"description":"Present only when the entitled body came from a legacy demo field rather than a content object."}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresPurchase":false},{"name":"submit_usage_feedback","description":"Record bounded usage feedback for a captured BoxFetch Original acquisition. This is a WRITE: it records a verified review and can affect that Original’s trust signal.","input":{"required":["assetId","purchaseId","rating","feedbackType"],"optional":["note"]},"output":"A bounded acknowledgement and review identifier, or stable refusal reasonCodes.","idempotencyRequired":false,"inputSchema":{"type":"object","required":["assetId","purchaseId","rating","feedbackType"],"additionalProperties":false,"properties":{"assetId":{"type":"string"},"purchaseId":{"type":"string"},"rating":{"type":"integer","minimum":1,"maximum":5},"feedbackType":{"type":"string","description":"Stable category for the feedback (e.g. accuracy, usefulness)."},"note":{"type":"string","maxLength":1000}}},"outputSchema":{"type":"object","required":["ok"],"additionalProperties":true,"properties":{"ok":{"type":"boolean"},"reviewId":{"type":"string"},"reasonCodes":{"type":"array","items":{"type":"string"}}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresPurchase":true},{"name":"acquire_boxfetch_package","description":"Acquire one exact, already-selected BoxFetch package in a single business call: quote, acquisition, entitlement, and entitled delivery run through the same authorities the separate tools use. Returns the package handoff and the signed runtime handoff needed to execute it. Requires an idempotency key. It never searches, ranks, or substitutes a package, and it never bypasses the owner’s approval policy.","input":{"required":["assetId","idempotencyKey"],"optional":["userTask","intendedUse"]},"output":"Either an acquired result — the captured acquisition identity, the entitled Markdown package, the complete package handoff, and the exact runtime handoff with a pinned signing key — or the existing owner-approval identity with no content and no executable handoff.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["assetId","idempotencyKey"],"additionalProperties":false,"properties":{"assetId":{"type":"string","description":"The exact public asset id of the package to acquire, from search_assets or preview_asset."},"userTask":{"type":"string","maxLength":300,"description":"Optional bounded, inert plain-text purpose surfaced in the human approval card."},"intendedUse":{"type":"string","maxLength":300,"description":"Optional bounded, inert plain-text intended use surfaced in the human approval card."},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required idempotency key. Also accepted as Idempotency-Key header."}}},"outputSchema":{"type":"object","oneOf":[{"required":["status","assetId","purchaseId","disposition","quoteId","priceCredits","package","content"],"properties":{"status":{"const":"acquired"}}},{"required":["status","assetId","approvalRequestId","policyDecision","reasonCodes"],"not":{"anyOf":[{"required":["package"]},{"required":["content"]},{"required":["purchaseId"]},{"required":["disposition"]}]},"properties":{"status":{"const":"approval_required"}}}],"additionalProperties":false,"properties":{"status":{"type":"string","enum":["acquired","approval_required"]},"assetId":{"type":"string","minLength":1},"purchaseId":{"type":["string","null"],"description":"The acquisition this call captured. Null when the caller was ALREADY entitled and this call created no purchase."},"disposition":{"type":"string","enum":["settled","already_entitled"],"description":"settled when this call captured the acquisition; already_entitled when it converged on an entitlement the caller already held and created no second purchase."},"quoteId":{"type":["string","null"],"description":"The durable quote this acquisition settled. Null on an already_entitled convergence, which takes no quote."},"priceCredits":{"type":"string","pattern":"^\\d+$"},"approvalRequestId":{"type":"string","description":"The existing owner-approval identity. Poll it with get_purchase_approval; no content and no executable handoff exists until it is captured."},"policyDecision":{"type":["string","null"]},"reasonCodes":{"type":"array","items":{"type":"string"}},"package":{"type":"object","required":["assetId","slug","packageVersion","releaseDigest","canonicalPackageDigest","deliveredByteDigest","packageSizeBytes","contentKind","mimeType","entryDocument","runnerCompatibility","executionModes","packageExecutionAvailable","hostedExecutionAvailability","hostedExecutionUnavailableReason","lifecycleSupport","approvalRequirements","verificationLimitations","teardownLimitations","runtime"],"additionalProperties":false,"properties":{"assetId":{"type":"string","minLength":1},"slug":{"type":"string"},"packageVersion":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"canonicalPackageDigest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Over the package’s own content. Distinct by construction from deliveredByteDigest, which is over the assembled delivery."},"deliveredByteDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"packageSizeBytes":{"type":"integer","minimum":0},"contentKind":{"type":"string"},"mimeType":{"type":["string","null"]},"entryDocument":{"type":["string","null"],"description":"The entry document identity of the delivered package. Never a filesystem path and never a storage locator."},"runnerCompatibility":{"type":"object","required":["runner","slug","version","verificationLevel","packageContentHash"],"additionalProperties":false,"properties":{"runner":{"type":"string","const":"boxfetch_original_package_runner"},"slug":{"type":"string"},"version":{"type":"string"},"verificationLevel":{"type":"string"},"packageContentHash":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"executionModes":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string","enum":["package_runner","hosted_controlled_run"]}},"packageExecutionAvailable":{"type":"boolean","const":true,"description":"Always true for an acquired package. Published so no reader concludes otherwise from a hosted refusal."},"hostedExecutionAvailability":{"type":"string","enum":["hosted_execution_available","hosted_execution_unavailable"],"description":"Whether BoxFetch can additionally run this release for you through the controlled-run engine. A separate capability from executing the package you acquired."},"hostedExecutionUnavailableReason":{"type":["string","null"],"enum":["no_registered_hosted_adapter","hosted_adapter_not_reviewed_for_this_version","release_digest_differs_from_reviewed_release",null]},"lifecycleSupport":{"type":"object","required":["packageRunner","hostedControlledRun"],"additionalProperties":false,"properties":{"packageRunner":{"type":"array","items":{"type":"string"}},"hostedControlledRun":{"type":["array","null"],"items":{"type":"string"}}}},"approvalRequirements":{"type":"object","required":["packageRunnerHumanApprovalRequired","hostedControlledRunHumanApprovalRequired","ownerOnlyDecisions"],"additionalProperties":false,"properties":{"packageRunnerHumanApprovalRequired":{"type":"boolean","const":true},"hostedControlledRunHumanApprovalRequired":{"type":["boolean","null"]},"ownerOnlyDecisions":{"type":"array","items":{"type":"string"},"description":"Decisions the hosted engine accepts from the authenticated human owner alone. Empty when hosted execution is unavailable, because there are demonstrably none."}}},"verificationLimitations":{"type":"object","required":["packageRunner","hostedControlledRun"],"additionalProperties":false,"properties":{"packageRunner":{"type":"array","items":{"type":"string"}},"hostedControlledRun":{"type":["array","null"],"items":{"type":"string"}}}},"teardownLimitations":{"type":"object","required":["packageRunner","hostedControlledRun"],"additionalProperties":false,"properties":{"packageRunner":{"type":"array","items":{"type":"string"}},"hostedControlledRun":{"type":["array","null"],"items":{"type":"string"}}}},"runtime":{"type":"object","required":["runtimeVersion","runtimeSha256","runtimeResolverUrl","runtimeCacheKey","runtimeSigningKeyId","trustRoot"],"additionalProperties":false,"properties":{"runtimeVersion":{"type":"string","pattern":"^(0|[1-9]\\d{0,3})\\.(0|[1-9]\\d{0,3})\\.(0|[1-9]\\d{0,3})$","description":"An EXACT runtime version. There is no range and no \"latest\"."},"runtimeSha256":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"The artifact digest. Compare it to the resolver’s answer BEFORE downloading a byte."},"runtimeResolverUrl":{"type":"string","description":"Absolute https://<origin>/r/<exact-version>. A convenience: the digest and the signature over it are the authority."},"runtimeCacheKey":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"The digest, never the version, so two packages needing the same bytes share one cache entry and one download."},"runtimeSigningKeyId":{"type":"string","minLength":1,"description":"Derived from the key’s own bytes: pinning this id pins the key."},"trustRoot":{"type":"object","oneOf":[{"required":["kind","runtimeSigningPublicKey"],"properties":{"kind":{"const":"pinned_public_key"}}},{"required":["kind","trustRootDiscoveryUrl","detail"],"properties":{"kind":{"const":"external_handoff"}}}],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["pinned_public_key","external_handoff"]},"runtimeSigningPublicKey":{"type":"string","minLength":1,"description":"Base64 of the raw 32-byte Ed25519 public key, carried on the acquisition channel the agent already trusts. Pin it; do not adopt a key from /r/trust-root, which is discovery and not a trust anchor."},"trustRootDiscoveryUrl":{"type":"string"},"detail":{"type":"string"}}}}}}},"content":{"type":"object","required":["ok","kind","assetId","contentKind","storageKind","mimeType","title","markdown","sha256","sizeBytes"],"additionalProperties":false,"properties":{"ok":{"type":"boolean","const":true},"kind":{"type":"string","const":"markdown"},"assetId":{"type":"string","minLength":1},"contentKind":{"type":"string","const":"markdown"},"storageKind":{"type":"string","const":"neon_text"},"mimeType":{"type":"string","const":"text/markdown"},"title":{"type":["string","null"]},"markdown":{"type":"string","description":"The acquired package body."},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","minimum":0,"maximum":67108864},"legacyDemo":{"type":"boolean","enum":[true]}}}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresPurchase":false,"requiresIdempotencyKey":true,"rateLimitNote":"Subject to per-token, per-agent, and per-user fixed-window limits."},{"name":"prepare_original_run","description":"Create a controlled hosted run for an Original this agent has already acquired, and return that Original’s execution handoff. An Original with no registered hosted adapter answers hosted_execution_unavailable and still returns the handoff, because the acquired package remains fully usable on its own.","input":{"required":["purchaseId","assetId","originalSlug","idempotencyKey"]},"output":"The run id and lifecycle state when hosted execution is available, plus the Original’s execution handoff; or hostedExecutionAvailable=false with the same handoff and no run.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["purchaseId","assetId","originalSlug","idempotencyKey"],"additionalProperties":false,"properties":{"purchaseId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"The captured acquisition this run is bound to. Must belong to this agent and this owner."},"assetId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"originalSlug":{"type":"string","maxLength":200},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required caller-supplied idempotency key. A replay of the same key with the same body returns the original outcome; a conflicting body is refused rather than acted on."}}},"outputSchema":{"type":"object","oneOf":[{"required":["status","hostedExecutionAvailable","packageExecutionAvailable","run","executionHandoff"],"properties":{"status":{"const":"prepared"},"hostedExecutionAvailable":{"const":true}}},{"required":["status","hostedExecutionAvailable","reasonCode","packageExecutionAvailable","run","executionHandoff"],"properties":{"status":{"const":"hosted_execution_unavailable"},"hostedExecutionAvailable":{"const":false}}}],"additionalProperties":false,"properties":{"status":{"type":"string","enum":["prepared","hosted_execution_unavailable"]},"hostedExecutionAvailable":{"type":"boolean"},"packageExecutionAvailable":{"type":"boolean","const":true,"description":"Always true for an acquired Original. Published so no reader concludes otherwise from a hosted refusal."},"reasonCode":{"type":"string","enum":["no_registered_hosted_adapter","hosted_adapter_not_reviewed_for_this_version","release_digest_differs_from_reviewed_release"]},"run":{"type":["object","null"],"required":["runId","state","terminalReasonCode","original","agentId","connection","targetIdentity","currentPlan","currentPlanDigest","teardownPlanDigest","executionApproval","teardownApproval","actionSummary","resourceSummary","verification","executionReceiptDigest","teardownReceiptDigest","limitations","nextLifecycleAction","nextAgentTool","requiredScope","currentCredentialAuthorized","scopeStepUpRequired","nextOwnerAction","ownerDecisionRequired","ownerContinuation"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"state":{"type":"string","description":"The run’s lifecycle state."},"terminalReasonCode":{"type":["string","null"]},"original":{"type":"object","required":["slug","version","releaseDigest"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"agentId":{"type":"string"},"connection":{"type":"object","required":["present","adapter","status","validationState","validationReasonCode"],"additionalProperties":false,"properties":{"present":{"type":"boolean"},"adapter":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","revoked","expired",null]},"validationState":{"type":["string","null"],"enum":["unvalidated","valid","invalid",null]},"validationReasonCode":{"type":["string","null"]}}},"targetIdentity":{"type":["string","null"]},"currentPlan":{"type":["object","null"],"required":["planDigest","planVersion","actionCount","destructiveActionCount","generatedAt","expiresAt","supersededAt"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"supersededAt":{"type":["string","null"],"format":"date-time"}}},"currentPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"executionApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"teardownApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"actionSummary":{"type":"object","required":["total","truncated","byStatus","destructive","ambiguous"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"byStatus":{"type":"object","additionalProperties":true},"destructive":{"type":"integer","minimum":0},"ambiguous":{"type":"integer","minimum":0,"description":"Actions whose provider outcome is genuinely unknown. Never retried automatically."}}},"resourceSummary":{"type":"object","required":["total","truncated","runOwned","preExisting","ambiguous","awaitingTeardown"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"runOwned":{"type":"integer","minimum":0},"preExisting":{"type":"integer","minimum":0,"description":"Resources this run did not create. Teardown never deletes one."},"ambiguous":{"type":"integer","minimum":0},"awaitingTeardown":{"type":"integer","minimum":0}}},"verification":{"type":["object","null"],"required":["passed","planDigest","observedAt"],"additionalProperties":false,"properties":{"passed":{"type":"boolean"},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observedAt":{"type":"string","format":"date-time"}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"limitations":{"type":"array","items":{"type":"string"},"description":"What is honestly not known or not settled about this run right now."},"nextLifecycleAction":{"type":["string","null"],"description":"The engine’s own next lifecycle step for this run, whoever may take it. Null when nothing is pending."},"nextAgentTool":{"type":["string","null"],"description":"The run tool that carries the next lifecycle step, when that step is an agent step. Naming it is not a claim that this credential may call it — see currentCredentialAuthorized."},"requiredScope":{"type":["string","null"],"description":"The OAuth scope nextAgentTool requires. Null when the next step is not an agent step."},"currentCredentialAuthorized":{"type":"boolean","description":"Whether the credential THIS call was made with carries requiredScope. False whenever there is no agent step at all."},"scopeStepUpRequired":{"type":"boolean","description":"True when an agent step exists and this credential does not carry its scope. Reauthorize with the named scope; an already-issued grant can never be widened by refresh."},"nextOwnerAction":{"type":["string","null"],"description":"The exact decision only the authenticated human owner may make, or null."},"ownerDecisionRequired":{"type":"boolean"},"ownerContinuation":{"type":["object","null"],"required":["surface","path","runId","available","reasonCode"],"additionalProperties":false,"properties":{"surface":{"type":"string","const":"boxfetch_control_center"},"path":{"type":"string","description":"A path on the BoxFetch app the human opens and authenticates on, including the Control Center module anchor. Never a URL, never a token, never reusable authority, and never the run id."},"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"available":{"type":"boolean","description":"Whether that surface can display THIS run. True now that the Control Center Runs module is live: the human signs in there and finds the run by id in their own run list."},"reasonCode":{"type":["string","null"],"enum":[null],"description":"Why the surface cannot display the run. Null now that the Control Center Runs module is live."}}}}},"executionHandoff":{"type":["object","null"],"required":["slug","version","releaseDigest","packageDigest","deliveredDigest","packageSizeBytes","contentKind","mimeType","fileName","runnerCompatibility","executionModes","packageExecution","hostedExecution"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"packageDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"deliveredDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"packageSizeBytes":{"type":"integer","minimum":0},"contentKind":{"type":"string"},"mimeType":{"type":["string","null"]},"fileName":{"type":["string","null"],"description":"The entry document identity of the delivered package. Never a filesystem path and never a storage locator."},"runnerCompatibility":{"type":"object","required":["runner","slug","version","verificationLevel","packageContentHash"],"additionalProperties":false,"properties":{"runner":{"type":"string","const":"boxfetch_original_package_runner"},"slug":{"type":"string"},"version":{"type":"string"},"verificationLevel":{"type":"string"},"packageContentHash":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"executionModes":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string","enum":["package_runner","hosted_controlled_run"]},"description":"Every launch Original supports package_runner. hosted_controlled_run appears only for a release with a reviewed hosted adapter."},"packageExecution":{"type":"object","required":["runner","lifecycle","humanApprovalRequired","verificationLimitations","teardownLimitations"],"additionalProperties":false,"properties":{"runner":{"type":"string","const":"boxfetch_original_package_runner"},"lifecycle":{"type":"array","items":{"type":"string"}},"humanApprovalRequired":{"type":"boolean","const":true},"verificationLimitations":{"type":"array","items":{"type":"string"}},"teardownLimitations":{"type":"array","items":{"type":"string"}}}},"hostedExecution":{"type":"object","oneOf":[{"required":["available","lifecycle","humanApprovalRequired","ownerOnlyDecisions","verificationLimitations","teardownLimitations"],"properties":{"available":{"const":true}}},{"required":["available","reasonCode","packageExecutionUnaffected"],"properties":{"available":{"const":false}}}],"additionalProperties":false,"properties":{"available":{"type":"boolean"},"lifecycle":{"type":"array","items":{"type":"string"}},"humanApprovalRequired":{"type":"boolean","const":true},"ownerOnlyDecisions":{"type":"array","items":{"type":"string"},"description":"Decisions the engine accepts from the authenticated human owner alone. An agent is refused on every one of them."},"verificationLimitations":{"type":"array","items":{"type":"string"}},"teardownLimitations":{"type":"array","items":{"type":"string"}},"reasonCode":{"type":"string","enum":["no_registered_hosted_adapter","hosted_adapter_not_reviewed_for_this_version","release_digest_differs_from_reviewed_release"]},"packageExecutionUnaffected":{"type":"boolean","const":true,"description":"The acquired deterministic package is fully usable regardless of hosted availability."}}}}}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresPurchase":true,"requiresIdempotencyKey":true},{"name":"get_original_run","description":"Read the bounded state of one controlled run: lifecycle state, plan and approval digests, action and resource counts, verification, receipts, honest limitations, and the single next step permitted to this agent or to its human.","input":{"required":["runId"]},"output":"One bounded run projection: state, digests, counts, verification, receipts, limitations, and the next permitted agent and owner steps. Never a plan body, a provider payload, a credential, or a stored value.","idempotencyRequired":false,"inputSchema":{"type":"object","required":["runId"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"}}},"outputSchema":{"type":"object","required":["status","run","executionHandoff","executionHandoffUnavailableReason"],"additionalProperties":false,"properties":{"status":{"type":"string","const":"read"},"run":{"type":"object","required":["runId","state","terminalReasonCode","original","agentId","connection","targetIdentity","currentPlan","currentPlanDigest","teardownPlanDigest","executionApproval","teardownApproval","actionSummary","resourceSummary","verification","executionReceiptDigest","teardownReceiptDigest","limitations","nextLifecycleAction","nextAgentTool","requiredScope","currentCredentialAuthorized","scopeStepUpRequired","nextOwnerAction","ownerDecisionRequired","ownerContinuation"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"state":{"type":"string","description":"The run’s lifecycle state."},"terminalReasonCode":{"type":["string","null"]},"original":{"type":"object","required":["slug","version","releaseDigest"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"agentId":{"type":"string"},"connection":{"type":"object","required":["present","adapter","status","validationState","validationReasonCode"],"additionalProperties":false,"properties":{"present":{"type":"boolean"},"adapter":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","revoked","expired",null]},"validationState":{"type":["string","null"],"enum":["unvalidated","valid","invalid",null]},"validationReasonCode":{"type":["string","null"]}}},"targetIdentity":{"type":["string","null"]},"currentPlan":{"type":["object","null"],"required":["planDigest","planVersion","actionCount","destructiveActionCount","generatedAt","expiresAt","supersededAt"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"supersededAt":{"type":["string","null"],"format":"date-time"}}},"currentPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"executionApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"teardownApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"actionSummary":{"type":"object","required":["total","truncated","byStatus","destructive","ambiguous"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"byStatus":{"type":"object","additionalProperties":true},"destructive":{"type":"integer","minimum":0},"ambiguous":{"type":"integer","minimum":0,"description":"Actions whose provider outcome is genuinely unknown. Never retried automatically."}}},"resourceSummary":{"type":"object","required":["total","truncated","runOwned","preExisting","ambiguous","awaitingTeardown"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"runOwned":{"type":"integer","minimum":0},"preExisting":{"type":"integer","minimum":0,"description":"Resources this run did not create. Teardown never deletes one."},"ambiguous":{"type":"integer","minimum":0},"awaitingTeardown":{"type":"integer","minimum":0}}},"verification":{"type":["object","null"],"required":["passed","planDigest","observedAt"],"additionalProperties":false,"properties":{"passed":{"type":"boolean"},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observedAt":{"type":"string","format":"date-time"}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"limitations":{"type":"array","items":{"type":"string"},"description":"What is honestly not known or not settled about this run right now."},"nextLifecycleAction":{"type":["string","null"],"description":"The engine’s own next lifecycle step for this run, whoever may take it. Null when nothing is pending."},"nextAgentTool":{"type":["string","null"],"description":"The run tool that carries the next lifecycle step, when that step is an agent step. Naming it is not a claim that this credential may call it — see currentCredentialAuthorized."},"requiredScope":{"type":["string","null"],"description":"The OAuth scope nextAgentTool requires. Null when the next step is not an agent step."},"currentCredentialAuthorized":{"type":"boolean","description":"Whether the credential THIS call was made with carries requiredScope. False whenever there is no agent step at all."},"scopeStepUpRequired":{"type":"boolean","description":"True when an agent step exists and this credential does not carry its scope. Reauthorize with the named scope; an already-issued grant can never be widened by refresh."},"nextOwnerAction":{"type":["string","null"],"description":"The exact decision only the authenticated human owner may make, or null."},"ownerDecisionRequired":{"type":"boolean"},"ownerContinuation":{"type":["object","null"],"required":["surface","path","runId","available","reasonCode"],"additionalProperties":false,"properties":{"surface":{"type":"string","const":"boxfetch_control_center"},"path":{"type":"string","description":"A path on the BoxFetch app the human opens and authenticates on, including the Control Center module anchor. Never a URL, never a token, never reusable authority, and never the run id."},"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"available":{"type":"boolean","description":"Whether that surface can display THIS run. True now that the Control Center Runs module is live: the human signs in there and finds the run by id in their own run list."},"reasonCode":{"type":["string","null"],"enum":[null],"description":"Why the surface cannot display the run. Null now that the Control Center Runs module is live."}}}}},"executionHandoff":{"type":["object","null"],"required":["slug","version","releaseDigest","packageDigest","deliveredDigest","packageSizeBytes","contentKind","mimeType","fileName","runnerCompatibility","executionModes","packageExecution","hostedExecution"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"packageDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"deliveredDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"packageSizeBytes":{"type":"integer","minimum":0},"contentKind":{"type":"string"},"mimeType":{"type":["string","null"]},"fileName":{"type":["string","null"],"description":"The entry document identity of the delivered package. Never a filesystem path and never a storage locator."},"runnerCompatibility":{"type":"object","required":["runner","slug","version","verificationLevel","packageContentHash"],"additionalProperties":false,"properties":{"runner":{"type":"string","const":"boxfetch_original_package_runner"},"slug":{"type":"string"},"version":{"type":"string"},"verificationLevel":{"type":"string"},"packageContentHash":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"executionModes":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string","enum":["package_runner","hosted_controlled_run"]},"description":"Every launch Original supports package_runner. hosted_controlled_run appears only for a release with a reviewed hosted adapter."},"packageExecution":{"type":"object","required":["runner","lifecycle","humanApprovalRequired","verificationLimitations","teardownLimitations"],"additionalProperties":false,"properties":{"runner":{"type":"string","const":"boxfetch_original_package_runner"},"lifecycle":{"type":"array","items":{"type":"string"}},"humanApprovalRequired":{"type":"boolean","const":true},"verificationLimitations":{"type":"array","items":{"type":"string"}},"teardownLimitations":{"type":"array","items":{"type":"string"}}}},"hostedExecution":{"type":"object","oneOf":[{"required":["available","lifecycle","humanApprovalRequired","ownerOnlyDecisions","verificationLimitations","teardownLimitations"],"properties":{"available":{"const":true}}},{"required":["available","reasonCode","packageExecutionUnaffected"],"properties":{"available":{"const":false}}}],"additionalProperties":false,"properties":{"available":{"type":"boolean"},"lifecycle":{"type":"array","items":{"type":"string"}},"humanApprovalRequired":{"type":"boolean","const":true},"ownerOnlyDecisions":{"type":"array","items":{"type":"string"},"description":"Decisions the engine accepts from the authenticated human owner alone. An agent is refused on every one of them."},"verificationLimitations":{"type":"array","items":{"type":"string"}},"teardownLimitations":{"type":"array","items":{"type":"string"}},"reasonCode":{"type":"string","enum":["no_registered_hosted_adapter","hosted_adapter_not_reviewed_for_this_version","release_digest_differs_from_reviewed_release"]},"packageExecutionUnaffected":{"type":"boolean","const":true,"description":"The acquired deterministic package is fully usable regardless of hosted availability."}}}}},"executionHandoffUnavailableReason":{"type":["string","null"],"enum":["original_unregistered","release_version_mismatch","release_digest_mismatch",null],"description":"Why no handoff could be resolved for this run’s EXACT bound release. A newer release is never substituted: a run reports the release it was prepared against or it reports nothing."}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer"},{"name":"inspect_original_run","description":"Ask the engine to inspect the connected provider target and seal a deterministic plan. Read-only at the provider. The resulting plan is presented to the human owner for approval; this agent cannot approve it.","input":{"required":["runId","declaration","idempotencyKey"],"optional":["secretReferences"]},"output":"The sealed plan’s digest, version, action count, destructive-action count, and expiry, plus the resulting lifecycle state. Never the plan body.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["runId","declaration","idempotencyKey"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"declaration":{"type":"object","additionalProperties":true,"description":"The declared desired state for the provider target, in this Original’s own declaration vocabulary. Bounded and validated by the engine and then by the Original’s adapter. A secret may appear only as an opaque ref_ reference; a declaration carrying secret material is refused, never redacted."},"secretReferences":{"type":"object","additionalProperties":true,"description":"Map of opaque ref_ reference ids to the values the plan will bind. Never a provider credential: supplying one on this surface is refused. Plaintext values are ephemeral: they are never persisted, logged, returned, or included in evidence. The engine derives a keyed binding digest sealed into the plan, so a substituted value is refused before provider dispatch. At most 16 references; each value is at most 8192 UTF-8 bytes and the whole map is bounded by the 32768-byte MCP request limit. A rejected value is never described, quoted, or measured in a refusal."},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required caller-supplied idempotency key. A replay of the same key with the same body returns the original outcome; a conflicting body is refused rather than acted on."}}},"outputSchema":{"type":"object","required":["status","run","plan"],"additionalProperties":false,"properties":{"status":{"type":"string","const":"planned"},"run":{"type":"object","required":["runId","state","terminalReasonCode","original","agentId","connection","targetIdentity","currentPlan","currentPlanDigest","teardownPlanDigest","executionApproval","teardownApproval","actionSummary","resourceSummary","verification","executionReceiptDigest","teardownReceiptDigest","limitations","nextLifecycleAction","nextAgentTool","requiredScope","currentCredentialAuthorized","scopeStepUpRequired","nextOwnerAction","ownerDecisionRequired","ownerContinuation"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"state":{"type":"string","description":"The run’s lifecycle state."},"terminalReasonCode":{"type":["string","null"]},"original":{"type":"object","required":["slug","version","releaseDigest"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"agentId":{"type":"string"},"connection":{"type":"object","required":["present","adapter","status","validationState","validationReasonCode"],"additionalProperties":false,"properties":{"present":{"type":"boolean"},"adapter":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","revoked","expired",null]},"validationState":{"type":["string","null"],"enum":["unvalidated","valid","invalid",null]},"validationReasonCode":{"type":["string","null"]}}},"targetIdentity":{"type":["string","null"]},"currentPlan":{"type":["object","null"],"required":["planDigest","planVersion","actionCount","destructiveActionCount","generatedAt","expiresAt","supersededAt"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"supersededAt":{"type":["string","null"],"format":"date-time"}}},"currentPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"executionApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"teardownApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"actionSummary":{"type":"object","required":["total","truncated","byStatus","destructive","ambiguous"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"byStatus":{"type":"object","additionalProperties":true},"destructive":{"type":"integer","minimum":0},"ambiguous":{"type":"integer","minimum":0,"description":"Actions whose provider outcome is genuinely unknown. Never retried automatically."}}},"resourceSummary":{"type":"object","required":["total","truncated","runOwned","preExisting","ambiguous","awaitingTeardown"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"runOwned":{"type":"integer","minimum":0},"preExisting":{"type":"integer","minimum":0,"description":"Resources this run did not create. Teardown never deletes one."},"ambiguous":{"type":"integer","minimum":0},"awaitingTeardown":{"type":"integer","minimum":0}}},"verification":{"type":["object","null"],"required":["passed","planDigest","observedAt"],"additionalProperties":false,"properties":{"passed":{"type":"boolean"},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observedAt":{"type":"string","format":"date-time"}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"limitations":{"type":"array","items":{"type":"string"},"description":"What is honestly not known or not settled about this run right now."},"nextLifecycleAction":{"type":["string","null"],"description":"The engine’s own next lifecycle step for this run, whoever may take it. Null when nothing is pending."},"nextAgentTool":{"type":["string","null"],"description":"The run tool that carries the next lifecycle step, when that step is an agent step. Naming it is not a claim that this credential may call it — see currentCredentialAuthorized."},"requiredScope":{"type":["string","null"],"description":"The OAuth scope nextAgentTool requires. Null when the next step is not an agent step."},"currentCredentialAuthorized":{"type":"boolean","description":"Whether the credential THIS call was made with carries requiredScope. False whenever there is no agent step at all."},"scopeStepUpRequired":{"type":"boolean","description":"True when an agent step exists and this credential does not carry its scope. Reauthorize with the named scope; an already-issued grant can never be widened by refresh."},"nextOwnerAction":{"type":["string","null"],"description":"The exact decision only the authenticated human owner may make, or null."},"ownerDecisionRequired":{"type":"boolean"},"ownerContinuation":{"type":["object","null"],"required":["surface","path","runId","available","reasonCode"],"additionalProperties":false,"properties":{"surface":{"type":"string","const":"boxfetch_control_center"},"path":{"type":"string","description":"A path on the BoxFetch app the human opens and authenticates on, including the Control Center module anchor. Never a URL, never a token, never reusable authority, and never the run id."},"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"available":{"type":"boolean","description":"Whether that surface can display THIS run. True now that the Control Center Runs module is live: the human signs in there and finds the run by id in their own run list."},"reasonCode":{"type":["string","null"],"enum":[null],"description":"Why the surface cannot display the run. Null now that the Control Center Runs module is live."}}}}},"plan":{"type":"object","required":["planDigest","planVersion","actionCount","destructiveActionCount","reversibleActionCount","highestRisk","expiresAt","targetIdentity"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"The exact digest the owner approves. An approval of anything else is unrepresentable."},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"reversibleActionCount":{"type":"integer","minimum":0},"highestRisk":{"type":"string","enum":["low","medium","high"]},"expiresAt":{"type":"string","format":"date-time"},"targetIdentity":{"type":"string"}}}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresIdempotencyKey":true},{"name":"start_original_run","description":"Carry out the exact plan the human owner has already approved. Refuses when no current owner approval covers the exact current plan digest.","input":{"required":["runId","idempotencyKey"],"optional":["secretReferences"]},"output":"The resulting lifecycle state and, when execution finalized, the immutable receipt digest. Never a provider payload.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["runId","idempotencyKey"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"secretReferences":{"type":"object","additionalProperties":true,"description":"Map of opaque ref_ reference ids to the values the plan will bind. Never a provider credential: supplying one on this surface is refused. Plaintext values are ephemeral: they are never persisted, logged, returned, or included in evidence. The engine derives a keyed binding digest sealed into the plan, so a substituted value is refused before provider dispatch. At most 16 references; each value is at most 8192 UTF-8 bytes and the whole map is bounded by the 32768-byte MCP request limit. A rejected value is never described, quoted, or measured in a refusal."},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required caller-supplied idempotency key. A replay of the same key with the same body returns the original outcome; a conflicting body is refused rather than acted on."}}},"outputSchema":{"type":"object","required":["status","run","executionReceiptDigest"],"additionalProperties":false,"properties":{"status":{"type":"string","const":"applied"},"run":{"type":"object","required":["runId","state","terminalReasonCode","original","agentId","connection","targetIdentity","currentPlan","currentPlanDigest","teardownPlanDigest","executionApproval","teardownApproval","actionSummary","resourceSummary","verification","executionReceiptDigest","teardownReceiptDigest","limitations","nextLifecycleAction","nextAgentTool","requiredScope","currentCredentialAuthorized","scopeStepUpRequired","nextOwnerAction","ownerDecisionRequired","ownerContinuation"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"state":{"type":"string","description":"The run’s lifecycle state."},"terminalReasonCode":{"type":["string","null"]},"original":{"type":"object","required":["slug","version","releaseDigest"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"agentId":{"type":"string"},"connection":{"type":"object","required":["present","adapter","status","validationState","validationReasonCode"],"additionalProperties":false,"properties":{"present":{"type":"boolean"},"adapter":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","revoked","expired",null]},"validationState":{"type":["string","null"],"enum":["unvalidated","valid","invalid",null]},"validationReasonCode":{"type":["string","null"]}}},"targetIdentity":{"type":["string","null"]},"currentPlan":{"type":["object","null"],"required":["planDigest","planVersion","actionCount","destructiveActionCount","generatedAt","expiresAt","supersededAt"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"supersededAt":{"type":["string","null"],"format":"date-time"}}},"currentPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"executionApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"teardownApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"actionSummary":{"type":"object","required":["total","truncated","byStatus","destructive","ambiguous"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"byStatus":{"type":"object","additionalProperties":true},"destructive":{"type":"integer","minimum":0},"ambiguous":{"type":"integer","minimum":0,"description":"Actions whose provider outcome is genuinely unknown. Never retried automatically."}}},"resourceSummary":{"type":"object","required":["total","truncated","runOwned","preExisting","ambiguous","awaitingTeardown"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"runOwned":{"type":"integer","minimum":0},"preExisting":{"type":"integer","minimum":0,"description":"Resources this run did not create. Teardown never deletes one."},"ambiguous":{"type":"integer","minimum":0},"awaitingTeardown":{"type":"integer","minimum":0}}},"verification":{"type":["object","null"],"required":["passed","planDigest","observedAt"],"additionalProperties":false,"properties":{"passed":{"type":"boolean"},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observedAt":{"type":"string","format":"date-time"}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"limitations":{"type":"array","items":{"type":"string"},"description":"What is honestly not known or not settled about this run right now."},"nextLifecycleAction":{"type":["string","null"],"description":"The engine’s own next lifecycle step for this run, whoever may take it. Null when nothing is pending."},"nextAgentTool":{"type":["string","null"],"description":"The run tool that carries the next lifecycle step, when that step is an agent step. Naming it is not a claim that this credential may call it — see currentCredentialAuthorized."},"requiredScope":{"type":["string","null"],"description":"The OAuth scope nextAgentTool requires. Null when the next step is not an agent step."},"currentCredentialAuthorized":{"type":"boolean","description":"Whether the credential THIS call was made with carries requiredScope. False whenever there is no agent step at all."},"scopeStepUpRequired":{"type":"boolean","description":"True when an agent step exists and this credential does not carry its scope. Reauthorize with the named scope; an already-issued grant can never be widened by refresh."},"nextOwnerAction":{"type":["string","null"],"description":"The exact decision only the authenticated human owner may make, or null."},"ownerDecisionRequired":{"type":"boolean"},"ownerContinuation":{"type":["object","null"],"required":["surface","path","runId","available","reasonCode"],"additionalProperties":false,"properties":{"surface":{"type":"string","const":"boxfetch_control_center"},"path":{"type":"string","description":"A path on the BoxFetch app the human opens and authenticates on, including the Control Center module anchor. Never a URL, never a token, never reusable authority, and never the run id."},"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"available":{"type":"boolean","description":"Whether that surface can display THIS run. True now that the Control Center Runs module is live: the human signs in there and finds the run by id in their own run list."},"reasonCode":{"type":["string","null"],"enum":[null],"description":"Why the surface cannot display the run. Null now that the Control Center Runs module is live."}}}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$","description":"The immutable execution receipt’s digest once finalized. The receipt BODY is never returned to an agent."}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresIdempotencyKey":true},{"name":"cancel_original_run","description":"Stop a controlled run. Always available, and never requires the authority that started the run.","input":{"required":["runId","idempotencyKey"]},"output":"The resulting lifecycle state.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["runId","idempotencyKey"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required caller-supplied idempotency key. A replay of the same key with the same body returns the original outcome; a conflicting body is refused rather than acted on."}}},"outputSchema":{"type":"object","required":["status","run"],"additionalProperties":false,"properties":{"status":{"type":"string","const":"cancelled"},"run":{"type":"object","required":["runId","state","terminalReasonCode","original","agentId","connection","targetIdentity","currentPlan","currentPlanDigest","teardownPlanDigest","executionApproval","teardownApproval","actionSummary","resourceSummary","verification","executionReceiptDigest","teardownReceiptDigest","limitations","nextLifecycleAction","nextAgentTool","requiredScope","currentCredentialAuthorized","scopeStepUpRequired","nextOwnerAction","ownerDecisionRequired","ownerContinuation"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"state":{"type":"string","description":"The run’s lifecycle state."},"terminalReasonCode":{"type":["string","null"]},"original":{"type":"object","required":["slug","version","releaseDigest"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"agentId":{"type":"string"},"connection":{"type":"object","required":["present","adapter","status","validationState","validationReasonCode"],"additionalProperties":false,"properties":{"present":{"type":"boolean"},"adapter":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","revoked","expired",null]},"validationState":{"type":["string","null"],"enum":["unvalidated","valid","invalid",null]},"validationReasonCode":{"type":["string","null"]}}},"targetIdentity":{"type":["string","null"]},"currentPlan":{"type":["object","null"],"required":["planDigest","planVersion","actionCount","destructiveActionCount","generatedAt","expiresAt","supersededAt"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"supersededAt":{"type":["string","null"],"format":"date-time"}}},"currentPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"executionApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"teardownApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"actionSummary":{"type":"object","required":["total","truncated","byStatus","destructive","ambiguous"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"byStatus":{"type":"object","additionalProperties":true},"destructive":{"type":"integer","minimum":0},"ambiguous":{"type":"integer","minimum":0,"description":"Actions whose provider outcome is genuinely unknown. Never retried automatically."}}},"resourceSummary":{"type":"object","required":["total","truncated","runOwned","preExisting","ambiguous","awaitingTeardown"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"runOwned":{"type":"integer","minimum":0},"preExisting":{"type":"integer","minimum":0,"description":"Resources this run did not create. Teardown never deletes one."},"ambiguous":{"type":"integer","minimum":0},"awaitingTeardown":{"type":"integer","minimum":0}}},"verification":{"type":["object","null"],"required":["passed","planDigest","observedAt"],"additionalProperties":false,"properties":{"passed":{"type":"boolean"},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observedAt":{"type":"string","format":"date-time"}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"limitations":{"type":"array","items":{"type":"string"},"description":"What is honestly not known or not settled about this run right now."},"nextLifecycleAction":{"type":["string","null"],"description":"The engine’s own next lifecycle step for this run, whoever may take it. Null when nothing is pending."},"nextAgentTool":{"type":["string","null"],"description":"The run tool that carries the next lifecycle step, when that step is an agent step. Naming it is not a claim that this credential may call it — see currentCredentialAuthorized."},"requiredScope":{"type":["string","null"],"description":"The OAuth scope nextAgentTool requires. Null when the next step is not an agent step."},"currentCredentialAuthorized":{"type":"boolean","description":"Whether the credential THIS call was made with carries requiredScope. False whenever there is no agent step at all."},"scopeStepUpRequired":{"type":"boolean","description":"True when an agent step exists and this credential does not carry its scope. Reauthorize with the named scope; an already-issued grant can never be widened by refresh."},"nextOwnerAction":{"type":["string","null"],"description":"The exact decision only the authenticated human owner may make, or null."},"ownerDecisionRequired":{"type":"boolean"},"ownerContinuation":{"type":["object","null"],"required":["surface","path","runId","available","reasonCode"],"additionalProperties":false,"properties":{"surface":{"type":"string","const":"boxfetch_control_center"},"path":{"type":"string","description":"A path on the BoxFetch app the human opens and authenticates on, including the Control Center module anchor. Never a URL, never a token, never reusable authority, and never the run id."},"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"available":{"type":"boolean","description":"Whether that surface can display THIS run. True now that the Control Center Runs module is live: the human signs in there and finds the run by id in their own run list."},"reasonCode":{"type":["string","null"],"enum":[null],"description":"Why the surface cannot display the run. Null now that the Control Center Runs module is live."}}}}}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresIdempotencyKey":true},{"name":"prepare_original_run_teardown","description":"Seal a teardown plan covering only the exact resources this run created and recorded. The plan is presented to the human owner for a separate approval.","input":{"required":["runId","idempotencyKey"]},"output":"The sealed teardown plan’s digest, bounded target count, and expiry, plus the resulting lifecycle state.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["runId","idempotencyKey"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required caller-supplied idempotency key. A replay of the same key with the same body returns the original outcome; a conflicting body is refused rather than acted on."}}},"outputSchema":{"type":"object","required":["status","run","teardownPlanDigest"],"additionalProperties":false,"properties":{"status":{"type":"string","const":"teardown_planned"},"run":{"type":"object","required":["runId","state","terminalReasonCode","original","agentId","connection","targetIdentity","currentPlan","currentPlanDigest","teardownPlanDigest","executionApproval","teardownApproval","actionSummary","resourceSummary","verification","executionReceiptDigest","teardownReceiptDigest","limitations","nextLifecycleAction","nextAgentTool","requiredScope","currentCredentialAuthorized","scopeStepUpRequired","nextOwnerAction","ownerDecisionRequired","ownerContinuation"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"state":{"type":"string","description":"The run’s lifecycle state."},"terminalReasonCode":{"type":["string","null"]},"original":{"type":"object","required":["slug","version","releaseDigest"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"agentId":{"type":"string"},"connection":{"type":"object","required":["present","adapter","status","validationState","validationReasonCode"],"additionalProperties":false,"properties":{"present":{"type":"boolean"},"adapter":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","revoked","expired",null]},"validationState":{"type":["string","null"],"enum":["unvalidated","valid","invalid",null]},"validationReasonCode":{"type":["string","null"]}}},"targetIdentity":{"type":["string","null"]},"currentPlan":{"type":["object","null"],"required":["planDigest","planVersion","actionCount","destructiveActionCount","generatedAt","expiresAt","supersededAt"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"supersededAt":{"type":["string","null"],"format":"date-time"}}},"currentPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"executionApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"teardownApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"actionSummary":{"type":"object","required":["total","truncated","byStatus","destructive","ambiguous"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"byStatus":{"type":"object","additionalProperties":true},"destructive":{"type":"integer","minimum":0},"ambiguous":{"type":"integer","minimum":0,"description":"Actions whose provider outcome is genuinely unknown. Never retried automatically."}}},"resourceSummary":{"type":"object","required":["total","truncated","runOwned","preExisting","ambiguous","awaitingTeardown"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"runOwned":{"type":"integer","minimum":0},"preExisting":{"type":"integer","minimum":0,"description":"Resources this run did not create. Teardown never deletes one."},"ambiguous":{"type":"integer","minimum":0},"awaitingTeardown":{"type":"integer","minimum":0}}},"verification":{"type":["object","null"],"required":["passed","planDigest","observedAt"],"additionalProperties":false,"properties":{"passed":{"type":"boolean"},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observedAt":{"type":"string","format":"date-time"}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"limitations":{"type":"array","items":{"type":"string"},"description":"What is honestly not known or not settled about this run right now."},"nextLifecycleAction":{"type":["string","null"],"description":"The engine’s own next lifecycle step for this run, whoever may take it. Null when nothing is pending."},"nextAgentTool":{"type":["string","null"],"description":"The run tool that carries the next lifecycle step, when that step is an agent step. Naming it is not a claim that this credential may call it — see currentCredentialAuthorized."},"requiredScope":{"type":["string","null"],"description":"The OAuth scope nextAgentTool requires. Null when the next step is not an agent step."},"currentCredentialAuthorized":{"type":"boolean","description":"Whether the credential THIS call was made with carries requiredScope. False whenever there is no agent step at all."},"scopeStepUpRequired":{"type":"boolean","description":"True when an agent step exists and this credential does not carry its scope. Reauthorize with the named scope; an already-issued grant can never be widened by refresh."},"nextOwnerAction":{"type":["string","null"],"description":"The exact decision only the authenticated human owner may make, or null."},"ownerDecisionRequired":{"type":"boolean"},"ownerContinuation":{"type":["object","null"],"required":["surface","path","runId","available","reasonCode"],"additionalProperties":false,"properties":{"surface":{"type":"string","const":"boxfetch_control_center"},"path":{"type":"string","description":"A path on the BoxFetch app the human opens and authenticates on, including the Control Center module anchor. Never a URL, never a token, never reusable authority, and never the run id."},"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"available":{"type":"boolean","description":"Whether that surface can display THIS run. True now that the Control Center Runs module is live: the human signs in there and finds the run by id in their own run list."},"reasonCode":{"type":["string","null"],"enum":[null],"description":"Why the surface cannot display the run. Null now that the Control Center Runs module is live."}}}}},"teardownPlanDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresIdempotencyKey":true},{"name":"start_original_run_teardown","description":"Carry out the exact teardown the human owner has already approved. Never removes a resource that existed before this run or that this run only modified.","input":{"required":["runId","idempotencyKey"]},"output":"The resulting lifecycle state and, when teardown finalized, the immutable teardown receipt digest.","idempotencyRequired":true,"inputSchema":{"type":"object","required":["runId","idempotencyKey"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":128,"description":"Required caller-supplied idempotency key. A replay of the same key with the same body returns the original outcome; a conflicting body is refused rather than acted on."}}},"outputSchema":{"type":"object","required":["status","run","teardownReceiptDigest"],"additionalProperties":false,"properties":{"status":{"type":"string","const":"teardown_settled"},"run":{"type":"object","required":["runId","state","terminalReasonCode","original","agentId","connection","targetIdentity","currentPlan","currentPlanDigest","teardownPlanDigest","executionApproval","teardownApproval","actionSummary","resourceSummary","verification","executionReceiptDigest","teardownReceiptDigest","limitations","nextLifecycleAction","nextAgentTool","requiredScope","currentCredentialAuthorized","scopeStepUpRequired","nextOwnerAction","ownerDecisionRequired","ownerContinuation"],"additionalProperties":false,"properties":{"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"state":{"type":"string","description":"The run’s lifecycle state."},"terminalReasonCode":{"type":["string","null"]},"original":{"type":"object","required":["slug","version","releaseDigest"],"additionalProperties":false,"properties":{"slug":{"type":"string"},"version":{"type":"string"},"releaseDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"agentId":{"type":"string"},"connection":{"type":"object","required":["present","adapter","status","validationState","validationReasonCode"],"additionalProperties":false,"properties":{"present":{"type":"boolean"},"adapter":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","revoked","expired",null]},"validationState":{"type":["string","null"],"enum":["unvalidated","valid","invalid",null]},"validationReasonCode":{"type":["string","null"]}}},"targetIdentity":{"type":["string","null"]},"currentPlan":{"type":["object","null"],"required":["planDigest","planVersion","actionCount","destructiveActionCount","generatedAt","expiresAt","supersededAt"],"additionalProperties":false,"properties":{"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"planVersion":{"type":"integer","minimum":0},"actionCount":{"type":"integer","minimum":0},"destructiveActionCount":{"type":"integer","minimum":0},"generatedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"supersededAt":{"type":["string","null"],"format":"date-time"}}},"currentPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownPlanDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"executionApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"teardownApproval":{"type":["object","null"],"required":["kind","decision","planDigest","actorType","decidedAt","expiresAt"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["execution","teardown"]},"decision":{"type":"string","enum":["approved","declined"]},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"actorType":{"type":"string","description":"Always owner. Published so a reader can verify that an agent never approved this."},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"}}},"actionSummary":{"type":"object","required":["total","truncated","byStatus","destructive","ambiguous"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"byStatus":{"type":"object","additionalProperties":true},"destructive":{"type":"integer","minimum":0},"ambiguous":{"type":"integer","minimum":0,"description":"Actions whose provider outcome is genuinely unknown. Never retried automatically."}}},"resourceSummary":{"type":"object","required":["total","truncated","runOwned","preExisting","ambiguous","awaitingTeardown"],"additionalProperties":false,"properties":{"total":{"type":"integer","minimum":0},"truncated":{"type":"boolean"},"runOwned":{"type":"integer","minimum":0},"preExisting":{"type":"integer","minimum":0,"description":"Resources this run did not create. Teardown never deletes one."},"ambiguous":{"type":"integer","minimum":0},"awaitingTeardown":{"type":"integer","minimum":0}}},"verification":{"type":["object","null"],"required":["passed","planDigest","observedAt"],"additionalProperties":false,"properties":{"passed":{"type":"boolean"},"planDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"observedAt":{"type":"string","format":"date-time"}}},"executionReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"limitations":{"type":"array","items":{"type":"string"},"description":"What is honestly not known or not settled about this run right now."},"nextLifecycleAction":{"type":["string","null"],"description":"The engine’s own next lifecycle step for this run, whoever may take it. Null when nothing is pending."},"nextAgentTool":{"type":["string","null"],"description":"The run tool that carries the next lifecycle step, when that step is an agent step. Naming it is not a claim that this credential may call it — see currentCredentialAuthorized."},"requiredScope":{"type":["string","null"],"description":"The OAuth scope nextAgentTool requires. Null when the next step is not an agent step."},"currentCredentialAuthorized":{"type":"boolean","description":"Whether the credential THIS call was made with carries requiredScope. False whenever there is no agent step at all."},"scopeStepUpRequired":{"type":"boolean","description":"True when an agent step exists and this credential does not carry its scope. Reauthorize with the named scope; an already-issued grant can never be widened by refresh."},"nextOwnerAction":{"type":["string","null"],"description":"The exact decision only the authenticated human owner may make, or null."},"ownerDecisionRequired":{"type":"boolean"},"ownerContinuation":{"type":["object","null"],"required":["surface","path","runId","available","reasonCode"],"additionalProperties":false,"properties":{"surface":{"type":"string","const":"boxfetch_control_center"},"path":{"type":"string","description":"A path on the BoxFetch app the human opens and authenticates on, including the Control Center module anchor. Never a URL, never a token, never reusable authority, and never the run id."},"runId":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"},"available":{"type":"boolean","description":"Whether that surface can display THIS run. True now that the Control Center Runs module is live: the human signs in there and finds the run by id in their own run list."},"reasonCode":{"type":["string","null"],"enum":[null],"description":"Why the surface cannot display the run. Null now that the Control Center Runs module is live."}}}}},"teardownReceiptDigest":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$","description":"The immutable teardown receipt’s digest once finalized. The receipt BODY is never returned to an agent."}}},"errorSchema":{"type":"object","required":["error","reasonCodes"],"additionalProperties":true,"properties":{"error":{"type":"string","description":"Stable machine-readable error code.","enum":["missing_authorization","malformed_authorization","malformed_token","invalid_signature","expired_token","token_not_registered","token_revoked","invalid_request","invalid_json","request_body_too_large","unknown_tool","missing_asset_id","missing_media_asset_id","missing_agent_id","missing_quoted_price","invalid_quoted_price","missing_idempotency_key","quote_required","missing_purchase_id","missing_approval_request_id","idempotency_conflict","insufficient_credits","price_changed","native_settlement_failed","rate_limited","asset_unavailable","agent_not_found","agent_not_active","preview_not_allowed","purchase_not_allowed","content_not_found","not_entitled","package_release_unregistered","package_delivery_deferred","runtime_handoff_unavailable","mcp_tool_failed"]},"reasonCodes":{"type":"array","items":{"type":"string"},"description":"Secondary stable reason codes used by validation, auth, permission, idempotency, and rate-limit failures."},"retryAfterSeconds":{"type":"integer","minimum":0,"description":"Present on rate_limited errors. Number of seconds to wait before retrying."},"retryable":{"type":"boolean","description":"True only when the same bounded request may be retried after a temporary operational dependency recovers."},"details":{"type":"object","additionalProperties":true}}},"version":"0.1","auth":"bearer","requiresIdempotencyKey":true}]}