---
title: "Accept open quote"
method: POST
path: "/api/billing/quote/accept"
tags: ["internal"]
---

# Accept open quote

`POST /api/billing/quote/accept`

## Request

- Base URL: `https://app.scanopy.net`
- URL: `https://app.scanopy.net/api/billing/quote/accept`
- Auth: one of:
  - API key in header `Authorization`
  - API key in cookie `session_id`

Stripe creates the invoiced subscription from the quote and sends the
first invoice, carrying whatever purchase order number the billing account
holds (set through `PUT /po-number`).

## Response `200`

Quote accepted

- ApiResponseString: Envelope for a successful response. Failures are sent with a non-2xx status and an `ApiErrorResponse` body instead.
  - `data` string: The result payload. Omitted on failure.
  - `error` string, nullable: Not sent on a successful response. Failure messages arrive in an `ApiErrorResponse`.
  - `meta` ApiMeta, required: API metadata included in all responses
    - `api_version` integer, required: API version (integer, increments on breaking changes)
    - `server_version` string, required: Server version (semver)
  - `success` boolean, required: Always `true` on a successful response.

## Other responses

- `400`: No open quote or billing not enabled

## Changes

- **2026-10-26** `c9d9d46d1ae8`: 1 info
  - api tag `billing` removed
- **2026-09-24** `8ea67a63875c`: 1 breaking
  - removed the request body
- **2026-09-24** `040c4ec1ee27`: 1 breaking
  - added required request body
- **2026-09-24** `93f095a13456`: 1 breaking
  - removed the request body
- **2026-09-24** `7a30dff58ddd`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/scanopy/apis/scanopy-api/changes/api/billing/quote/accept/post.md)

---

[API](https://skmtc.dev/scanopy/apis/scanopy-api.md) - [All operations](https://skmtc.dev/scanopy/apis/scanopy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/scanopy/apis/scanopy-api/revisions/966ba786bdb5?raw)
