---
title: "Cancel the subscription"
method: POST
path: "/api/v1/organizations/{organizationId}/billing/cancel"
tags: ["Organizations"]
---

# Cancel the subscription

`POST /api/v1/organizations/{organizationId}/billing/cancel`

## Request

- Base URL: `https://app.easyscraper.com`
- URL: `https://app.easyscraper.com/api/v1/organizations/{organizationId}/billing/cancel`
- Auth: API key in cookie `better-auth.session_token`

Open the Stripe billing portal to cancel the organization's subscription at the end of its period, and return its URL, which comes back to `returnUrl` (a page of the web app). The organization keeps its plan until then. For a subscription already set to end, returns `returnUrl`. Requires the `billing: ["manage"]` permission (owners and admins)

## Path parameters

- `organizationId` string, uuid, required

## Request body

- object
  - `returnUrl` string, uri, required

## Response `200`

OK

- object
  - `url` string, uri, required

## Other responses

- `400`: 400
- `401`: 401
- `403`: 403
- `404`: 404
- `429`: 429

## Changes

- **2026-11-02** `a12cef98c52b`: 1 breaking
  - added `subschema #1` to the response body `oneOf` list for the response status `400`
- **2026-10-31** `3e642e95991a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/easyscraper/apis/easy-scraper-api/changes/api/v1/organizations/:organizationId/billing/cancel/post.md)

---

[API](https://skmtc.dev/easyscraper/apis/easy-scraper-api.md) - [All operations](https://skmtc.dev/easyscraper/apis/easy-scraper-api/llms.txt) - [OpenAPI document](https://skmtc.dev/easyscraper/apis/easy-scraper-api/revisions/a12cef98c52b?raw)
