# Paddle subscriptions

Bookingmood subscriptions of organizations, billed through Paddle

Endpoint: `https://api.bookingmood.com/v1/paddle_subscriptions`, supporting `GET`. Authenticate with the header `Authorization: Bearer YOUR_API_KEY` (see [authentication](https://www.bookingmood.com/cs-CZ/api-reference/authentication.md)).

## The paddle subscription object

| Attribute | Type | Description |
| --- | --- | --- |
| `id` | `text` | Unique identifier. |
| `organization_id` | `uuid \| null` | Identifier of the organization this subscription is for. References [`organizations.id`](https://www.bookingmood.com/cs-CZ/api-reference/organizations.md). |
| `plan_id` | `text` | Identifier of the plan in Paddle. References [`paddle_plans.id`](https://www.bookingmood.com/cs-CZ/api-reference/paddle_plans.md). |
| `currency` | `PaddleCurrency` | Currency the subscription is paid in. |
| `renews_at` | `timestamp with time zone \| null` | Timestamp at which the subscription renews. |
| `state` | `PaddleSubscriptionState` | Activation state of the subscription. |
| `version` | `PaddleVersion` | Version of Paddle the subscription is active on. |

```json
{
  "id": "",
  "organization_id": "00000000-0000-0000-0000-000000000000",
  "plan_id": "",
  "currency": "USD",
  "renews_at": "2026-10-30T23:37:06.265Z",
  "state": "active",
  "version": "classic"
}
```

### Types

```typescript
type PaddleCurrency = 
  | "ARS"
  | "AUD"
  | "BRL"
  | "CAD"
  | "CHF"
  | "CLP"
  | "CNY"
  | "COP"
  | "CZK"
  | "DKK"
  | "EUR"
  | "GBP"
  | "HKD"
  | "HUF"
  | "ILS"
  | "INR"
  | "JPY"
  | "KRW"
  | "MXN"
  | "NOK"
  | "NZD"
  | "PEN"
  | "PLN"
  | "RUB"
  | "SEK"
  | "SGD"
  | "THB"
  | "TRY"
  | "TWD"
  | "UAH"
  | "USD"
  | "VND"
  | "ZAR";

type PaddleSubscriptionState = "active" | "deleted" | "past_due" | "paused" | "trialing";

type PaddleVersion = "classic" | "billing";
```

### Related resources

Embed related resources with the [`select` parameter](https://www.bookingmood.com/cs-CZ/api-reference/selecting.md), e.g. `select=*,organizations!organization_id(*)`. Resources related through more than one column need the column as a hint, like `table!column(*)`.

| Embed | Type | Description |
| --- | --- | --- |
| `organizations!organization_id(*)` | `object \| null` | The [organization](https://www.bookingmood.com/cs-CZ/api-reference/organizations.md) referenced by `organization_id`. |
| `paddle_plans(*)` | `object \| null` | The [paddle plan](https://www.bookingmood.com/cs-CZ/api-reference/paddle_plans.md) referenced by `plan_id`. |
| `organizations!paddle_subscription_id(*)` | `array` | The [organizations](https://www.bookingmood.com/cs-CZ/api-reference/organizations.md) referencing this paddle subscription through `organizations.paddle_subscription_id`. |

## List paddle subscriptions

`GET /v1/paddle_subscriptions`

Filter on any attribute with `column=operator.value` (see [filtering](https://www.bookingmood.com/cs-CZ/api-reference/filtering.md)). Choose columns and embed related resources with `select` (see [selecting](https://www.bookingmood.com/cs-CZ/api-reference/selecting.md)), and sort and paginate with `order`, `limit` and `offset` (see [sorting and pagination](https://www.bookingmood.com/cs-CZ/api-reference/sorting-pagination.md)).

```bash
curl -X GET "https://api.bookingmood.com/v1/paddle_subscriptions?select=*&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

Responses:

- `200`: A list of paddle subscriptions with the selected columns. `206` when the list is a partial range.
- `400`: The request is malformed, for example an unknown column or an invalid filter.
- `401`: The API key is missing or invalid.

Errors have a JSON body with a `code`, `message`, `details` and `hint`. See the [introduction](https://www.bookingmood.com/cs-CZ/api-reference.md) for more on errors. The full API is described by the OpenAPI spec at https://api.bookingmood.com/v1/openapi.json.
