{
  "opencollection": "1.0.0",
  "info": {
    "name": "1Fort API Documentation Checkout API",
    "version": "v1"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "Authorization",
      "value": "{{Authorization}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "checkout",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get invoices by IDs for checkout display.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.1fort.com/apis/checkout/invoices"
          },
          "docs": "Query params:\n    ids: Comma-separated list of invoice UUIDs and/or short ids"
        },
        {
          "info": {
            "name": "Create a Stripe PaymentIntent for the given invoices.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.1fort.com/apis/checkout/invoices/payment-intent"
          },
          "docs": "Request body:\n    invoice_ids: List of invoice UUIDs\n    amounts: Optional list of amounts (in cents) per invoice"
        },
        {
          "info": {
            "name": "Search",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.1fort.com/apis/checkout/invoices/search"
          },
          "docs": "Storefront Pay Bill: find payable checkout invoices for an active storefront."
        },
        {
          "info": {
            "name": "Pdf",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.1fort.com/apis/checkout/invoices/:id/pdf",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Generate and download the invoice PDF for a CheckoutInvoice, or return JSON\ncontext when ?return_json=true (for debugging)."
        },
        {
          "info": {
            "name": "Generate and stream the insurance proposal PDF for the quote that\nbacks this CheckoutInvoice.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.1fort.com/apis/checkout/invoices/:id/proposal",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Public counterpart to the broker-authenticated proposal endpoint:\nalways regenerates via ``ProposalPDFService`` (executive format) so\nthe customer sees the same document brokers download — no reliance\non a stored ``quote_summary`` file. Returns 404 when the checkout\ninvoice has no underlying quote (e.g. carrier-only invoices), so\nthe terms-of-use link is only ever rendered when the response is\nguaranteed to be a real PDF.\n\nThrottled via ``CheckoutInvoicePdfThrottle`` because PDF generation\nspawn"
        },
        {
          "info": {
            "name": "Receipt",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.1fort.com/apis/checkout/invoices/:id/receipt",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Generate and download the receipt PDF for a paid CheckoutInvoice, or\nreturn JSON context when ?return_json=true (for debugging).\n\nSame pdf-generator pipeline as the invoice endpoint (``receipt``\ntemplate). Returns 409 while the invoice is not yet marked paid —\nright after a Stripe payment the webhook may still be in flight, so\nthe frontend treats 409 as \"try again in a moment\"."
        },
        {
          "info": {
            "name": "List Sessions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.1fort.com/apis/checkout/sessions",
            "params": [
              {
                "name": "search",
                "value": "",
                "type": "query",
                "description": "A search term."
              },
              {
                "name": "ordering",
                "value": "",
                "type": "query",
                "description": "Which field to use when ordering the results."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Number of results to return per page."
              },
              {
                "name": "offset",
                "value": "",
                "type": "query",
                "description": "The initial index from which to return the results."
              }
            ]
          },
          "docs": "ViewSet for checkout session read operations."
        },
        {
          "info": {
            "name": "Retrieve Session",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.1fort.com/apis/checkout/sessions/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "A UUID string identifying this checkout session."
              }
            ]
          },
          "docs": "Get a checkout session by ID."
        },
        {
          "info": {
            "name": "Stripe amount",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.1fort.com/apis/checkout/sessions/:id/stripe-amount",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "A UUID string identifying this checkout session."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Set PaymentIntent amount to subtotal or subtotal + processing fee (card/ACH)."
        },
        {
          "info": {
            "name": "On-demand Stripe receipt details for the session's completed payment.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.1fort.com/apis/checkout/sessions/:id/stripe-receipt",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path",
                "description": "A UUID string identifying this checkout session."
              }
            ]
          },
          "docs": "GET /checkout/sessions/{id}/stripe-receipt\n\nReturns receipt_url (Stripe-hosted page) plus the charge fields needed\nto render the receipt in-app. Nothing is stored locally — details are\nfetched from Stripe per request. 404 while no payment has completed\n(or the charge has no receipt yet), so the success page can offer the\nreceipt as soon as it exists."
        },
        {
          "info": {
            "name": "Create Webhook",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.1fort.com/apis/checkout/webhook"
          },
          "docs": "Handle incoming Stripe webhook events."
        }
      ]
    }
  ],
  "bundled": true
}