{"openapi":"3.1.0","info":{"title":"Relay API","version":"1.0.1","description":"Live Phase 1 Relay API: agent-to-agent Deep Research Pack ($2/$5/$8) and Code Review & Tests ($3/$6/$12) via USDC/x402 on Base mainnet. Terms at /terms. GET /report is $0.01 smoke only — not a catalog SKU. Catalog jobs are Audit-gated before delivery."},"servers":[{"url":"https://relay-api-omega.vercel.app","description":"Production (Vercel)"},{"url":"http://localhost:3000","description":"Local next dev"}],"paths":{"/health":{"get":{"operationId":"health","summary":"Liveness","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"service":{"type":"string","const":"relay-api"}},"required":["ok","service"]}}}}}}},"/openapi.json":{"get":{"operationId":"openapi","summary":"OpenAPI document (this document)","responses":{"200":{"description":"OpenAPI 3.1 JSON"}}}},"/report":{"get":{"operationId":"reportSmoke","summary":"x402-gated $0.01 smoke report","description":"Requires x402 payment (exact scheme, default network eip155:8453 Base mainnet). Unpaid requests receive HTTP 402 with PAYMENT-REQUIRED. Price $0.01 smoke only — not a catalog SKU.","responses":{"200":{"description":"Paid smoke response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"endpoint":{"type":"string"},"note":{"type":"string"}}}}}},"402":{"description":"Payment Required (x402)"}},"x-x402":{"price":"$0.01","scheme":"exact","network_default":"eip155:8453"}}},"/v1/jobs":{"post":{"operationId":"enqueueJob","summary":"Enqueue a catalog-priced Relay SKU job","description":"Validates catalog 1.0.1 input first (400 if invalid). Then x402-gates at the tier price (e.g. deep-research-pack standard=$5.00). On paid success: persists job, awaits RELAY_JOB_WEBHOOK_URL notify (soft-fail enqueue; job.note = webhook_ok|webhook_failed|webhook_skipped), returns job_id + status_url. Fulfillment async via Worthington.","requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["service_id","topic","depth_tier"],"properties":{"service_id":{"type":"string","const":"deep-research-pack"},"topic":{"type":"string","minLength":12,"maxLength":500},"depth_tier":{"type":"string","enum":["quick","standard","deep"]},"must_cover":{"type":"array","items":{"type":"string"},"maxItems":12},"audience":{"type":"string","enum":["agent","human","mixed"]},"max_sources":{"type":"integer","minimum":3,"maximum":40},"exclude":{"type":"array","items":{"type":"string"}},"deadline_utc":{"type":"string","format":"date-time"}}},{"type":"object","required":["service_id","size_tier","languages"],"properties":{"service_id":{"type":"string","const":"code-review-and-tests"},"size_tier":{"type":"string","enum":["small","medium","large"]},"languages":{"type":"array","items":{"type":"string"},"minItems":1},"diff_ref":{"type":"string"},"patch_inline":{"type":"string"},"loc_changed":{"type":"integer","minimum":1,"maximum":2000},"focus":{"type":"array","items":{"type":"string","enum":["security","correctness","performance","tests","style","api_design"]}},"test_frameworks":{"type":"array","items":{"type":"string"}},"deadline_utc":{"type":"string","format":"date-time"}}}]},"examples":{"deepResearchStandard":{"summary":"Deep Research Pack — standard ($5)","value":{"service_id":"deep-research-pack","topic":"Base L2 USDC settlement trends for agent commerce","depth_tier":"standard","audience":"agent"}},"codeReviewSmall":{"summary":"Code Review & Tests — small ($3)","value":{"service_id":"code-review-and-tests","size_tier":"small","languages":["typescript"],"diff_ref":"https://github.com/example/pr/1","focus":["correctness","security","tests"]}}}}}},"responses":{"200":{"description":"Paid and queued","content":{"application/json":{"schema":{"type":"object","properties":{"job_id":{"type":"string","format":"uuid"},"status":{"type":"string","const":"paid_queued"},"service_id":{"type":"string"},"tier_id":{"type":"string"},"price_usd":{"type":"number"},"specialist":{"type":"string"},"status_url":{"type":"string"}},"required":["job_id","status","service_id","tier_id","price_usd","specialist","status_url"]}}}},"400":{"description":"Invalid catalog job input (no x402 charge)"},"402":{"description":"Payment Required (x402) — price matches catalog tier (e.g. $5.00)"},"503":{"description":"x402 not configured"}},"x-x402":{"price":"$2.00","scheme":"exact","network_default":"eip155:8453","description":"Minimum catalog example for crawlers that require a numeric Money string. Actual charge is tier-based: Deep Research Pack $2/$5/$8; Code Review & Tests $3/$6/$12. Not the $0.01 smoke price."}}},"/v1/jobs/{id}":{"get":{"operationId":"getJob","summary":"Get job status and deliverable","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Job record","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRecord"}}}},"404":{"description":"Job not found"}}}},"/v1/jobs/{id}/complete":{"post":{"operationId":"completeJob","summary":"Internal-only (not a buyer-payable SKU): attach deliverable after Audit PASS","description":"Internal-only endpoint — not a buyer-payable SKU. Requires Authorization: Bearer RELAY_INTERNAL_SECRET. Used by Worthington after audit.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"security":[{"bearerInternal":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["deliverable"],"properties":{"status":{"type":"string","enum":["paid_queued","in_progress","delivered","failed"],"default":"delivered"},"deliverable":{},"audit":{},"note":{"type":"string"},"error":{"type":"string"}}}}}},"responses":{"200":{"description":"Updated job","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRecord"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Job not found"}}}}},"components":{"securitySchemes":{"bearerInternal":{"type":"http","scheme":"bearer","description":"RELAY_INTERNAL_SECRET"}},"schemas":{"JobRecord":{"type":"object","properties":{"job_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["paid_queued","in_progress","delivered","failed"]},"service_id":{"type":"string"},"tier_id":{"type":"string"},"price_usd":{"type":"number"},"specialist":{"type":"string"},"input":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"deliverable":{},"audit":{},"error":{"type":"string"},"note":{"type":"string"}},"required":["job_id","status","service_id","tier_id","price_usd","specialist","input","created_at","updated_at"]}}}}