{"openapi":"3.1.0","info":{"title":"BoxFetch Connector","version":"0.1","summary":"Public machine contract for BoxFetch controlled execution over the allowlisted controlled-beta Original catalog. Eligible launch acquisition is agent-attributed and follows the human owner’s connector policy.","description":"This document describes the supported protected MCP connector, public bootstrap, Original-only discovery, registration, claim-state, and machine-discovery routes. Session-gated dashboard, admin, seller, and media surfaces are intentionally not part of this public contract.","contact":{"name":"BoxFetch MCP","url":"https://boxfetch.ai/mcp/guide"},"x-status":{"launchCatalog":"controlled_beta_originals_only","launchAcquisitionModel":"originals_launch_access","walletFundingRequiredForLaunch":false,"publicSellerPublishingEnabled":false,"creditsAreCash":false,"creditsBuyerRedeemable":false,"sellerExternalPayoutEnabled":false,"officialConnectorListed":false,"publicMediaDiscoveryEnabled":false}},"servers":[{"url":"https://app.boxfetch.ai","description":"Request origin"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"opaque","description":"OAuth access token issued after discovery, dynamic registration, human consent, and PKCE, or a registered BoxFetch Connector bearer on the secondary flattened tool API."}},"schemas":{"Error":{"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}}},"JsonRpcError":{"type":"object","required":["jsonrpc","id","error"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"null"}]},"error":{"type":"object","required":["code","message"],"additionalProperties":false,"properties":{"code":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":false,"properties":{"reasonCodes":{"type":"array","items":{"type":"string"}},"retryAfterSeconds":{"type":"number"},"details":{"type":"object","additionalProperties":true}}}}}}},"JsonRpcSuccess":{"type":"object","required":["jsonrpc","id","result"],"additionalProperties":false,"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"null"}]},"result":{"type":"object","additionalProperties":true,"description":"JSON-RPC result object. For tools/call, result may contain content: [{ type: \"text\", text: string }], structuredContent: object, and isError: boolean.","properties":{"content":{"type":"array","items":{"type":"object","required":["type","text"],"additionalProperties":false,"properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}}}},"structuredContent":{"type":"object","additionalProperties":true},"isError":{"type":"boolean"}}}}},"SearchAssetsInput":{"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."}},"description":"Search the allowlisted controlled-beta BoxFetch Original catalog. Returns bounded public-safe Original summaries only."},"SearchAssetsOutput":{"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"}}},"PreviewAssetInput":{"type":"object","required":["assetId"],"additionalProperties":false,"properties":{"assetId":{"type":"string"}},"description":"Return a bounded preview for one allowlisted BoxFetch Original. Never returns entitled content or storage details."},"PreviewAssetOutput":{"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"}}}}}}},"QuoteAssetInput":{"type":"object","required":["assetId"],"additionalProperties":false,"properties":{"assetId":{"type":"string"}},"description":"Issue a durable single-use quote for one allowlisted BoxFetch Original, binding its current acquisition and content identity for purchase_asset."},"QuoteAssetOutput":{"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}}},"PurchaseAssetInput":{"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."}},"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."},"PurchaseAssetOutput":{"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."}}},"GetPurchaseApprovalInput":{"type":"object","required":["approvalRequestId"],"additionalProperties":false,"properties":{"approvalRequestId":{"type":"string"}},"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."},"GetPurchaseApprovalOutput":{"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"]}}},"GetAssetContentInput":{"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."}},"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."},"GetAssetContentOutput":{"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."}}},"AcquireBoxfetchPackageInput":{"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."}},"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."},"AcquireBoxfetchPackageOutput":{"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]}}}}},"SubmitUsageFeedbackInput":{"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}},"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."},"SubmitUsageFeedbackOutput":{"type":"object","required":["ok"],"additionalProperties":true,"properties":{"ok":{"type":"boolean"},"reviewId":{"type":"string"},"reasonCodes":{"type":"array","items":{"type":"string"}}}},"GetAgentBudgetInput":{"type":"object","additionalProperties":false,"properties":{},"description":"Read the calling agent’s bounded permission, approval, and spend-control snapshot."},"GetAgentBudgetOutput":{"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"}}},"PrepareOriginalRunInput":{"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."}},"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."},"PrepareOriginalRunOutput":{"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."}}}}}}},"GetOriginalRunInput":{"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}$"}},"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."},"GetOriginalRunOutput":{"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."}}},"InspectOriginalRunInput":{"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."}},"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."},"InspectOriginalRunOutput":{"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"}}}}},"StartOriginalRunInput":{"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."}},"description":"Carry out the exact plan the human owner has already approved. Refuses when no current owner approval covers the exact current plan digest."},"StartOriginalRunOutput":{"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."}}},"CancelOriginalRunInput":{"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."}},"description":"Stop a controlled run. Always available, and never requires the authority that started the run."},"CancelOriginalRunOutput":{"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."}}}}}}},"PrepareOriginalRunTeardownInput":{"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."}},"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."},"PrepareOriginalRunTeardownOutput":{"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}$"}}},"StartOriginalRunTeardownInput":{"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."}},"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."},"StartOriginalRunTeardownOutput":{"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."}}}},"parameters":{"IdempotencyKey":{"name":"Idempotency-Key","in":"header","required":false,"description":"Required for purchase_asset calls. Accepted as either an HTTP header or the `idempotencyKey` body field on the tool input. Replays return the original outcome; conflicts are rejected.","schema":{"type":"string","minLength":8,"maxLength":128}}}},"paths":{"/llms.txt":{"get":{"summary":"Discovery file for AI clients (plain text).","security":[],"responses":{"200":{"description":"Plain text llms.txt.","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/.well-known/boxfetch-mcp":{"get":{"summary":"Machine-readable discovery document (canonical well-known path).","security":[],"responses":{"200":{"description":"Discovery JSON.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/public/mcp/manifest":{"get":{"summary":"MCP connector manifest with tool JSON schemas.","security":[],"responses":{"200":{"description":"Connector manifest JSON.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/public/openapi":{"get":{"summary":"This OpenAPI 3.1 document.","security":[],"responses":{"200":{"description":"OpenAPI JSON.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/public/agentic/showcase":{"get":{"summary":"Public allowlisted Original showcase. Never returns full content.","security":[],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25,"default":12}}],"responses":{"200":{"description":"Public controlled-beta Original summary.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/public/agentic/search":{"get":{"summary":"Anonymous allowlisted Original search. No credential.","description":"Public-safe listing projections only: no full content, no provider URL, no signed URL, no storage key, no private seller identity. 10-20 results per page, two pages maximum, then a registration handoff. Cursors are server-signed and bound to the exact filter set.","security":[],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":200}},{"name":"category","in":"query","required":false,"schema":{"type":"string"}},{"name":"contentKind","in":"query","required":false,"schema":{"type":"string"}},{"name":"free","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"trust","in":"query","required":false,"schema":{"type":"string","enum":["verified"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":10,"maximum":20}}],"responses":{"200":{"description":"A results page or the registration handoff.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid or tampered cursor.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited. Body includes retryAfterSeconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/public/agentic/items/{assetId}":{"get":{"summary":"Public-safe detail for one listing. No credential.","security":[],"parameters":[{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Public item projection plus schema.org structured metadata.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Unknown, unlisted, unapproved, or deleted asset.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/public/agentic/agents/register":{"post":{"summary":"Register a provisional agent identity. No credential.","description":"Creates an UNOWNED provisional agent and returns three separate values: a public opaque claimRequestId embedded in the exact human claim URL, a body-only claimPollSecret for the registering agent, and a human-readable fallback claimCode. The claim URL contains no secret and does not authorize the claim. The agent cannot claim itself. Secrets are never persisted raw. Rate-limited per client per hour on a durable counter.","security":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","maxLength":80,"description":"Optional display name shown to the human."}}}}}},"responses":{"201":{"description":"Provisional agent created; public claim URL and separate polling secret returned.","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"description":"Registration rate limited. Body includes retryAfterSeconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Registration unavailable in this runtime.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/public/agentic/agents/claim-status":{"post":{"summary":"Poll a pending claim. Returns bounded state only; never a credential.","description":"POST only, so the polling secret stays out of URLs, access logs, referrers, and browser history. Returns pending while the human has not confirmed, and claimed once they have. It NEVER returns a credential in any state: after the claim, the agent connects to the protected MCP endpoint and completes the standard OAuth authorization it advertises.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["claimPollSecret"],"additionalProperties":false,"properties":{"claimPollSecret":{"type":"string","minLength":16,"maxLength":256}}}}}},"responses":{"200":{"description":"Bounded claim state only. Never contains a credential.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Missing claim polling secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Unknown claim polling secret.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/mcp/public":{"post":{"summary":"UNAUTHENTICATED MCP Streamable HTTP bootstrap endpoint.","description":"The cold-start MCP rail. An MCP client with no BoxFetch credential can complete initialize and tools/list here and call exactly five tools: boxfetch_discover, boxfetch_search_public, boxfetch_get_public_item, boxfetch_register_agent, boxfetch_check_claim_status. Nothing that purchases, reads entitled content, reads budgets, reads private previews, touches approvals, or reads human account data is reachable. A protected tool name returns 403 with the registration next action. Origin is validated. Initialize creates a durably bounded session, notifications/initialized activates it, DELETE releases it, and GET remains 405 because there is no server-initiated SSE stream.","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method"],"additionalProperties":true,"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"oneOf":[{"type":"string"},{"type":"integer"},{"type":"null"}]},"method":{"type":"string","enum":["initialize","notifications/initialized","tools/list","tools/call"]},"params":{"type":"object","additionalProperties":true}}}}}},"responses":{"200":{"description":"JSON-RPC success response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcSuccess"}}}},"202":{"description":"Notification accepted; no JSON-RPC result body."},"400":{"description":"Parse error, invalid request, invalid params, batch, or unsupported MCP-Protocol-Version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"403":{"description":"Disallowed Origin, or a protected tool name requested on the public rail.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"406":{"description":"Accept header excludes application/json; this endpoint answers JSON only.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"413":{"description":"Request body too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"429":{"description":"Registration rate limited. Body includes retryAfterSeconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}}}},"get":{"summary":"No server-initiated SSE stream. Origin is validated, then 405.","security":[],"responses":{"403":{"description":"Disallowed Origin."},"405":{"description":"SSE not implemented. Allow: POST, DELETE, OPTIONS."}}},"delete":{"summary":"Terminate the bootstrap session named by Mcp-Session-Id. No credential; the session id is the capability.","security":[],"parameters":[{"name":"Mcp-Session-Id","in":"header","required":true,"schema":{"type":"string"},"description":"The session id returned by initialize on this endpoint."}],"responses":{"204":{"description":"Session terminated."},"403":{"description":"Disallowed Origin."},"404":{"description":"No Mcp-Session-Id header, or an id this endpoint does not hold."}}}},"/api/mcp/external":{"post":{"summary":"Secondary flattened BoxFetch Connector bearer API.","description":"Secondary registered-bearer integration for the BoxFetch Connector. It exposes the same default seven-tool hosted authority, BoxFetch Originals catalog restriction, durable-quote purchase contract, pause behavior, and revoke behavior as an ordinary default OAuth grant. It is a flattened HTTP tool API, not a standard JSON-RPC MCP endpoint. Primary request shape is `{ \"toolName\": \"search_assets\", ...tool input fields }`; `{ \"tool\": \"search_assets\", \"input\": {} }` and `{ \"name\": \"search_assets\", \"arguments\": {} }` are also accepted. Rate-limited per token, per agent, per user, and per user/per tool.","security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["toolName"],"additionalProperties":true,"properties":{"toolName":{"type":"string","enum":["search_assets","preview_asset","quote_asset","purchase_asset","get_purchase_approval","submit_usage_feedback","get_asset_content","acquire_boxfetch_package"],"description":"Tool name. Tool input fields are flattened into the same JSON object."}}},{"type":"object","required":["tool","input"],"additionalProperties":false,"properties":{"tool":{"type":"string","enum":["search_assets","preview_asset","quote_asset","purchase_asset","get_purchase_approval","submit_usage_feedback","get_asset_content","acquire_boxfetch_package"]},"input":{"type":"object","additionalProperties":true}}},{"type":"object","required":["name","arguments"],"additionalProperties":false,"properties":{"name":{"type":"string","enum":["search_assets","preview_asset","quote_asset","purchase_asset","get_purchase_approval","submit_usage_feedback","get_asset_content","acquire_boxfetch_package"]},"arguments":{"type":"object","additionalProperties":true}}}]},"examples":{"flattened":{"value":{"toolName":"search_assets","limit":5}},"envelope":{"value":{"tool":"search_assets","input":{"limit":5}}},"nameArguments":{"value":{"name":"search_assets","arguments":{"limit":5}}}}}}},"responses":{"200":{"description":"Tool result. Shape depends on `tool`.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Validation error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden (permission, approval required, or quote/idempotency conflict).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Unknown asset or approval request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Idempotency conflict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited. Body includes retryAfterSeconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/mcp/standard":{"post":{"summary":"Protected MCP Streamable HTTP JSON-RPC endpoint.","description":"Streamable HTTP MCP JSON-RPC endpoint for a CLAIMED BoxFetch agent. Supports initialize, notifications/*, tools/list, and tools/call. Protocol revisions 2025-11-25 and 2025-06-18 are negotiated at initialize; an MCP-Protocol-Version header naming an unsupported revision is refused rather than downgraded. 2025-03-26 is NOT offered, because that revision requires JSON-RPC batch reception which this transport does not implement. Origin is validated on POST, GET, and DELETE. Primary onboarding is standard MCP OAuth 2.1: a 401 carries a WWW-Authenticate challenge naming RFC 9728 protected-resource metadata, which leads to RFC 8414 authorization-server metadata, RFC 7591 dynamic client registration, and an authorization-code flow with mandatory PKCE (S256) and RFC 8707 resource binding. OAuth tokens are scoped, agent-bound, expiring, and revocable; the default OAuth grant exposes exactly seven launch tools, and explicit human consent to boxfetch:budget adds only get_agent_budget. Registered BoxFetch bearer tokens are also accepted on this endpoint and expose the same fixed default seven-tool launch profile with no budget step-up, seller publishing, or media tools. A launch-visible tool outside an OAuth grant's scopes is refused with insufficient_scope. A tool outside the ordinary connector profile is refused with tool_not_available and TOOL_NOT_IN_LAUNCH_PROFILE; reauthorization cannot unlock it. Initialize creates a protected durable session, notifications/initialized activates it, DELETE releases it, and GET remains 405 because there is no server-initiated SSE stream. JSON-RPC batching, resources, prompts, seller publishing, and media tools remain outside the ordinary connector profile. A 401 also names the public bootstrap endpoint so an agent with no owner has a path forward.","security":[{"bearerAuth":[]}],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","method"],"additionalProperties":true,"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"oneOf":[{"type":"string"},{"type":"integer"},{"type":"null"}]},"method":{"type":"string","enum":["initialize","notifications/initialized","tools/list","tools/call"]},"params":{"type":"object","additionalProperties":true}}}}}},"responses":{"200":{"description":"JSON-RPC success response for request messages.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcSuccess"}}}},"202":{"description":"Notification accepted; no JSON-RPC result body."},"400":{"description":"Parse error, invalid request, invalid params, batch, or unsupported MCP-Protocol-Version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"401":{"description":"Missing or invalid bearer token. Body names the public bootstrap endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"403":{"description":"Disallowed Origin.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"406":{"description":"Accept header excludes application/json; this endpoint answers JSON only.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"413":{"description":"Request body too large.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}},"429":{"description":"Rate limited. Body includes retryAfterSeconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcError"}}}}}},"get":{"summary":"No server-initiated SSE stream. Origin is validated, then 405.","security":[],"responses":{"403":{"description":"Disallowed Origin."},"405":{"description":"SSE not implemented. Allow: POST, DELETE, OPTIONS."}}},"delete":{"summary":"Terminate the MCP session named by Mcp-Session-Id. No credential required; the session id is the capability, not a credential.","security":[],"parameters":[{"name":"Mcp-Session-Id","in":"header","required":true,"schema":{"type":"string"},"description":"The session id returned by initialize on this endpoint."}],"responses":{"204":{"description":"Session terminated."},"403":{"description":"Disallowed Origin."},"404":{"description":"No Mcp-Session-Id header, or an id this endpoint does not hold."}}}}},"x-tools":[{"name":"search_assets","description":"Search the allowlisted controlled-beta BoxFetch Original catalog. Returns bounded public-safe Original summaries only.","requiresPurchase":false,"requiresIdempotencyKey":false},{"name":"preview_asset","description":"Return a bounded preview for one allowlisted BoxFetch Original. Never returns entitled content or storage details.","requiresPurchase":false,"requiresIdempotencyKey":false},{"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.","requiresPurchase":false,"requiresIdempotencyKey":false},{"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.","requiresPurchase":false,"requiresIdempotencyKey":true},{"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.","requiresPurchase":false,"requiresIdempotencyKey":false},{"name":"get_agent_budget","description":"Read the calling agent’s bounded permission, approval, and spend-control snapshot.","requiresPurchase":false,"requiresIdempotencyKey":false},{"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.","requiresPurchase":false,"requiresIdempotencyKey":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.","requiresPurchase":true,"requiresIdempotencyKey":false},{"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.","requiresPurchase":false,"requiresIdempotencyKey":true},{"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.","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.","requiresPurchase":false,"requiresIdempotencyKey":false},{"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.","requiresPurchase":false,"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.","requiresPurchase":false,"requiresIdempotencyKey":true},{"name":"cancel_original_run","description":"Stop a controlled run. Always available, and never requires the authority that started the run.","requiresPurchase":false,"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.","requiresPurchase":false,"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.","requiresPurchase":false,"requiresIdempotencyKey":true}],"security":[{"bearerAuth":[]}]}