{"schemaVersion":"server402.discovery.v1","name":"Server402 API Marketplace","description":"English-first paid API marketplace for AI agents using HTTP 402, x402, OpenAPI, and MCP.","language":"en","audience":["AI agents","MCP clients","OpenAPI importers","application developers","x402 clients"],"baseUrl":"https://aivps.lat","catalogUrl":"https://aivps.lat/api/catalog","searchUrl":"https://aivps.lat/api/catalog/search","openapiUrl":"https://aivps.lat/api/catalog/openapi.json","openaiFunctionsUrl":"https://aivps.lat/api/catalog/openai-functions.json","servicesUrl":"https://aivps.lat/api/services","agentGuideUrl":"https://aivps.lat/ai.txt","apisJsonUrl":"https://aivps.lat/apis.json","apiCatalogUrl":"https://aivps.lat/.well-known/api-catalog","auditUrl":"https://aivps.lat/api/discovery/audit","mcp":{"transport":"streamable_http","url":"https://aivps.lat/mcp","protocolVersion":"2025-06-18"},"payment":{"type":"http-402","paymentHeader":"X-Payment-Token","createPayment":"https://aivps.lat/api/payments","verifyPayment":"https://aivps.lat/api/payments/{paymentId}","providers":["x402_facilitator"],"flow":{"type":"http-402","createPayment":{"method":"POST","url":"https://aivps.lat/api/payments","bodySchema":{"properties":{"providerId":{"type":"string"},"serviceId":{"description":"Use the canonical service id from the catalog. Legacy internal ids remain accepted for backward compatibility.","type":"string"}},"required":["serviceId"],"type":"object"},"responseSchema":{"properties":{"amountCents":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"verifyPayment":{"method":"GET","url":"https://aivps.lat/api/payments/{paymentId}","responseSchema":{"properties":{"amountCents":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"token":{"header":"X-Payment-Token","mcpArgument":"paymentToken","httpUsage":"Send the paid token in the X-Payment-Token request header when calling /api/tools/*.","mcpUsage":"Pass the paid token as the paymentToken argument when calling the MCP tool."},"requiredResponse":{"status":402,"contentType":"application/json","headers":{"X-Payment-Required":"true","X-Payment-Token":"payment.token"},"bodySchema":{"properties":{"error":{"type":"string"},"payment":{"properties":{"amountCents":{"type":"integer"},"billingMode":{"type":"string"},"clientId":{"type":"string"},"currency":{"type":"string"},"expiresAt":{"format":"date-time","type":"string"},"internalServiceId":{"description":"Legacy internal service id, included only for backward compatibility.","type":"string"},"maxCalls":{"type":"integer"},"paidAt":{"format":"date-time","type":"string"},"payTo":{"type":"string"},"paymentId":{"type":"string"},"provider":{"type":"string"},"providerId":{"type":"string"},"remainingCalls":{"type":"integer"},"serviceId":{"description":"Canonical public service id.","type":"string"},"status":{"type":"string"},"token":{"type":"string"},"usedCalls":{"type":"integer"}},"type":"object"}},"required":["error","payment"],"type":"object"}},"retry":{"when":"Retry after payment.status is paid and the token has remaining calls.","http":["Call POST /api/payments with serviceId to create a payment if the first service call returned 402.","Complete or verify payment using GET /api/payments/{paymentId}.","Retry the original /api/tools/* request with X-Payment-Token set to payment.token."],"mcp":["Call the tool without paymentToken to receive payment_required structuredContent.","Complete or verify payment using the returned payment.paymentId.","Call the same MCP tool again with paymentToken set to payment.token."],"failures":["payment required","payment token expired","payment token has no remaining calls","api key required","api key is not allowed to call this service"]}}},"keywords":["paid API","HTTP 402","x402","AI agent API marketplace","MCP tools","OpenAPI","machine-readable API catalog","RFC 9727 API catalog","APIs.json","OCR API","computer vision API"],"capabilities":["api_catalog","catalog_search","openapi_3_1","openai_function_calling","mcp_streamable_http","http_402_payment_required","paid_api_proxy","llms_txt","apis_json","rfc_9727_api_catalog","ai_discovery_audit","sitemap","robots_txt"],"indexing":{"robotsUrl":"https://aivps.lat/robots.txt","sitemapUrl":"https://aivps.lat/sitemap.xml","llmsUrl":"https://aivps.lat/llms.txt","aliases":["https://aivps.lat/openapi.json","https://aivps.lat/api/catalog/openai-functions.json","https://aivps.lat/apis.json","https://aivps.lat/.well-known/api-catalog","https://aivps.lat/api/discovery/audit"]},"metadata":{"serviceCount":116}}
