---
title: "Quote a credit purchase for MPP"
method: POST
path: "/api/billing/mpp/purchases"
tags: ["User"]
---

# Quote a credit purchase for MPP

`POST /api/billing/mpp/purchases`

## Request

- Base URL: `https://makefx.app`
- URL: `https://makefx.app/api/billing/mpp/purchases`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://makefx.app/api/oauth/authorize`, token URL `https://makefx.app/api/oauth/token`, scopes: `write`)
  - API key in cookie `auth_token`

Creates an owner-authorized credit purchase with a Stripe tax quote and no payment confirmation.

## Headers

- `API-Version` '2026-09-10'

## Request body

- object
  - `account_id` string, required
  - `product` 'eur20' | 'eur100', required
  - `request_id` string, required
  - `billing` object: Required only to establish the account billing identity; existing details are managed in Stripe.
    - `name` string, required
    - `email` string, email, required
    - `address` object, required
      - `line1` string, required
      - `line2` string
      - `city` string, required
      - `postal_code` string, required
      - `state` string
      - `country` string, required
    - `tax_id` object
      - `type` 'eu_vat', required
      - `value` string, required

## Response `200`

Success

- object
  - `purchase_id` string, required
  - `account_id` string, required
  - `product` 'eur20' | 'eur100', required
  - `credits` integer, required
  - `currency` 'eur', required
  - `net_amount` integer, required
  - `tax_amount` integer, required
  - `total_amount` integer, required
  - `expires_at` string, required
  - `status` 'awaiting_payment' | 'credited', required
  - `payment_url` string, uri, required
  - `invoice_url` string, uri, nullable, required
  - `purchase_notice` string, required
  - `balance_credits` integer, required

## Other responses

- `401`: No valid credentials. WWW-Authenticate names the protected resource metadata to start from
- `403`: The credentials are valid but not enough: the token lacks the scope, or the action needs a browser session rather than an app token
- `404`: Not found
- `429`: Rate limited. RateLimit names the policy; Retry-After says when to try again
- `500`: Internal server error

---

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