{"components":{"parameters":{"IdempotencyKey":{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":8,"pattern":"^[!-~]+$","type":"string"}},"OptionalIdempotencyKey":{"in":"header","name":"Idempotency-Key","required":false,"schema":{"maxLength":128,"minLength":8,"pattern":"^[!-~]+$","type":"string"}}},"schemas":{"AgentCreate":{"additionalProperties":false,"properties":{"display_label":{"maxLength":100,"minLength":1,"type":"string"},"operator_group_ref":{"description":"Admin-assigned opaque grouping","maxLength":128,"minLength":1,"type":["string","null"]},"scopes":{"default":["capabilities:write","capabilities:read","checks:write","checks:read","usage:write","self:delete"],"items":{"enum":["capabilities:write","capabilities:read","checks:write","checks:read","usage:write","self:delete"],"type":"string"},"minItems":1,"type":"array","uniqueItems":true},"traffic_class":{"default":"UNKNOWN","enum":["CONTROLLED","EXTERNAL_REVIEWED","UNKNOWN"],"type":"string"}},"required":["display_label"],"type":"object"},"AgentCreateResponse":{"additionalProperties":false,"properties":{"agent":{"$ref":"#/components/schemas/Principal"},"credential":{"$ref":"#/components/schemas/BearerCredential"}},"required":["agent","credential"],"type":"object"},"AgentRevocationResponse":{"additionalProperties":false,"properties":{"agent":{"type":"object"}},"required":["agent"],"type":"object"},"ArrayItemSchemaRequirement":{"additionalProperties":false,"description":"Caller-specific requirement over every explicit type=array node in one bounded tool schema location","properties":{"applies_when_modes":{"items":{"$ref":"#/components/schemas/CallerProfileMode"},"maxItems":8,"minItems":1,"type":"array","uniqueItems":true},"schema_location":{"enum":["input","output"],"type":"string"}},"required":["schema_location"],"type":"object"},"BearerCredential":{"additionalProperties":false,"properties":{"token":{"description":"Returned in this response; only a digest is stored","type":"string"},"type":{"const":"Bearer"}},"required":["type","token"],"type":"object"},"CallerProfileMode":{"description":"Opaque caller profile mode used only for exact, case-sensitive GAP-03 applicability","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$","type":"string"},"Capability":{"properties":{"capability_key":{"type":"string"},"created_at":{"format":"date-time","type":"string"},"expires_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"revision_label":{"type":"string"},"snapshot":{"$ref":"#/components/schemas/CapabilitySnapshot"},"snapshot_digest":{"type":"string"},"source_kind":{"const":"CALLER_PROVIDED"}},"required":["id","capability_key","revision_label","snapshot_digest","source_kind","created_at","expires_at"],"type":"object"},"CapabilityCreate":{"additionalProperties":false,"properties":{"capability_key":{"maxLength":128,"minLength":1,"type":"string"},"revision_label":{"maxLength":128,"minLength":1,"type":"string"},"snapshot":{"$ref":"#/components/schemas/CapabilitySnapshot"}},"required":["capability_key","revision_label","snapshot"],"type":"object"},"CapabilityResponse":{"additionalProperties":false,"properties":{"capability":{"$ref":"#/components/schemas/Capability"}},"required":["capability"],"type":"object"},"CapabilitySnapshot":{"additionalProperties":false,"properties":{"captured_at":{"format":"date-time","type":"string"},"protocol":{"additionalProperties":false,"properties":{"name":{"maxLength":64,"type":"string"},"revision":{"maxLength":64,"type":"string"},"transport":{"maxLength":64,"type":"string"}},"type":"object"},"schema_version":{"maxLength":80,"type":"string"},"tools":{"items":{"$ref":"#/components/schemas/CapabilityTool"},"maxItems":10,"type":"array"}},"type":"object"},"CapabilityTool":{"additionalProperties":false,"properties":{"inputSchema":{"$ref":"#/components/schemas/JsonSchemaObject"},"max_input_bytes":{"maximum":262144,"minimum":1,"type":"integer"},"name":{"maxLength":128,"minLength":1,"type":"string"},"outputSchema":{"$ref":"#/components/schemas/JsonSchemaObject"}},"required":["name"],"type":"object"},"CheckCreate":{"additionalProperties":false,"properties":{"capability_revision_id":{"maxLength":64,"minLength":1,"type":"string"},"previous_capability_revision_id":{"maxLength":64,"minLength":1,"type":"string"},"profile":{"$ref":"#/components/schemas/ProfileRef"},"requirements":{"$ref":"#/components/schemas/SupportedConsumerRequirements"},"source_kind":{"const":"CALLER_PROVIDED"}},"required":["capability_revision_id","source_kind","profile","requirements"],"type":"object"},"CheckReport":{"properties":{"checks":{"items":{"$ref":"#/components/schemas/CheckResult"},"type":"array"},"coverage":{"$ref":"#/components/schemas/Coverage"},"evaluated_at":{"format":"date-time","type":"string"},"lifecycle":{"enum":["QUEUED","RUNNING","FINISHED","CANCELLED"],"type":"string"},"limitations":{"items":{"type":"string"},"type":"array"},"profile":{"type":"object"},"requirements_digest":{"type":"string"},"revision_changes":{"type":"object"},"run_id":{"type":"string"},"runner":{"type":"object"},"schema_version":{"const":"exactlane.check-report/0.1"},"source":{"properties":{"captured_at":{"format":"date-time","type":["string","null"]},"kind":{"const":"CALLER_PROVIDED"},"live_endpoint_observed":{"const":false},"observed_at":{"type":"null"}},"required":["kind","live_endpoint_observed"],"type":"object"},"subject":{"type":"object"},"trust":{"type":"object"},"verdict":{"description":"Finished-report aggregation precedence: any ERROR produces SYSTEM_ERROR; otherwise any FAIL produces FAIL; otherwise any UNSUPPORTED produces UNSUPPORTED; otherwise any NOT_RUN produces INCOMPLETE; otherwise the verdict is PASS. Report-level UNSUPPORTED and SYSTEM_ERROR are finished-report outcomes, not HTTP error responses.","enum":["PASS","FAIL","INCOMPLETE","UNSUPPORTED","SYSTEM_ERROR",null],"type":["string","null"]}},"required":["schema_version","run_id","lifecycle","verdict","subject","profile","runner","requirements_digest","source","coverage","checks","revision_changes","trust","evaluated_at","limitations"],"type":"object"},"CheckResponse":{"additionalProperties":false,"properties":{"check":{"$ref":"#/components/schemas/CheckReport"}},"required":["check"],"type":"object"},"CheckResult":{"properties":{"check_id":{"type":"string"},"evidence_path":{"type":"string"},"expected":{},"observed":{},"reason":{"type":"string"},"result":{"description":"Per-check evidence result. PASS: the condition was evaluated with supported semantics and the caller's requirement was met. FAIL: the evaluator proved a concrete incompatibility with the caller's requirement. NOT_RUN: the check did not execute because evidence was missing or stale, or because a prerequisite check could not run. UNSUPPORTED: the condition depends on semantics outside the fixed evaluator profile; this is neither proof of compatibility nor incompatibility. ERROR: a bounded internal runner, artifact, or report condition was represented as a check result.","enum":["PASS","FAIL","NOT_RUN","UNSUPPORTED","ERROR"],"type":"string"}},"required":["check_id","result"],"type":"object"},"ConsumerRequirements":{"additionalProperties":false,"properties":{"exposed_tool_identifier":{"$ref":"#/components/schemas/ExposedToolIdentifierRule"},"max_snapshot_age_seconds":{"maximum":2592000,"minimum":1,"type":"integer"},"protocol_revision":{"maxLength":64,"type":"string"},"required_tools":{"items":{"$ref":"#/components/schemas/ToolRequirement"},"maxItems":10,"minItems":1,"type":"array"},"schema_version":{"const":"exactlane.consumer-requirements/0.1"},"transport":{"maxLength":64,"type":"string"}},"required":["schema_version","protocol_revision","transport","required_tools"],"type":"object"},"ConsumerRequirementsV02":{"additionalProperties":false,"properties":{"caller_profile_mode":{"$ref":"#/components/schemas/CallerProfileMode"},"exposed_tool_identifier":{"$ref":"#/components/schemas/ExposedToolIdentifierRule"},"max_snapshot_age_seconds":{"maximum":2592000,"minimum":1,"type":"integer"},"protocol_revision":{"maxLength":64,"type":"string"},"required_tools":{"items":{"$ref":"#/components/schemas/ToolRequirementV02"},"maxItems":10,"minItems":1,"type":"array"},"schema_version":{"const":"exactlane.consumer-requirements/0.2"},"transport":{"maxLength":64,"type":"string"}},"required":["schema_version","protocol_revision","transport","required_tools"],"type":"object"},"Coverage":{"additionalProperties":false,"properties":{"errors":{"minimum":0,"type":"integer"},"executed":{"minimum":0,"type":"integer"},"failed":{"minimum":0,"type":"integer"},"not_run":{"minimum":0,"type":"integer"},"passed":{"minimum":0,"type":"integer"},"required":{"minimum":0,"type":"integer"},"unsupported":{"minimum":0,"type":"integer"}},"required":["required","executed","passed","failed","not_run","unsupported","errors"],"type":"object"},"Error":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string"},"details":{},"message":{"type":"string"}},"required":["code","message"],"type":"object"}},"required":["error"],"type":"object"},"ExposedToolIdentifierRule":{"additionalProperties":false,"description":"For each required tool, compare len(server_identifier + separator + tool.name) with max_characters; all parts are visible ASCII","properties":{"max_characters":{"maximum":264,"minimum":1,"type":"integer"},"separator":{"maxLength":8,"minLength":1,"pattern":"^[!-~]+$","type":"string"},"server_identifier":{"maxLength":128,"minLength":1,"pattern":"^[!-~]+$","type":"string"}},"required":["server_identifier","separator","max_characters"],"type":"object"},"JsonSchemaObject":{"description":"JSON Schema object; the fixed profile supports only its documented keyword subset","type":"object"},"Principal":{"additionalProperties":false,"properties":{"access_kind":{"enum":["bootstrap","public_preview"],"type":"string"},"created_at":{"format":"date-time","type":"string"},"display_label":{"type":"string"},"expires_at":{"format":"date-time","type":["string","null"]},"id":{"type":"string"},"operator_group_ref":{"type":["string","null"]},"revoked_at":{"format":"date-time","type":["string","null"]},"scopes":{"items":{"enum":["capabilities:write","capabilities:read","checks:write","checks:read","usage:write","self:delete"],"type":"string"},"type":"array"},"traffic_class":{"enum":["CONTROLLED","EXTERNAL_REVIEWED","UNKNOWN"],"type":"string"}},"required":["id","display_label","scopes","traffic_class","access_kind","created_at","expires_at","revoked_at"],"type":"object"},"ProfileRef":{"additionalProperties":false,"properties":{"id":{"const":"mcp-consumer-fit"},"version":{"enum":["0.1","0.2"],"type":"string"}},"required":["id","version"],"type":"object"},"PublicAccessDescriptor":{"additionalProperties":false,"properties":{"expires_at":{"format":"date-time","type":"string"},"kind":{"const":"public_preview"},"lifetime_seconds":{"const":1800,"type":"integer"},"notes":{"type":"string"},"quotas":{"additionalProperties":false,"properties":{"capabilities":{"const":2,"type":"integer"},"checks":{"const":3,"type":"integer"},"usage_events":{"const":2,"type":"integer"}},"required":["capabilities","checks","usage_events"],"type":"object"},"scopes":{"items":{"enum":["capabilities:write","capabilities:read","checks:write","checks:read","usage:write","self:delete"],"type":"string"},"type":"array"}},"required":["kind","lifetime_seconds","expires_at","quotas","scopes","notes"],"type":"object"},"PublicAccessGrantCreate":{"additionalProperties":false,"properties":{"display_label":{"maxLength":100,"minLength":1,"type":"string"}},"type":"object"},"PublicAccessGrantResponse":{"additionalProperties":false,"properties":{"access":{"$ref":"#/components/schemas/PublicAccessDescriptor"},"agent":{"$ref":"#/components/schemas/Principal"},"credential":{"description":"Present only on the original 201; omitted or null on replay","oneOf":[{"$ref":"#/components/schemas/BearerCredential"},{"type":"null"}]},"credential_disclosure":{"const":"once"}},"required":["agent","access","credential_disclosure"],"type":"object"},"SchemaDialectIdentifier":{"description":"Absolute visible-ASCII URI compared by exact string equality","maxLength":256,"minLength":3,"pattern":"^[A-Za-z][A-Za-z0-9+.-]*:[!-~]+$","type":"string"},"SupportedConsumerRequirements":{"description":"Profile 0.1 uses requirements 0.1; profile 0.2 uses requirements 0.2","oneOf":[{"$ref":"#/components/schemas/ConsumerRequirements"},{"$ref":"#/components/schemas/ConsumerRequirementsV02"}]},"ToolRequirement":{"additionalProperties":false,"properties":{"estimated_input_bytes":{"maximum":262144,"minimum":0,"type":"integer"},"name":{"maxLength":128,"minLength":1,"type":"string"},"provided_input_fields":{"additionalProperties":{"enum":["string","number","integer","boolean","array","object","null"],"type":"string"},"maxProperties":30,"type":"object"},"required_input_schema_dialect":{"$ref":"#/components/schemas/SchemaDialectIdentifier"},"required_output_paths":{"additionalProperties":{"enum":["string","number","integer","boolean","array","object","null"],"type":"string"},"maxProperties":30,"type":"object"},"required_output_schema_dialect":{"$ref":"#/components/schemas/SchemaDialectIdentifier"}},"required":["name"],"type":"object"},"ToolRequirementV02":{"additionalProperties":false,"properties":{"array_item_schema_requirements":{"description":"At most one input rule and one output rule; duplicate locations are rejected","items":{"$ref":"#/components/schemas/ArrayItemSchemaRequirement"},"maxItems":2,"minItems":1,"type":"array"},"estimated_input_bytes":{"maximum":262144,"minimum":0,"type":"integer"},"name":{"maxLength":128,"minLength":1,"type":"string"},"provided_input_fields":{"additionalProperties":{"enum":["string","number","integer","boolean","array","object","null"],"type":"string"},"maxProperties":30,"type":"object"},"required_input_schema_dialect":{"$ref":"#/components/schemas/SchemaDialectIdentifier"},"required_output_paths":{"additionalProperties":{"enum":["string","number","integer","boolean","array","object","null"],"type":"string"},"maxProperties":30,"type":"object"},"required_output_schema_dialect":{"$ref":"#/components/schemas/SchemaDialectIdentifier"}},"required":["name"],"type":"object"},"UsageEventCreate":{"additionalProperties":false,"properties":{"autonomous":{"type":"boolean"},"check_run_id":{"maxLength":64,"minLength":1,"type":"string"},"decision":{"description":"Client-attested operational decision supplied by the caller. Exactlane produces compatibility evidence; the caller owns the operational decision. Exactlane validates and records this value but does not derive it from the report, and there is no universal verdict-to-decision mapping.","enum":["CONTINUE","UPDATE_INTEGRATION","HOLD"],"type":"string"},"integration_ref":{"maxLength":128,"minLength":1,"type":"string"},"is_demo":{"type":"boolean"},"is_health_check":{"type":"boolean"},"is_retry":{"type":"boolean"},"occurred_at":{"format":"date-time","type":"string"},"platform_triggered":{"type":"boolean"},"report_consumed":{"type":"boolean"},"trigger":{"enum":["NEW_WORK","DEPENDENCY_CHANGE","REQUIREMENTS_CHANGE","INTEGRATION_FAILURE","OTHER_REAL_WORK"],"type":"string"},"workflow_ref":{"maxLength":128,"minLength":1,"type":"string"}},"required":["check_run_id","integration_ref","workflow_ref","trigger","decision","report_consumed","autonomous","is_demo","is_retry","is_health_check","platform_triggered","occurred_at"],"type":"object"},"UsageEventResponse":{"additionalProperties":false,"properties":{"usage_event":{"type":"object"}},"required":["usage_event"],"type":"object"}},"securitySchemes":{"agentBearer":{"scheme":"bearer","type":"http"},"bootstrapBearer":{"description":"Local operator bootstrap credential; not an agent credential","scheme":"bearer","type":"http"}}},"info":{"description":"Bounded caller-specific static compatibility evidence. Not full MCP conformance.","title":"Exactlane Preflight Phase 0A","version":"0.1.0"},"openapi":"3.1.0","paths":{"/.well-known/exactlane.json":{"get":{"responses":{"200":{"description":"Manifest"}},"summary":"Read the static Preflight service manifest"}},"/admin":{"get":{"responses":{"200":{"description":"Private HTML overview"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"}},"security":[{"bootstrapBearer":[]}],"summary":"Read local operational inspection view"}},"/openapi.json":{"get":{"responses":{"200":{"description":"OpenAPI 3.1"}},"summary":"Read this OpenAPI document"}},"/v0/agents":{"post":{"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCreate"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentCreateResponse"}}},"description":"Credential returned once or on exact replay"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or disabled live mode"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request shape or fixed profile is unsupported"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bounded internal failure"}},"security":[{"bootstrapBearer":[]}],"summary":"Create one administrator-authorized scoped principal"}},"/v0/agents/{agent_id}":{"delete":{"parameters":[{"in":"path","name":"agent_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRevocationResponse"}}},"description":"Credential revoked"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or disabled live mode"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request shape or fixed profile is unsupported"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bounded internal failure"}},"security":[{"agentBearer":[]}],"summary":"Revoke the caller's own principal"}},"/v0/capabilities":{"post":{"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityCreate"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityResponse"}}},"description":"Capability revision created"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or disabled live mode"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request shape or fixed profile is unsupported"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bounded internal failure"}},"security":[{"agentBearer":[]}],"summary":"Store an immutable caller-provided MCP snapshot revision"}},"/v0/capabilities/{capability_id}":{"get":{"parameters":[{"in":"path","name":"capability_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityResponse"}}},"description":"Private capability revision"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or disabled live mode"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request shape or fixed profile is unsupported"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bounded internal failure"}},"security":[{"agentBearer":[]}],"summary":"Read an owned private capability revision"}},"/v0/checks":{"post":{"description":"Static only. Live targets and live source modes are rejected without network access. Exactlane produces compatibility evidence; the caller owns any operational decision.","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckCreate"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResponse"}}},"description":"Finished bounded report, including report-level UNSUPPORTED or SYSTEM_ERROR when applicable"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or disabled live mode"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request or profile rejected before a finished report exists; distinct from a finished report whose verdict is UNSUPPORTED"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Uncaught request or service failure for which no normal finished report is produced; distinct from a finished report whose verdict is SYSTEM_ERROR"}},"security":[{"agentBearer":[]}],"summary":"Run a supported mcp-consumer-fit profile against an owned caller-provided snapshot"}},"/v0/checks/{run_id}":{"get":{"parameters":[{"in":"path","name":"run_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResponse"}}},"description":"Check lifecycle and report"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or disabled live mode"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request shape or fixed profile is unsupported"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bounded internal failure"}},"security":[{"agentBearer":[]}],"summary":"Read an owned private check report"}},"/v0/public-access/grants":{"post":{"description":"Unauthenticated. Body is {} or an optional display_label. When EXACTLANE_PUBLIC_ACCESS_ENABLED is unset or false, the route still exists and returns 403 PUBLIC_ACCESS_DISABLED. Issued credentials last 30 minutes, use Phase 0A agent scopes only, and never classify traffic as EXTERNAL_REVIEWED. The bearer token is disclosed only on the original 201; exact Idempotency-Key replay returns 200 without the token and cannot recover another caller's credential. Caller owns CONTINUE/UPDATE/HOLD. Live probing remains off. Self-revoke with DELETE /v0/agents/{agent_id}.","parameters":[{"$ref":"#/components/parameters/OptionalIdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccessGrantCreate"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccessGrantResponse"}}},"description":"Exact Idempotency-Key replay without the bearer token"},"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicAccessGrantResponse"}}},"description":"Preview credential returned once; only a digest is stored"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Public Agent Preview is disabled (PUBLIC_ACCESS_DISABLED)"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request shape or fixed profile is unsupported"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bounded internal failure"}},"security":[],"summary":"Issue short-lived Public Agent Preview access"}},"/v0/usage-events":{"post":{"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageEventCreate"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageEventResponse"}}},"description":"Client-attested usage event"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Malformed request or idempotency key"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Missing or invalid credential"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or disabled live mode"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource absent or not owned"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Idempotency or unique-event conflict"},"411":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Content-Length is required"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request exceeds a hard bound"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Media type or content encoding is unsupported"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request shape or fixed profile is unsupported"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Principal quota exceeded"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bounded internal failure"}},"security":[{"agentBearer":[]}],"summary":"Acknowledge report consumption in a bounded workflow event"}}}}