{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"Blockwidth Index API","version":"0.2.2","summary":"Machine-readable discovery, qualification, publishing, and direct introduction for inference availability.","description":"Blockwidth indexes provider-declared inference availability. Buyer-facing discovery and structured search are public. Provider listing mutations require provider authentication, timestamp validation, nonce/replay protection, and an HMAC signature. Blockwidth returns provider handoffs as data and does not execute inference, transfer workloads, process payment, or custody customer inference credentials."},"servers":[{"url":"https://blockwidth.tech","description":"Configured Blockwidth deployment origin"}],"security":[],"tags":[{"name":"Index","description":"Current procurement-eligible inference availability."},{"name":"Providers","description":"Public provider identity and current eligible listings."},{"name":"Introductions","description":"Revalidated direct provider handoffs."},{"name":"Publishing","description":"Provider-authenticated availability mutation."},{"name":"Provider Intake","description":"No-account provider domain claims and provider-owned control."},{"name":"Discovery","description":"External resource metadata. Discovery metadata is not availability."},{"name":"Broker","description":"Optional natural-language translation into the same deterministic search contract."},{"name":"Operations","description":"Service readiness and public index state."}],"x-blockwidth-agent":{"name":"Blockwidth Index Agent","contract":"spec/blockwidth-agent-v0.1.md","implemented_transport":["REST","A2A_HTTP_JSON"],"a2a_base_path":"/a2a/v1","agent_card":"intentionally_unpublished","logical_skills":[{"name":"find_intelligence","operationId":"find_intelligence"},{"name":"get_provider","operationId":"get_provider"},{"name":"create_introduction","operationId":"create_introduction"}],"authority":"The agent may interpret or transport a request, but it does not establish market truth. Provider-authenticated availability and deterministic qualification remain authoritative.","protocol_claims":{"rest":"implemented","a2a_http_json":"implemented","a2a_agent_card":"unpublished","mcp_server":"not_implemented"}},"paths":{"/api/v1/health":{"get":{"operationId":"health","tags":["Operations"],"summary":"Check database-backed service readiness","responses":{"200":{"description":"Service and database are reachable.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["status","version"],"properties":{"status":{"const":"ok"},"version":{"type":"string"}}}}}},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/meta":{"get":{"operationId":"index_meta","tags":["Operations"],"summary":"Read public index counts and broker state","responses":{"200":{"description":"Current public index metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetaResponse"}}}},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/providers":{"get":{"operationId":"list_providers","tags":["Providers"],"summary":"List active providers","responses":{"200":{"description":"Active providers, up to the server limit.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["providers"],"properties":{"providers":{"type":"array","items":{"$ref":"#/components/schemas/ProviderSummary"}}}}}}},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/providers/{id}":{"get":{"operationId":"get_provider","tags":["Providers"],"summary":"Get a provider and its current eligible listings","parameters":[{"$ref":"#/components/parameters/ProviderId"}],"responses":{"200":{"description":"Provider details and current eligible listings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderDetail"}}}},"400":{"$ref":"#/components/responses/ApiError"},"404":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/listings":{"get":{"operationId":"list_intelligence","tags":["Index"],"summary":"Read current procurement-eligible listings","description":"Returns only current, active, non-disabled, procurement-eligible available or limited listings.","parameters":[{"name":"capability_family","in":"query","schema":{"type":"string","enum":["reasoning","coding"]}},{"name":"provider_id","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"handoff_automation","in":"query","schema":{"type":"string","enum":["machine_direct","human_assisted"]}},{"name":"sort","in":"query","schema":{"type":"string","enum":["price","latency","throughput","freshness"],"default":"freshness"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":30}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Current eligible listings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingSearchResult"}}}},"400":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/resources":{"get":{"operationId":"search_resources","tags":["Discovery"],"summary":"Search discovered resource metadata","description":"Resource Index records describe what has been discovered. They are not procurement offers and are never automatically treated as current availability.","parameters":[{"name":"resource_type","in":"query","schema":{"type":"string","enum":["ard_resource","mcp_server","a2a_agent","provider_model","provider_api","unknown"]}},{"name":"source_type","in":"query","schema":{"type":"string","enum":["ard_registry","ard_manifest","mcp_registry","a2a_card","provider_api","provider_feed"]}},{"name":"provider","in":"query","schema":{"type":"string","format":"uuid"}},{"name":"capability","in":"query","schema":{"type":"string","minLength":1,"maxLength":512}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":30}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Discovery metadata with provenance.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceIndexResponse"}}}},"400":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/search":{"post":{"operationId":"find_intelligence","tags":["Index"],"summary":"Find intelligence that satisfies every supplied requirement","description":"Deterministic database qualification. No unsupported constraint is relaxed and no near match is substituted.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}}},"responses":{"200":{"description":"Qualified database-backed listings. Zero matches is a valid result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"400":{"$ref":"#/components/responses/ApiError"},"413":{"$ref":"#/components/responses/ApiError"},"415":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/agent/query":{"post":{"operationId":"interpret_and_find_intelligence","tags":["Broker"],"summary":"Translate a natural-language procurement request, then run deterministic search","description":"Optional broker path. The model only translates the request into the supported requirement schema; the database still determines matches. Returns 503 when the broker/model is not configured or enabled.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentQueryRequest"}}}},"responses":{"200":{"description":"Interpreted requirements and deterministic matches. Review is required before introduction.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentQueryResponse"}}}},"400":{"$ref":"#/components/responses/ApiError"},"413":{"$ref":"#/components/responses/ApiError"},"415":{"$ref":"#/components/responses/ApiError"},"422":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"502":{"$ref":"#/components/responses/ApiError"},"503":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/introductions":{"post":{"operationId":"create_introduction","tags":["Introductions"],"summary":"Revalidate a selected listing and return its direct provider handoff","description":"Blockwidth re-checks the provider, listing, requirements, freshness, validity, suspension state, and optional version. The returned provider URL is inert data; Blockwidth does not follow it.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntroductionRequest"}}}},"responses":{"201":{"description":"Introduction recorded and provider handoff returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntroductionResponse"}}}},"400":{"$ref":"#/components/responses/ApiError"},"409":{"$ref":"#/components/responses/ApiError"},"413":{"$ref":"#/components/responses/ApiError"},"415":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/provider-claims":{"post":{"operationId":"claim_provider_domain","tags":["Provider Intake"],"summary":"Start no-account provider intake with DNS TXT or HTTPS domain-control proof","description":"Returns a public challenge document and a separate private claim capability. The private claim secret must not be published.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderClaimRequest"}}}},"responses":{"201":{"description":"Short-lived provider claim created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderClaimResponse"}}}},"400":{"$ref":"#/components/responses/ApiError"},"413":{"$ref":"#/components/responses/ApiError"},"415":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/provider-claims/{id}/verify":{"post":{"operationId":"verify_provider_domain","tags":["Provider Intake"],"summary":"Verify domain control and issue or recover a publishing credential","description":"Blockwidth accepts either the exact DNS TXT challenge or the fixed HTTPS .well-known proof path. HTTPS verification uses DNS/IP validation and no redirects. A successful new claim returns the raw publishing credential once.","parameters":[{"$ref":"#/components/parameters/ClaimId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderClaimVerifyRequest"}}}},"responses":{"200":{"description":"Domain proof verified.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderClaimVerifyResponse"}}}},"400":{"$ref":"#/components/responses/ApiError"},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"404":{"$ref":"#/components/responses/ApiError"},"409":{"$ref":"#/components/responses/ApiError"},"410":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/provider/me":{"get":{"operationId":"get_provider_control_state","tags":["Provider Intake"],"summary":"Read the authenticated provider’s own identity, domains, keys, and retained listings","security":[{"providerBearer":[]}],"parameters":[{"$ref":"#/components/parameters/BwTimestamp"},{"$ref":"#/components/parameters/BwNonce"},{"$ref":"#/components/parameters/BwSignature"}],"responses":{"200":{"description":"Provider-owned control state.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderControlState"}}}},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/provider/listings":{"get":{"operationId":"get_owned_listings","tags":["Provider Intake"],"summary":"Read retained listings owned by the authenticated provider","security":[{"providerBearer":[]}],"parameters":[{"$ref":"#/components/parameters/BwTimestamp"},{"$ref":"#/components/parameters/BwNonce"},{"$ref":"#/components/parameters/BwSignature"}],"responses":{"200":{"description":"Provider-owned retained listings.","content":{"application/json":{"schema":{"type":"object","required":["listings"],"properties":{"listings":{"type":"array","items":{"$ref":"#/components/schemas/PublishedListing"}}}}}}},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/provider/domains/claims":{"post":{"operationId":"claim_provider_handoff_domain","tags":["Provider Intake"],"summary":"Start proof for an additional handoff domain or renew primary-domain proof","security":[{"providerBearer":[]}],"parameters":[{"$ref":"#/components/parameters/BwTimestamp"},{"$ref":"#/components/parameters/BwNonce"},{"$ref":"#/components/parameters/BwSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderDomainClaimRequest"}}}},"responses":{"201":{"description":"Domain proof claim created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderClaimResponse"}}}},"400":{"$ref":"#/components/responses/ApiError"},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"409":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/provider/domains/claims/{id}/verify":{"post":{"operationId":"verify_provider_handoff_domain","tags":["Provider Intake"],"summary":"Verify an authenticated provider domain claim","security":[{"providerBearer":[]}],"parameters":[{"$ref":"#/components/parameters/ClaimId"},{"$ref":"#/components/parameters/BwTimestamp"},{"$ref":"#/components/parameters/BwNonce"},{"$ref":"#/components/parameters/BwSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderClaimVerifyRequest"}}}},"responses":{"200":{"description":"Provider domain verified.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"$ref":"#/components/responses/ApiError"},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"409":{"$ref":"#/components/responses/ApiError"},"410":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/provider/keys/rotate":{"post":{"operationId":"rotate_provider_key","tags":["Provider Intake"],"summary":"Replace the currently authenticated publishing key","description":"The old key is revoked atomically. The replacement raw key is returned once.","security":[{"providerBearer":[]}],"parameters":[{"$ref":"#/components/parameters/BwTimestamp"},{"$ref":"#/components/parameters/BwNonce"},{"$ref":"#/components/parameters/BwSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"maxProperties":0}}}},"responses":{"200":{"description":"Publishing credential rotated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishingCredential"}}}},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/availability":{"post":{"operationId":"publish_availability","tags":["Publishing"],"summary":"Publish provider-authenticated availability","description":"Provider mutation. The request body is signed exactly as sent using the BW1 canonical HMAC contract.","security":[{"providerBearer":[]}],"parameters":[{"$ref":"#/components/parameters/BwTimestamp"},{"$ref":"#/components/parameters/BwNonce"},{"$ref":"#/components/parameters/BwSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingInput"}}}},"responses":{"201":{"description":"Listing created.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["listing"],"properties":{"listing":{"$ref":"#/components/schemas/PublishedListing"}}}}}},"400":{"$ref":"#/components/responses/ApiError"},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"409":{"$ref":"#/components/responses/ApiError"},"413":{"$ref":"#/components/responses/ApiError"},"415":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}},"/api/v1/availability/{id}":{"put":{"operationId":"replace_availability","tags":["Publishing"],"summary":"Replace the authenticated provider’s own listing","description":"Provider mutation. The listing ID is bound into the signed request path; successful updates increment the immutable listing version.","security":[{"providerBearer":[]}],"parameters":[{"$ref":"#/components/parameters/ListingId"},{"$ref":"#/components/parameters/BwTimestamp"},{"$ref":"#/components/parameters/BwNonce"},{"$ref":"#/components/parameters/BwSignature"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingInput"}}}},"responses":{"200":{"description":"Listing replaced.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["listing"],"properties":{"listing":{"$ref":"#/components/schemas/PublishedListing"}}}}}},"400":{"$ref":"#/components/responses/ApiError"},"401":{"$ref":"#/components/responses/ApiError"},"403":{"$ref":"#/components/responses/ApiError"},"404":{"$ref":"#/components/responses/ApiError"},"409":{"$ref":"#/components/responses/ApiError"},"413":{"$ref":"#/components/responses/ApiError"},"415":{"$ref":"#/components/responses/ApiError"},"429":{"$ref":"#/components/responses/ApiError"},"500":{"$ref":"#/components/responses/ApiError"}}}}},"components":{"securitySchemes":{"providerBearer":{"type":"http","scheme":"bearer","bearerFormat":"Blockwidth provider publishing key","description":"Provider publishing key. This bearer credential alone is insufficient: x-bw-timestamp, x-bw-nonce, and x-bw-signature are also mandatory. HMAC-SHA256 signs BW1\\nMETHOD\\nPATH\\nPROVIDER_UUID\\nTIMESTAMP\\nNONCE\\nRAW_BODY using the provider key. PROVIDER_UUID is the provider identity associated with the issued key; it is not accepted from an unauthenticated request field."}},"parameters":{"ProviderId":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},"ListingId":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},"ClaimId":{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},"BwTimestamp":{"name":"x-bw-timestamp","in":"header","required":true,"description":"Unix time in integer seconds. Accepted only within the configured publication clock window.","schema":{"type":"string","pattern":"^[0-9]+$"}},"BwNonce":{"name":"x-bw-nonce","in":"header","required":true,"description":"Unique per-provider replay nonce.","schema":{"type":"string","minLength":16,"maxLength":96,"pattern":"^[A-Za-z0-9_-]+$"}},"BwSignature":{"name":"x-bw-signature","in":"header","required":true,"description":"Lowercase hexadecimal HMAC-SHA256 over the exact canonical request bytes.","schema":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"responses":{"ApiError":{"description":"Structured API error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}},"schemas":{"ProviderClaimRequest":{"type":"object","additionalProperties":false,"required":["name","domain"],"properties":{"name":{"type":"string","minLength":1,"maxLength":120},"domain":{"type":"string","minLength":3,"maxLength":253,"examples":["provider.example"]}}},"ProviderDomainClaimRequest":{"type":"object","additionalProperties":false,"required":["domain"],"properties":{"domain":{"type":"string","minLength":3,"maxLength":253}}},"ProviderClaimVerifyRequest":{"type":"object","additionalProperties":false,"required":["claim_secret"],"properties":{"claim_secret":{"type":"string","pattern":"^bw_cs_[A-Za-z0-9_-]{43}$","writeOnly":true}}},"ProviderClaimResponse":{"type":"object","additionalProperties":false,"required":["claim_id","domain","claim_secret","dns_txt_name","dns_txt_value","proof_url","proof_document","expires_at","instructions"],"properties":{"claim_id":{"type":"string","format":"uuid"},"domain":{"type":"string"},"claim_secret":{"type":"string","writeOnly":true},"dns_txt_name":{"type":"string","description":"DNS TXT owner name for domain proof."},"dns_txt_value":{"type":"string","description":"Exact TXT value to publish."},"proof_url":{"type":"string","format":"uri"},"proof_document":{"type":"object","additionalProperties":false,"required":["blockwidth_provider_claim"],"properties":{"blockwidth_provider_claim":{"type":"string"}}},"expires_at":{"type":"string","format":"date-time"},"instructions":{"type":"string"}}},"PublishingCredential":{"type":"object","additionalProperties":false,"required":["provider_id","api_key_id","api_key","display_once"],"properties":{"provider_id":{"type":"string","format":"uuid"},"api_key_id":{"type":"string","format":"uuid"},"api_key":{"type":"string","writeOnly":true},"display_once":{"const":true}}},"ProviderClaimVerifyResponse":{"type":"object","additionalProperties":true,"required":["provider_id","domain","domain_role","verified_at","verification_expires_at"],"properties":{"provider_id":{"type":"string","format":"uuid"},"domain":{"type":"string"},"domain_role":{"type":"string","enum":["primary","handoff"]},"verification_method":{"type":"string","enum":["dns_txt","https"],"description":"Proof method accepted for this verification."},"verified_at":{"type":"string","format":"date-time"},"verification_expires_at":{"type":"string","format":"date-time"},"domain_confirmed":{"type":"boolean"},"recovered":{"type":"boolean"},"credential":{"type":"object","additionalProperties":false,"required":["api_key_id","api_key","display_once"],"properties":{"api_key_id":{"type":"string","format":"uuid"},"api_key":{"type":"string","writeOnly":true},"display_once":{"const":true}}}}},"ProviderControlState":{"type":"object","additionalProperties":false,"required":["provider","domains","keys","listings"],"properties":{"provider":{"type":"object","additionalProperties":true},"domains":{"type":"array","items":{"type":"object","additionalProperties":true}},"keys":{"type":"array","items":{"type":"object","additionalProperties":true}},"listings":{"type":"array","items":{"$ref":"#/components/schemas/PublishedListing"}}}},"ErrorEnvelope":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","request_id"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string","format":"uuid"},"fields":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["field","message"],"properties":{"field":{"type":"string"},"message":{"type":"string"}}}}}}}},"Requirements":{"type":"object","additionalProperties":false,"required":["capability_family"],"properties":{"capability_family":{"type":"string","enum":["reasoning","coding"]},"model_class":{"type":"string","enum":["standard","advanced","frontier"]},"context_min":{"type":"integer","minimum":1,"maximum":10000000},"region":{"type":"string","enum":["US","EU","GLOBAL"],"description":"Exact declared region. GLOBAL does not substitute for US or EU."},"retention_policy":{"type":"string","enum":["zero_retention","standard_retention","unspecified"]},"handoff_automation":{"type":"string","enum":["machine_direct","human_assisted"],"description":"Whether an autonomous buyer can proceed directly from the provider handoff without a human step."},"tools_required":{"type":"boolean"},"ttft_max_ms":{"type":"integer","minimum":1,"maximum":120000},"max_output_price":{"type":"number","minimum":0,"maximum":999999,"multipleOf":0.000001,"description":"USD per 1M output tokens."},"max_input_price":{"type":"number","minimum":0,"maximum":999999,"multipleOf":0.000001,"description":"USD per 1M input tokens."},"min_tokens_per_second":{"type":"number","exclusiveMinimum":0,"maximum":100000}}},"SearchRequest":{"type":"object","additionalProperties":false,"required":["capability_family"],"properties":{"capability_family":{"type":"string","enum":["reasoning","coding"]},"model_class":{"type":"string","enum":["standard","advanced","frontier"]},"context_min":{"type":"integer","minimum":1,"maximum":10000000},"region":{"type":"string","enum":["US","EU","GLOBAL"],"description":"Exact declared region. GLOBAL does not substitute for US or EU."},"retention_policy":{"type":"string","enum":["zero_retention","standard_retention","unspecified"]},"handoff_automation":{"type":"string","enum":["machine_direct","human_assisted"],"description":"Whether an autonomous buyer can proceed directly from the provider handoff without a human step."},"tools_required":{"type":"boolean"},"ttft_max_ms":{"type":"integer","minimum":1,"maximum":120000},"max_output_price":{"type":"number","minimum":0,"maximum":999999,"multipleOf":0.000001,"description":"USD per 1M output tokens."},"max_input_price":{"type":"number","minimum":0,"maximum":999999,"multipleOf":0.000001,"description":"USD per 1M input tokens."},"min_tokens_per_second":{"type":"number","exclusiveMinimum":0,"maximum":100000},"sort":{"type":"string","enum":["price","latency","throughput","freshness"],"default":"price"},"limit":{"type":"integer","minimum":1,"maximum":100,"default":25},"offset":{"type":"integer","minimum":0,"maximum":10000,"default":0}}},"Freshness":{"type":"object","required":["asserted_at","observed_at","valid_until","stale_after","freshness_status","expired","stale"],"properties":{"asserted_at":{"type":["string","null"],"format":"date-time"},"observed_at":{"type":["string","null"],"format":"date-time"},"valid_until":{"type":["string","null"],"format":"date-time"},"stale_after":{"type":["string","null"],"format":"date-time"},"freshness_status":{"type":["string","null"],"enum":["current","stale","expired",null]},"expired":{"type":"boolean"},"stale":{"type":"boolean"}}},"PublicListing":{"allOf":[{"$ref":"#/components/schemas/Freshness"},{"type":"object","required":["id","provider_id","capability_family","model_name","model_class","status","pricing_unit","input_price","output_price","region","context_window","ttft_ms","tokens_per_second","retention_policy","tool_support","handoff_type","handoff_automation","availability_note","offer_ttl_seconds","published_at","expires_at","version","updated_at","origin_type","assertion_level","procurement_eligible","provider_name","verified","domain_confirmed","demo_data","currency","claim_source"],"properties":{"id":{"type":"string","format":"uuid"},"provider_id":{"type":"string","format":"uuid"},"capability_family":{"type":"string","enum":["reasoning","coding"]},"model_name":{"type":"string"},"model_class":{"type":"string","enum":["standard","advanced","frontier"]},"status":{"type":"string","enum":["available","limited"]},"pricing_unit":{"type":"string","enum":["per_1m_input_tokens","per_1m_output_tokens"]},"input_price":{"type":"number"},"output_price":{"type":"number"},"region":{"type":"string","enum":["US","EU","GLOBAL"]},"context_window":{"type":"integer"},"ttft_ms":{"type":"integer"},"tokens_per_second":{"type":"number"},"retention_policy":{"type":"string","enum":["zero_retention","standard_retention","unspecified"]},"tool_support":{"type":"boolean"},"handoff_type":{"type":"string","enum":["api","agent","signup","sales","docs","mcp"],"description":"Where the provider-declared introduction leads."},"handoff_automation":{"type":"string","enum":["machine_direct","human_assisted"],"description":"Whether an autonomous buyer can proceed directly from the handoff without a human step."},"availability_note":{"type":"string"},"offer_ttl_seconds":{"type":"integer"},"published_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"version":{"type":"integer","minimum":1},"updated_at":{"type":"string","format":"date-time"},"origin_type":{"type":"string"},"source_record_id":{"type":["string","null"],"format":"uuid"},"assertion_level":{"type":"string"},"source_observed_at":{"type":["string","null"],"format":"date-time"},"procurement_eligible":{"type":"boolean"},"provider_name":{"type":"string"},"verified":{"type":"boolean","description":"Operator identity check only; not a performance or policy certification."},"domain_confirmed":{"type":"boolean","description":"Current proof of control of the provider primary domain; not an offer certification."},"demo_data":{"type":"boolean"},"currency":{"const":"USD"},"claim_source":{"const":"provider_reported"}}}]},"PublishedListing":{"allOf":[{"$ref":"#/components/schemas/PublicListing"},{"type":"object","required":["handoff_url"],"properties":{"handoff_url":{"type":"string","format":"uri"}}}]},"ListingSearchResult":{"type":"object","required":["matches","has_more","limit","offset","sort","evaluated_at"],"properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/PublicListing"}},"has_more":{"type":"boolean"},"limit":{"type":"integer"},"offset":{"type":"integer"},"sort":{"type":"string","enum":["price","latency","throughput","freshness"]},"evaluated_at":{"type":"string","format":"date-time"}}},"SearchResponse":{"allOf":[{"$ref":"#/components/schemas/ListingSearchResult"},{"type":"object","required":["parsed_requirements"],"properties":{"parsed_requirements":{"$ref":"#/components/schemas/Requirements"}}}]},"AgentQueryRequest":{"type":"object","additionalProperties":false,"required":["agent_id","message"],"properties":{"agent_id":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,99}$"},"message":{"type":"string","minLength":5,"maxLength":2000}}},"AgentQueryResponse":{"allOf":[{"$ref":"#/components/schemas/SearchResponse"},{"type":"object","required":["explanation","requires_review"],"properties":{"explanation":{"type":"string"},"requires_review":{"const":true}}}]},"IntroductionRequest":{"type":"object","additionalProperties":false,"required":["buyer_agent_id","provider_id","listing_id","approved_requirements"],"properties":{"buyer_agent_id":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,99}$"},"provider_id":{"type":"string","format":"uuid"},"listing_id":{"type":"string","format":"uuid"},"approved_requirements":{"$ref":"#/components/schemas/Requirements"},"expected_listing_version":{"type":"integer","minimum":1}}},"IntroductionResponse":{"type":"object","additionalProperties":false,"required":["introduction_id","introduction_status","buyer_agent_id","provider_name","handoff_type","handoff_automation","handoff_url","selected_listing","approved_requirements","completed_at"],"properties":{"introduction_id":{"type":"string","format":"uuid"},"introduction_status":{"const":"handoff_returned"},"buyer_agent_id":{"type":"string"},"provider_name":{"type":"string"},"handoff_type":{"type":"string","enum":["api","agent","signup","sales","docs","mcp"]},"handoff_automation":{"type":"string","enum":["machine_direct","human_assisted"]},"handoff_url":{"type":"string","format":"uri"},"selected_listing":{"$ref":"#/components/schemas/PublishedListing"},"approved_requirements":{"$ref":"#/components/schemas/Requirements"},"completed_at":{"type":"string","format":"date-time"}}},"ListingInput":{"type":"object","additionalProperties":false,"required":["capability_family","model_name","model_class","status","pricing_unit","input_price","output_price","region","context_window","ttft_ms","tokens_per_second","retention_policy","tool_support","handoff_type","handoff_url","offer_ttl_seconds"],"properties":{"capability_family":{"type":"string","enum":["reasoning","coding"]},"model_name":{"type":"string","minLength":1,"maxLength":120},"model_class":{"type":"string","enum":["standard","advanced","frontier"]},"status":{"type":"string","enum":["available","limited","unavailable"]},"pricing_unit":{"type":"string","enum":["per_1m_input_tokens","per_1m_output_tokens"]},"input_price":{"type":"number","minimum":0,"maximum":999999,"multipleOf":0.000001,"description":"USD per 1M input tokens."},"output_price":{"type":"number","minimum":0,"maximum":999999,"multipleOf":0.000001,"description":"USD per 1M output tokens."},"region":{"type":"string","enum":["US","EU","GLOBAL"]},"context_window":{"type":"integer","minimum":1,"maximum":10000000},"ttft_ms":{"type":"integer","minimum":1,"maximum":120000},"tokens_per_second":{"type":"number","minimum":0.01,"maximum":100000,"multipleOf":0.01},"retention_policy":{"type":"string","enum":["zero_retention","standard_retention","unspecified"]},"tool_support":{"type":"boolean"},"handoff_type":{"type":"string","enum":["api","agent","signup","sales","docs","mcp"],"description":"Where the provider-declared introduction leads."},"handoff_automation":{"type":"string","enum":["machine_direct","human_assisted"],"default":"human_assisted","description":"Whether an autonomous buyer can proceed directly from the handoff without a human step. Omission defaults conservatively to human_assisted."},"handoff_url":{"type":"string","format":"uri","description":"Provider-declared public HTTPS handoff. Blockwidth does not fetch or probe it."},"availability_note":{"type":"string","maxLength":400,"default":""},"offer_ttl_seconds":{"type":"integer","minimum":60,"maximum":86400}}},"ProviderSummary":{"type":"object","additionalProperties":false,"required":["id","name","slug","website","verified","domain_confirmed","created_at","live_listings","demo_data"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"website":{"type":"string","format":"uri"},"verified":{"type":"boolean"},"domain_confirmed":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"live_listings":{"type":"integer","minimum":0},"demo_data":{"type":"boolean"}}},"ProviderDetail":{"allOf":[{"$ref":"#/components/schemas/ListingSearchResult"},{"type":"object","required":["id","name","slug","website","verified","domain_confirmed","active","created_at","updated_at","demo_data"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"website":{"type":"string","format":"uri"},"verified":{"type":"boolean"},"domain_confirmed":{"type":"boolean"},"active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"demo_data":{"type":"boolean"}}}]},"BrokerState":{"type":"object","additionalProperties":false,"required":["configured","enabled","available","message"],"properties":{"configured":{"type":"boolean"},"enabled":{"type":"boolean"},"available":{"type":"boolean"},"message":{"type":"string"}}},"MetaResponse":{"type":"object","additionalProperties":false,"required":["version","broker","stats","currency","scope"],"properties":{"version":{"type":"string"},"broker":{"$ref":"#/components/schemas/BrokerState"},"stats":{"type":"object","additionalProperties":false,"required":["live_listings","live_providers","demo_listings","latest_publication"],"properties":{"live_listings":{"type":"integer","minimum":0},"live_providers":{"type":"integer","minimum":0},"demo_listings":{"type":"integer","minimum":0},"latest_publication":{"type":["string","null"],"format":"date-time"}}},"currency":{"const":"USD"},"scope":{"type":"array","items":{"type":"string","enum":["reasoning","coding"]}}}},"ResourceFreshness":{"type":"object","additionalProperties":true,"properties":{"asserted_at":{"type":["string","null"],"format":"date-time"},"observed_at":{"type":"string","format":"date-time"},"valid_until":{"type":["string","null"],"format":"date-time"},"stale_after":{"type":"string","format":"date-time"},"freshness_status":{"type":["string","null"],"enum":["current","stale","expired",null]},"expired":{"type":"boolean"},"stale":{"type":"boolean"}}},"DiscoveryResource":{"type":"object","additionalProperties":false,"required":["id","provider_id","external_identifier","resource_type","name","description","canonical_url","publisher_domain","capabilities","protocols","assertion_level","first_seen_at","last_seen_at","procurement_assertion","provenance","procurement_eligible","verification"],"properties":{"id":{"type":"string","format":"uuid"},"provider_id":{"type":["string","null"],"format":"uuid"},"external_identifier":{"type":"string"},"resource_type":{"type":"string","enum":["ard_resource","mcp_server","a2a_agent","provider_model","provider_api","unknown"]},"name":{"type":"string"},"description":{"type":["string","null"]},"canonical_url":{"type":["string","null"],"format":"uri"},"publisher_domain":{"type":["string","null"]},"capabilities":{"type":"array","items":{}},"protocols":{"type":"array","items":{}},"assertion_level":{"type":"string"},"first_seen_at":{"type":"string","format":"date-time"},"last_seen_at":{"type":"string","format":"date-time"},"procurement_assertion":{"oneOf":[{"$ref":"#/components/schemas/ResourceFreshness"},{"type":"null"}]},"provenance":{"type":"object","additionalProperties":false,"required":["source_record_id","source_connector_id","source_name","source_type","content_hash","source_updated_at","fetched_at","normalization_version"],"properties":{"source_record_id":{"type":"string","format":"uuid"},"source_connector_id":{"type":"string","format":"uuid"},"source_name":{"type":"string"},"source_type":{"type":"string"},"content_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"source_updated_at":{"type":["string","null"],"format":"date-time"},"fetched_at":{"type":"string","format":"date-time"},"normalization_version":{"type":"string"}}},"procurement_eligible":{"const":false},"verification":{"type":"string"}}},"ResourceIndexResponse":{"type":"object","additionalProperties":false,"required":["index","procurement_eligible","notice","evaluated_at","resources","has_more","limit","offset"],"properties":{"index":{"const":"resource"},"procurement_eligible":{"const":false},"notice":{"const":"Discovery metadata is not availability."},"evaluated_at":{"type":"string","format":"date-time"},"resources":{"type":"array","items":{"$ref":"#/components/schemas/DiscoveryResource"}},"has_more":{"type":"boolean"},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}}}