---
title: "Confirm Payment Method"
method: POST
path: "/v1/organizations/billing/confirm-payment-method"
tags: ["Organization Billing"]
---

# Confirm Payment Method

`POST /v1/organizations/billing/confirm-payment-method`

## Request

- Base URL: `https://api.mixpeek.com`
- URL: `https://api.mixpeek.com/v1/organizations/billing/confirm-payment-method`
- Auth: HTTP bearer

Confirm payment method after frontend collects it.

After Stripe Elements confirms the SetupIntent, call this endpoint
to attach the payment method to the customer and enable auto-billing.

**Requirements:**
- Admin permission
- Must have called setup-payment-method first

**Example:**
```python
# After Stripe Elements confirms setup
response = await client.post(
    "/v1/organizations/billing/confirm-payment-method",
    json={"payment_method_id": "pm_1ABC2DEF3GHI"}
)
```

## Request body

- ConfirmPaymentMethodRequest: Request to confirm a payment method after collection.
  - `payment_method_id` string, required: Stripe PaymentMethod ID from frontend

## Response `200`

Successful Response

- ConfirmPaymentMethodResponse: Response after confirming payment method.
  - `success` boolean: Whether payment method was successfully confirmed
  - `payment_method` PaymentMethodInfo, required: Payment method details.
    - `payment_method_id` string, required: Stripe PaymentMethod ID
    - `type` string, required: Payment method type
    - `card_last4` string, required: Last 4 digits of card
    - `card_brand` string, required: Card brand
  - `auto_billing_enabled` boolean, required: Whether auto-billing is now enabled
  - `billing_period_start` string, date-time, required: When the current billing period started

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-09** `61a175e8eb9a`: 1 warning, 5 info
  - removed the optional property `detail` from the response with the `422` status
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
  - added the optional property `success` to the response with the `422` status
  - …2 more
- **2026-08-09** `5d4c905106b4`: 1 info
  - the endpoint scheme security `BearerAuth` was added to the API

[Operation history](https://skmtc.dev/mixpeek/apis/mixpeek-api/changes/v1/organizations/billing/confirm-payment-method/post.md)

---

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