---
title: "Remove Payment Method"
method: DELETE
path: "/v1/billing/remove-payment-method"
tags: ["billing"]
---

# Remove Payment Method

`DELETE /v1/billing/remove-payment-method`

## Request

- Base URL: `https://api.pioneer.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pioneer.ai/v1/billing/remove-payment-method`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/pioneer/apis/brain-api/docs/v1/billing/remove-payment-method/delete.ts> (a function with typed inputs; its response is checked against the schema)

Cancel the user's active subscription and remove the stored payment method.

This endpoint is retained for frontend compatibility, but its behavior is
subscription-centric:
1. Cancels the user's active Stripe subscription immediately
2. Downgrades the user to the Hobby plan in Supabase
3. Removes the stored card from the Stripe customer

Args:
    request: Active subscription payment method ID shown in the UI
    auth: Authenticated user context

Returns:
    Success status with cancellation message

## Request body

- RemovePaymentMethodRequest: Request model for removing a payment method.
  - `payment_method_id` string, required: Stripe payment method ID to remove

## Response `200`

Successful Response

- SuccessResponse: Generic success response.
  - `success` boolean
  - `message` string, nullable
  - `data` object, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-24** `0e5e86e2bae5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/pioneer/apis/brain-api/changes/v1/billing/remove-payment-method/delete.md)

---

[API](https://skmtc.dev/pioneer/apis/brain-api.md) - [All operations](https://skmtc.dev/pioneer/apis/brain-api/llms.txt) - [OpenAPI document](https://skmtc.dev/pioneer/apis/brain-api/revisions/0e5e86e2bae5?raw)
