---
title: "Quote a credit pack"
method: POST
path: "/api/v1/credits/quote"
tags: ["Credits"]
---

# Quote a credit pack

`POST /api/v1/credits/quote`

## Request

- Base URL: `https://app.argorant.com`
- URL: `https://app.argorant.com/api/v1/credits/quote`
- Auth: HTTP bearer

Prices one pack and says how it would be paid. When the account owner allowed purchases with the saved card in the app (Settings > Billing, up to a monthly limit), the key or connection belongs to the owner and the price fits the limits, the quote names the card and the purchase is charged at once; otherwise the purchase returns a payment link the user pays themselves and `payment.saved_card.reason` says why. Nothing is charged here. Show the quote to the person who pays and buy only after their yes. A quote holds for 24 hours; a saved-card purchase must follow within 15 minutes.

| Cost | What it does | Key scopes |
| --- | --- | --- |
| Free | Reads only | `argorant:manage_lists` |

## Headers

- `Idempotency-Key` string
- `X-Request-Id` string

## Request body

- object
  - `credits` 500 | 5000 | 25000 | 100000, required: Credits in the pack: 500, 5000, 25000 or 100000.
  - `currency` 'usd' | 'eur': usd (default) or eur.

## Response `200`

OK

- CreditQuote
  - `quote_id` string, uuid: Pass to the purchase.
  - `credits` integer: Credits in the pack.
  - `currency` string: Currency.
  - `amount_cents` integer: Price in cents.
  - `price` string: Price as text.
  - `valid_for_days` integer: Days the credits stay valid.
  - `expires_at` string, date-time: When the quote ends.
  - `summary` string: The quote in one sentence, ready to show to the person who pays.
  - `payment` object: How it would be paid: saved_card {usable, card, charge_before, reason} and a summary.
  - `next_step` string: What to do next.

## Other responses

- `401`: 401 Unauthorized. `unauthorized` when the API key is missing, wrong or revoked.
- `403`: 403 Forbidden. `scope_missing` when the key lacks argorant:manage_lists.
- `409`: 409 Conflict. `idempotency_conflict` when the Idempotency-Key was used with another body.
- `422`: 422 Validation error. `validation_error` when a field has the wrong type or is missing.
- `429`: 429 Too many requests. `rate_limited` when too many requests this minute.
- `503`: 503 Unavailable. `unavailable` when buying credits is paused for a moment.

---

[API](https://skmtc.dev/argorant/apis/argorant-api.md) · [All operations](https://skmtc.dev/argorant/apis/argorant-api/llms.txt) · [OpenAPI document](https://skmtc.dev/argorant/apis/argorant-api/revisions/4bc28c0085b6?raw)
