{"openapi":"3.1.0","info":{"title":"Nivora Cloud API","version":"0.1.0","description":"Versioned commerce and cloud API. Private production routes remain unavailable until durable persistence and Better Auth verification are connected."},"servers":[{"url":"https://ability.help"}],"paths":{"/api/v1/catalog":{"get":{"summary":"List sellable plans, regions, images, and add-ons","security":[]}},"/api/v1/quotes":{"post":{"summary":"Create an expiring price quote","security":[]}},"/api/v1/orders":{"get":{"summary":"List orders","security":[{"SessionCookie":[]}]},"post":{"summary":"Create an order from a quote","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/payments/{provider}/checkout":{"post":{"summary":"Create a payment-provider checkout","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","enum":["stripe","paypal","mock"]}},{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/payments/refunds":{"post":{"summary":"Request a provider-backed refund","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/payments/capabilities":{"get":{"summary":"Read checkout and renewal capabilities","security":[]}},"/api/v1/payments/paypal/capture":{"get":{"summary":"Capture an approved PayPal order and return to the console","security":[{"SessionCookie":[]}]}},"/api/v1/instances":{"get":{"summary":"List organization instances","security":[{"SessionCookie":[]}]},"post":{"summary":"Create a development-only demo instance","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/instances/{id}/actions":{"post":{"summary":"Run an idempotent instance lifecycle action","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/instances/{id}/credentials":{"post":{"summary":"Reveal initial credentials once","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"SessionCookie":[]}]}},"/api/v1/organizations":{"get":{"summary":"List organizations","security":[{"SessionCookie":[]}]},"post":{"summary":"Create an organization","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/approvals":{"get":{"summary":"List purchase approvals","security":[{"SessionCookie":[]}]},"post":{"summary":"Request purchase approval","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/approvals/{id}":{"patch":{"summary":"Approve or reject a purchase request","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/invoices":{"get":{"summary":"List immutable invoices","security":[{"SessionCookie":[]}]}},"/api/v1/tickets":{"get":{"summary":"List support tickets","security":[{"SessionCookie":[]}]},"post":{"summary":"Open a support ticket","parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"security":[{"SessionCookie":[]}]}},"/api/v1/admin/overview":{"get":{"summary":"Read operational dashboard aggregates","security":[{"SessionCookie":[]}]}},"/api/v1/health":{"get":{"summary":"Read service health and launch readiness","security":[]}},"/api/v1/metrics":{"get":{"summary":"Read Prometheus application metrics","security":[{"SessionCookie":[]}]}},"/api/v1/session":{"get":{"summary":"Read the current API session","security":[]}},"/api/v1/webhooks/stripe":{"post":{"summary":"Receive signed Stripe payment events","security":[{"StripeSignature":[]}]}},"/api/v1/webhooks/paypal":{"post":{"summary":"Receive signed PayPal payment events","security":[{"PayPalSignature":[]}]}}},"components":{"parameters":{"IdempotencyKey":{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":255}}},"securitySchemes":{"SessionCookie":{"type":"apiKey","in":"cookie","name":"better-auth.session_token","description":"Reserved Better Auth session. Production verification is fail-closed until integration is complete."},"StripeSignature":{"type":"apiKey","in":"header","name":"Stripe-Signature"},"PayPalSignature":{"type":"apiKey","in":"header","name":"PayPal-Transmission-Sig"}}}}