{"openapi":"3.1.0","info":{"title":"Payload Rail API","version":"1.0.0","description":"Canonical public API for the Payload Rail (https://payload-rail.fly.dev): Veyline economic-control subscriptions, callx402 paid on-demand actions, RevRule revenue rules, and purchases. Product isolation is enforced: Veyline, callx402, and RevRule credentials are product-bound. This document describes every legitimate public/customer/agent-callable operation. Internal admin and operational endpoints are intentionally excluded.","contact":{"email":"kyler.simmons.partners@gmail.com"}},"servers":[{"url":"https://payload-rail.fly.dev"}],"tags":[{"name":"Public","description":"No authentication required."},{"name":"Purchases","description":"Stripe and crypto purchase flows."},{"name":"callx402","description":"Paid on-demand x402 assistance actions. Pay per action; never requires a Veyline subscription."},{"name":"Veyline","description":"Ongoing subscription infrastructure for continuous economic control. Requires Veyline product credential."},{"name":"Governor","description":"Economic governor: standing spending mandates (ALLOW/DENY/ESCALATE_HUMAN)."},{"name":"Enterprise","description":"Enterprise-tier org administration. Requires enterprise entitlement + veyline:admin scope."},{"name":"RevRule","description":"Economic rule execution. Separate product; never a mandatory dependency of Veyline."}],"paths":{"/.well-known/x402":{"get":{"summary":"x402 well-known manifest","description":"x402 protocol discovery manifest.","tags":["Public"],"security":[],"responses":{"200":{"description":"Success"}}}},"/health":{"get":{"summary":"Health check","description":"Rail liveness probe.","tags":["Public"],"security":[],"responses":{"200":{"description":"Success"}}}},"/llms.txt":{"get":{"summary":"LLM discovery file","description":"Machine-readable ecosystem summary.","tags":["Public"],"security":[],"responses":{"200":{"description":"Success"}}}},"/openapi.json":{"get":{"summary":"OpenAPI specification","description":"This canonical public API description.","tags":["Public"],"security":[],"responses":{"200":{"description":"Success"}}}},"/v1/access-keys":{"post":{"summary":"Create RevRule API key","description":"Provision a RevRule product API key.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/callx402/actions":{"get":{"summary":"List callx402 actions","description":"List the 13 callx402 capabilities with live per-action fee schedule.","tags":["callx402"],"security":[],"responses":{"200":{"description":"Success"}}}},"/v1/callx402/actions/{action}":{"post":{"summary":"Invoke callx402 action","description":"Invoke a paid callx402 action. Unauthenticated → 402 with x402 payment requirements (USDC on Base). With a valid credit or Veyline key → executes. Governor-enforced for orgs with active mandates.","tags":["callx402"],"security":[],"parameters":[{"name":"action","in":"path","required":true,"schema":{"type":"string","enum":["diagnose","explain","evidence","recover","resolve","preflight","monitor","execute","rescue","settlement-interpretation","safe-retry","failure-classification","duplicate-payment-risk"]}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"credit_id":{"type":"string"},"txHash":{"type":"string"},"quote_id":{"type":"string"}}}}}},"responses":{"200":{"description":"Action result"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment Required - x402 payment requirements"},"409":{"description":"Credit already consumed or txHash replayed"}}}},"/v1/callx402/checkout":{"post":{"summary":"callx402 action checkout","description":"One-time Stripe checkout for a single callx402 action. Issues a single-use credit.","tags":["callx402"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"}},"required":["action"]}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/callx402/quote":{"get":{"summary":"Valuation quote","description":"Deterministic pre-execution quote for one action. Returns quote_id, itemized breakdown, policy version, expiry.","tags":["callx402"],"security":[],"parameters":[{"name":"action","in":"query","required":true,"schema":{"type":"string"}},{"name":"exposure_usd","in":"query","schema":{"type":"number"}},{"name":"path","in":"query","schema":{"type":"string","enum":["x402","stripe"]}}],"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/callx402/success":{"get":{"summary":"callx402 checkout success","description":"Shows the single-use action credit ONCE after successful checkout.","tags":["callx402"],"security":[],"parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/contact":{"post":{"summary":"Contact / enterprise inquiry","description":"Submit a contact or enterprise inquiry.","tags":["Public"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"message":{"type":"string"}},"required":["name","email","message"]}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/credits/balance":{"get":{"summary":"Credit balance","description":"Active credit for the authenticated org.","tags":["Purchases"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/credits/claim":{"post":{"summary":"Claim credit pack","description":"Claim a credit pack. Public; creates org if needed.","tags":["Purchases"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"}}}},"/v1/crypto/config":{"get":{"summary":"Crypto config","description":"Public crypto settlement configuration (networks, assets, receiving address).","tags":["Purchases"],"security":[],"responses":{"200":{"description":"Success"}}}},"/v1/crypto/fees/settle":{"post":{"summary":"Settle fees","description":"Settle accrued fees. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/enterprise/audit-export":{"get":{"summary":"Audit export","description":"Export the org's audit/evidence trail. Requires Enterprise tier: active Veyline enterprise entitlement + veyline:admin key scope.","tags":["Enterprise"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/enterprise/keys":{"get":{"summary":"List org keys","description":"List the org's API keys (metadata only). Requires Enterprise tier: active Veyline enterprise entitlement + veyline:admin key scope.","tags":["Enterprise"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"summary":"Create org key","description":"Create a scoped API key / service account. Requires Enterprise tier: active Veyline enterprise entitlement + veyline:admin key scope.","tags":["Enterprise"],"security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/enterprise/keys/{keyId}/revoke":{"post":{"summary":"Revoke org key","description":"Revoke an API key. Requires Enterprise tier: active Veyline enterprise entitlement + veyline:admin key scope.","tags":["Enterprise"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"keyId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/enterprise/policy":{"get":{"summary":"Get org policy","description":"Read the org's governance policy. Requires Enterprise tier: active Veyline enterprise entitlement + veyline:admin key scope.","tags":["Enterprise"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"summary":"Update org policy","description":"Update the org's governance policy. Requires Enterprise tier: active Veyline enterprise entitlement + veyline:admin key scope.","tags":["Enterprise"],"security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/enterprise/usage":{"get":{"summary":"Org usage","description":"Organization-level usage reporting. Requires Enterprise tier: active Veyline enterprise entitlement + veyline:admin key scope.","tags":["Enterprise"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/events/observatory":{"post":{"summary":"Submit observatory event","description":"Submit an anonymized x402 observation to the Observatory dataset.","tags":["Public"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"}}}},"/v1/fees/balance":{"get":{"summary":"Fee balance","description":"Fee/credit balance for the org. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/graphs":{"post":{"summary":"Create Revenue Graph","description":"Define a Revenue Graph with economic rules. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/graphs/{id}":{"get":{"summary":"Get Revenue Graph","description":"Retrieve a Revenue Graph. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/graphs/{id}/activate":{"post":{"summary":"Activate Revenue Graph","description":"Activate a Revenue Graph. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/graphs/{id}/events":{"post":{"summary":"Submit graph event","description":"Submit an economic event against the graph. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/graphs/{id}/ledger":{"get":{"summary":"Graph ledger","description":"Auditable ledger entries for the graph. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/graphs/{id}/simulate":{"post":{"summary":"Simulate graph","description":"Dry-run an event against the graph. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/purchases/orders":{"post":{"summary":"Create crypto purchase order","description":"Create a wallet-bound USDC purchase order (Base). Returns order_id and payment instructions.","tags":["Purchases"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"}}}},"/v1/purchases/orders/{id}":{"get":{"summary":"Get purchase order","description":"Retrieve a purchase order by ID.","tags":["Purchases"],"security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/purchases/redeem":{"post":{"summary":"Redeem crypto purchase","description":"Redeem {order_id, tx_hash, signature} for entitlement + API key. Wallet signature required.","tags":["Purchases"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"order_id":{"type":"string"},"tx_hash":{"type":"string"},"signature":{"type":"string"}},"required":["order_id","tx_hash","signature"]}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/stripe/checkout":{"post":{"summary":"Create Stripe checkout","description":"Create a one-time Stripe Checkout Session for a Veyline tier subscription. Public; provisions an org for guests.","tags":["Purchases"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"type":"string","enum":["developer","production","growth","enterprise"]}},"required":["tier"]}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/stripe/keys":{"get":{"summary":"List Stripe subscription keys","description":"List the caller's key metadata (never raw values).","tags":["Purchases"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/stripe/success":{"get":{"summary":"Checkout success","description":"Shows the issued API key ONCE after successful Stripe checkout. Bound to the Stripe session.","tags":["Purchases"],"security":[],"parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates":{"post":{"summary":"Compile mandate","description":"Compile natural-language spending policy into machine-enforced constraints. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"summary":"List mandates","description":"List the org's mandates. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates/{id}":{"get":{"summary":"Mandate detail","description":"Mandate detail with live budget status. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates/{id}/approvals":{"post":{"summary":"Record human approval","description":"Record a single-use human approval for an escalated step. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates/{id}/authorize":{"post":{"summary":"Authorize step","description":"Per-step ALLOW / DENY / ESCALATE_HUMAN decision. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates/{id}/bindings":{"get":{"summary":"Mandate bindings","description":"AP2 and x402 compatibility shapes for the mandate. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates/{id}/commit":{"post":{"summary":"Commit spend","description":"Record executed spend against the mandate's durable budget. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates/{id}/release":{"post":{"summary":"Release reservation","description":"Release a reservation when the step did not execute. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/mandates/{id}/revoke":{"post":{"summary":"Revoke mandate","description":"Permanently revoke a mandate. Requires Veyline product credential.","tags":["Veyline","Governor"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/sandbox-signup":{"post":{"summary":"Free sandbox signup","description":"Create a free-tier Veyline org + API key. One per email.","tags":["Veyline"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"}},"required":["email"]}}}},"responses":{"200":{"description":"Success"},"400":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/status":{"get":{"summary":"Veyline entitlement status","description":"Entitlement summary for the caller's org: tier, status, features.","tags":["Veyline"],"security":[{"ApiKeyAuth":[]}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/veyline/usage":{"get":{"summary":"Veyline usage","description":"Current-period usage and quota. ?detailed=true requires Production+ analytics feature.","tags":["Veyline"],"security":[{"ApiKeyAuth":[]}],"parameters":[{"name":"detailed","in":"query","schema":{"type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/x402/event":{"post":{"summary":"Submit x402 event","description":"Evaluate a machine-commerce revenue event. Requires API key + 0.01 USDC on Base via x402. Requires RevRule product credential.","tags":["RevRule"],"security":[{"ApiKeyAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"},"401":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/x402/public/evaluate":{"get":{"summary":"Public x402 evaluate","description":"Evaluate an x402 event without authentication (public discovery).","tags":["RevRule"],"security":[],"responses":{"200":{"description":"Success"}}},"post":{"summary":"Public x402 evaluate","description":"Evaluate an x402 event without authentication (public discovery).","tags":["RevRule"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Success"}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}},"securitySchemes":{"ApiKeyAuth":{"type":"http","scheme":"bearer","description":"Product-bound API key: Authorization: Bearer <key>"}}}}