{
  "schema_version": "2026-09-15",
  "title": "ShortPay public Stripe-compatible API",
  "documentation": {
    "html": "/docs",
    "markdown": "/v1/docs?format=markdown",
    "integration_skill": "/v1/docs?format=integration-skill",
    "data_skill": "/v1/docs?format=data-skill",
    "management_reference": "/v1/docs?format=management-reference",
    "route_inventory": "/v1/docs?format=route-inventory"
  },
  "api": {
    "base_url": "current origin",
    "stripe_version": "2025-03-31.basil",
    "authentication": "Bearer single-site server key required for every /v1 business endpoint",
    "write_content_type": "application/x-www-form-urlencoded",
    "idempotency": {"header": "Idempotency-Key", "required": false, "scope": "site and operation", "max_length": 200}
  },
  "resources": [
    {"method":"GET","path":"/v1/account","auth":"site_bearer","summary":"Stable site account identity; capability flags are unknown."},
    {"method":"GET","path":"/v1/charges","auth":"site_bearer","query":{"limit":"1..100","starting_after":"charge ID","ending_before":"charge ID","created":"Unix second or gt/gte/lt/lte"},"response":"Stripe list of confirmed charges"},
    {"method":"GET","path":"/v1/events","auth":"site_bearer","query":{"limit":"1..100","starting_after":"event ID","ending_before":"event ID","created":"Unix second or gt/gte/lt/lte","types[]":"charge.succeeded only"},"response":"Stripe list of immutable charge.succeeded snapshots"},
    {"method":"POST","path":"/v1/customers","auth":"site_bearer","form":{"email":"optional valid email","name":"optional string","address":"optional country/postal_code/line1/line2/city/state","metadata":"optional string map"},"response":"customer"},
    {"method":"GET","path":"/v1/customers/{customer_id}","auth":"site_bearer","response":"customer"},
    {"method":"POST","path":"/v1/customers/{customer_id}","auth":"site_bearer","form":{"email":"optional valid email","name":"optional string","address":"optional address fields","metadata":"optional string map"},"response":"customer"},
    {"method":"POST","path":"/v1/checkout/sessions","auth":"site_bearer","form":{"mode":"payment","line_items":"1..100 contiguous indexed price_data + quantity","success_url":"allowed HTTPS origin","cancel_url":"allowed HTTPS origin","customer":"optional customer ID","customer_email":"optional email","customer_creation":"if_required|always","customer_update[address]":"auto|never","client_reference_id":"optional string","metadata":"optional string map"},"response":"checkout.session with purchaser url"},
    {"method":"GET","path":"/v1/checkout/sessions/{session_id}","auth":"site_bearer","query":{"expand[]":"line_items only"},"response":"checkout.session"},
    {"method":"GET","path":"/v1/checkout/sessions/{session_id}/line_items","auth":"site_bearer","response":"Stripe list of line items"},
    {"method":"POST","path":"/v1/checkout/sessions/{session_id}/expire","auth":"site_bearer","form":{},"response":"expired checkout.session"},
    {"method":"GET","path":"/v1/payment_intents/{intent_id}","auth":"site_bearer","response":"payment_intent"},
    {"method":"POST","path":"/v1/refunds","auth":"site_bearer","form":{"payment_intent":"required ID","amount":"optional positive minor-unit integer","reason":"duplicate|fraudulent|requested_by_customer","metadata":"optional string map"},"response":"refund"},
    {"method":"GET","path":"/v1/refunds/{refund_id}","auth":"site_bearer","response":"refund"}
  ],
  "events": ["payment_intent.succeeded","checkout.session.completed","checkout.session.expired","refund.updated","refund.failed"],
  "errors": {"shape":{"error":{"type":"string","message":"string","param":"string|null","code":"string"}},"status_codes":{"400":"invalid request or unsupported version/state","401":"missing or invalid key","403":"non-site credential","404":"missing or cross-site resource","409":"idempotency conflict","413":"request too large","503":"refund provider unavailable"}},
  "private_management_reference": {"documentation":"/v1/docs?format=management-reference","paths":["/management/customers","/management/checkout-sessions","/management/payments","/management/refunds","/management/invoices","/management/events","/admin/auth","/v1/merchants","/v1/sites","/checkout-api/..."],"access":"not public; existing authentication and authorization remain required"},
  "unsupported":["subscriptions","Connect","Stripe.js","saved cards","capture","tax","shipping","discounts","arbitrary expand","settlement reports","read-only API keys"]
}
