---
title: "Create a Stripe Checkout URL after customer approval"
method: POST
path: "/print-quotes/{quoteId}/checkout"
tags: ["Checkout"]
---

# Create a Stripe Checkout URL after customer approval

`POST /print-quotes/{quoteId}/checkout`

## Request

- Base URL: `https://aiurion.com/api/agent/v1`
- URL: `https://aiurion.com/api/agent/v1/print-quotes/{quoteId}/checkout`
- Auth: HTTP bearer

The agent must show the customer the final quote and obtain explicit approval first. This operation only creates a Stripe Checkout URL. It does not charge the customer. The customer supplies payment details directly to Stripe, which places a temporary authorization hold. AIURION captures the payment only after manually approving the submitted model. The Idempotency-Key is durably bound to the quote and approved checkout selections; retrying the same payload replays the original result, while reusing the key with a different payload returns a conflict.

## Request body

- object
  - `approvalConfirmed` true, required: Confirms the customer explicitly approved the final quote before this request.
  - `materialId` string: Enabled material ID from capabilities. Changing it re-slices and changes the price; obtain renewed approval.
  - `productionSpeed` string
  - `fulfillmentMethod` 'shipping' | 'courier'

## Response `200`

Stripe Checkout URL created or reused

- object
  - `success` true, required
  - `requestId` string, uuid, required
  - `idempotentReplay` boolean, required: True when the original successful response was replayed for this key and payload.
  - `checkout` object, required
    - `url` string, uri: Customer-facing Stripe Checkout URL. Checkout authorizes the card; AIURION captures it only after model approval.
    - `checkoutSessionId` string, required
    - `alreadyPaid` boolean
    - `paymentCompleted` boolean, required
    - `requiresCustomerAction` boolean, required
    - `message` string, required

## Other responses

- `400`: Invalid request
- `401`: Missing, invalid, inactive, or expired token
- `403`: The credential lacks the required scope
- `404`: Resource not found
- `409`: Request conflict
- `413`: Uploaded request is too large
- `415`: Unsupported request content type
- `429`: Rate or beta quota exceeded
- `500`: Unexpected server error
- `503`: Agent API temporarily unavailable

---

[API](https://skmtc.dev/aiurion/apis/aiurion-agentic-3d-printing-api.md) · [All operations](https://skmtc.dev/aiurion/apis/aiurion-agentic-3d-printing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aiurion/apis/aiurion-agentic-3d-printing-api/revisions/949ce997a10c?raw)
