# Organizations

Organizations, which own all other data. An API key gives access to a single organization

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

## The organization object

| Attribute | Type | Description |
| --- | --- | --- |
| `id` | `uuid` | Unique identifier. |
| `clover_merchant_id` | `text \| null` | Identifier of the connected Clover merchant. |
| `mollie_profile_id` | `text \| null` | Identifier of the connected Mollie profile. |
| `paddle_subscription_id` | `text \| null` | Identifier of the Paddle subscription of the organization. References [`paddle_subscriptions.id`](https://www.bookingmood.com/ro-RO/api-reference/paddle_subscriptions.md). |
| `referrer_id` | `uuid \| null` | Identifier of the user that referred the organization. References [`user_profiles.user_id`](https://www.bookingmood.com/ro-RO/api-reference/user_profiles.md). |
| `square_location_id` | `text \| null` | Identifier of the connected Square location. |
| `stripe_account_id` | `text \| null` | Identifier of the connected Stripe account. |
| `created_at` | `timestamp with time zone` | Creation timestamp. Read-only: set by the database. |
| `updated_at` | `timestamp with time zone` | Last modification timestamp. Read-only: set by the database. |
| `deleted_at` | `timestamp with time zone \| null` | Timestamp at which the organization was deleted. |
| `active` | `boolean` | Whether the organization is active. Widgets, sites and iCal feeds of inactive organizations don't work. |
| `arrival_label` | `MultiLanguageString` | Localized label for the arrival date. |
| `avatar` | `text \| null` | URL of the avatar image. |
| `booking_form_cta` | `MultiLanguageString` | Localized label of the booking form's submit button. |
| `buyer_label` | `MultiLanguageString` | Localized label of the buyer details on invoices. |
| `color_background` | `text` | Background color of the guest page and emails. |
| `color_error` | `text` | Error color of the guest page and emails. |
| `color_header` | `text` | Header color of the guest page and emails. |
| `color_info` | `text` | Info color of the guest page and emails. |
| `color_primary` | `text` | Primary color of the guest page and emails. |
| `color_text` | `text` | Text color of the guest page and emails. |
| `color_warning` | `text` | Warning color of the guest page and emails. |
| `company_name` | `text` | Company name of the organization, for invoices. |
| `confirmation_message` | `MultiLanguageString` | Localized message shown after submitting a booking. |
| `confirmation_message_title` | `MultiLanguageString` | Localized title of the message shown after submitting a booking. |
| `contact_details` | `Array<ContactDetail>` | Contact details shown to guests. |
| `country_code` | `CountryCode \| ""` | ISO 3166-1 alpha-2 country code of the organization, or empty. |
| `credit` | `integer` | Pre-paid credit balance of the organization, in cents. |
| `custom_domain` | `text \| null` | Custom domain of the guest page. |
| `departure_label` | `MultiLanguageString` | Localized label for the departure date. |
| `description` | `MultiLanguageString` | Localized description of the organization. |
| `e_invoice_address` | `text` | E-invoicing address of the organization. |
| `e_invoice_scheme` | `text` | Scheme of the organization's e-invoicing address, e.g. a Peppol scheme. |
| `expires_at` | `timestamp with time zone \| null` | Timestamp at which the trial or subscription expires. |
| `font` | `text \| null` | Font of the guest page and emails. |
| `from_address` | `text \| null` | Email address emails to guests are sent from. |
| `from_name` | `text \| null` | Sender name of emails to guests. |
| `fts` | `tsvector` | Full text search index. Read-only: set by the database. |
| `ical_export_secret` | `text` | Secret used to generate iCal feed URLs. |
| `ical_export_secret_no_details` | `text` | Secret used to generate iCal feed URLs without booking details. |
| `initial_review_status` | `ReviewStatus` | Status of new reviews: `pending` or `approved`. |
| `invoice_details` | `text` | Seller details shown on invoices, such as address and VAT number. |
| `invoice_footer` | `text` | Text shown at the bottom of invoices. |
| `languages` | `[Language, ...Array<Language>]` | Languages the organization supports, the first being the default. |
| `logo` | `text \| null` | URL of the logo image. |
| `logo_alt` | `text \| null` | URL of the logo image for dark backgrounds. |
| `logo_size` | `integer \| null` | Size of the logo in pixels, or null for automatic. |
| `name` | `MultiLanguageString` | Localized name of the organization. |
| `onboarding_progress` | `{ booking?: string \| null, channel?: string \| null, event?: string \| null, impression?: string \| null, product?: string \| null }` | Progress of the organization through onboarding. |
| `payment_details` | `MultiLanguageString` | Localized payment instructions for manual payments. |
| `payment_method` | `PaymentMethod` | Payment provider for online payments. |
| `period` | `SubscriptionPeriod` | Billing period of the subscription. |
| `pricing_version` | `OrganizationPricingVersion` | Version of Bookingmood's pricing that applies to the organization and its units. Versions were introduced as the pricing changed over time. |
| `review_prompt` | `MultiLanguageString` | Localized message asking guests to leave a review. |
| `seller_label` | `MultiLanguageString` | Localized label of the seller details on invoices. |
| `show_branding_booking_status_page` | `boolean` | Whether to show the Bookingmood branding on the guest page. |
| `show_review_prompt` | `boolean` | Whether the guest page asks for a review after the stay. |
| `sms_limit` | `integer` | Maximum number of text messages the organization can send per day. |
| `stripe_store_payment_details` | `boolean` | Whether to store guests' payment details with Stripe for future charges. |
| `subscription_type` | `SubscriptionType` | How the subscription is paid: `trial`, `paddle`, `pre-paid` or `test`. |
| `thread_emails` | `boolean` | Whether emails about the same booking are grouped in a single thread. |
| `tier` | `Tier` | Subscription tier of the organization. |
| `vat_number` | `text` | VAT number of the organization. |

```json
{
  "id": "00000000-0000-0000-0000-000000000000",
  "clover_merchant_id": "",
  "mollie_profile_id": "",
  "paddle_subscription_id": "",
  "referrer_id": "00000000-0000-0000-0000-000000000000",
  "square_location_id": "",
  "stripe_account_id": "",
  "created_at": "2026-10-30T23:37:06.265Z",
  "updated_at": "2026-10-30T23:37:06.265Z",
  "deleted_at": "2026-10-30T23:37:06.265Z",
  "active": true,
  "arrival_label": {},
  "avatar": "",
  "booking_form_cta": {},
  "buyer_label": {},
  "color_background": "#fff",
  "color_error": "#faa5a5",
  "color_header": "#000",
  "color_info": "#2463eb",
  "color_primary": "#059669",
  "color_text": "#000",
  "color_warning": "#a75c03",
  "company_name": "Summer cottage",
  "confirmation_message": {},
  "confirmation_message_title": {},
  "contact_details": {},
  "country_code": "NL",
  "credit": 0,
  "custom_domain": "",
  "departure_label": {},
  "description": {},
  "e_invoice_address": "",
  "e_invoice_scheme": "",
  "expires_at": "2026-10-30T23:37:06.265Z",
  "font": "",
  "from_address": "",
  "from_name": "Summer cottage",
  "ical_export_secret": "md5((random())::text)",
  "ical_export_secret_no_details": "md5((random())::text)",
  "initial_review_status": "pending",
  "invoice_details": "",
  "invoice_footer": "",
  "languages": [
    ""
  ],
  "logo": "",
  "logo_alt": "",
  "logo_size": 0,
  "name": {},
  "onboarding_progress": {},
  "payment_details": {},
  "payment_method": "manual",
  "period": "monthly",
  "pricing_version": "V5",
  "review_prompt": {},
  "seller_label": {},
  "show_branding_booking_status_page": true,
  "show_review_prompt": true,
  "sms_limit": 0,
  "stripe_store_payment_details": false,
  "subscription_type": "trial",
  "thread_emails": true,
  "tier": "premium",
  "vat_number": ""
}
```

### Types

```typescript
type ContactDetail = {
  id: string;
  label: string;
  value: string;
};

type Language = 
  | "be-BY"
  | "bg-BG"
  | "cs-CZ"
  | "da-DK"
  | "de-DE"
  | "en-GB"
  | "en-NZ"
  | "en-US"
  | "es-ES"
  | "eu-ES"
  | "fr-FR"
  | "gr-EL"
  | "he-IL"
  | "hr-HR"
  | "hu-HU"
  | "it-IT"
  | "ja-JP"
  | "lt-LT"
  | "lv-LV"
  | "nl-NL"
  | "nn-NO"
  | "pl-PL"
  | "pt-BR"
  | "ro-RO"
  | "ru-RU"
  | "sk-SK"
  | "sl-SI"
  | "sr-Cyrl"
  | "sr-Latn"
  | "sv-SE"
  | "tr-TR"
  | "uk-UA";

type MultiLanguageString = {
  default: string;
} & Partial<Record<Language, string>>;

type OrganizationPricingVersion = "V1" | "V2" | "V3" | "V4" | "V5";

type PaymentMethod = 
  | "clover"
  | "custom"
  | "manual"
  | "mollie"
  | "square"
  | "stripe";

type ReviewStatus = "pending" | "approved" | "rejected";

type SubscriptionPeriod = "yearly" | "monthly";

type SubscriptionType = 
  | "test"
  | "trial"
  | "paddle"
  | "pre-paid"
  | "duda"
  | "duda-trial";

type Tier = "free" | "basic" | "plus" | "premium";
```

### Related resources

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

| Embed | Type | Description |
| --- | --- | --- |
| `paddle_subscriptions!paddle_subscription_id(*)` | `object \| null` | The [paddle subscription](https://www.bookingmood.com/ro-RO/api-reference/paddle_subscriptions.md) referenced by `paddle_subscription_id`. |
| `user_profiles!referrer_id(*)` | `object \| null` | The [user profile](https://www.bookingmood.com/ro-RO/api-reference/user_profiles.md) referenced by `referrer_id`. |
| `attributes(*)` | `array` | The [attributes](https://www.bookingmood.com/ro-RO/api-reference/attributes.md) referencing this organization through `attributes.organization_id`. |
| `bookings!organization_id(*)` | `array` | The [bookings](https://www.bookingmood.com/ro-RO/api-reference/bookings.md) referencing this organization through `bookings.organization_id`. |
| `calendar_events!organization_id(*)` | `array` | The [calendar events](https://www.bookingmood.com/ro-RO/api-reference/calendar_events.md) referencing this organization through `calendar_events.organization_id`. |
| `capacity_groups(*)` | `array` | The [capacity groups](https://www.bookingmood.com/ro-RO/api-reference/capacity_groups.md) referencing this organization through `capacity_groups.organization_id`. |
| `contacts(*)` | `array` | The [contacts](https://www.bookingmood.com/ro-RO/api-reference/contacts.md) referencing this organization through `contacts.organization_id`. |
| `coupons(*)` | `array` | The [coupons](https://www.bookingmood.com/ro-RO/api-reference/coupons.md) referencing this organization through `coupons.organization_id`. |
| `invoices(*)` | `array` | The [invoices](https://www.bookingmood.com/ro-RO/api-reference/invoices.md) referencing this organization through `invoices.organization_id`. |
| `members(*)` | `array` | The [members](https://www.bookingmood.com/ro-RO/api-reference/members.md) referencing this organization through `members.organization_id`. |
| `message_templates(*)` | `array` | The [message templates](https://www.bookingmood.com/ro-RO/api-reference/message_templates.md) referencing this organization through `message_templates.organization_id`. |
| `organization_calendar_logs(*)` | `array` | The [organization calendar logs](https://www.bookingmood.com/ro-RO/api-reference/organization_calendar_logs.md) referencing this organization through `organization_calendar_logs.organization_id`. |
| `paddle_subscriptions!organization_id(*)` | `array` | The [paddle subscriptions](https://www.bookingmood.com/ro-RO/api-reference/paddle_subscriptions.md) referencing this organization through `paddle_subscriptions.organization_id`. |
| `pricing_widgets(*)` | `array` | The [pricing widgets](https://www.bookingmood.com/ro-RO/api-reference/pricing_widgets.md) referencing this organization through `pricing_widgets.organization_id`. |
| `products!organization_id(*)` | `array` | The [products](https://www.bookingmood.com/ro-RO/api-reference/products.md) referencing this organization through `products.organization_id`. |
| `reply_to_addresses(*)` | `array` | The [reply to addresses](https://www.bookingmood.com/ro-RO/api-reference/reply_to_addresses.md) referencing this organization through `reply_to_addresses.organization_id`. |
| `review_widgets(*)` | `array` | The [review widgets](https://www.bookingmood.com/ro-RO/api-reference/review_widgets.md) referencing this organization through `review_widgets.organization_id`. |
| `reviews(*)` | `array` | The [reviews](https://www.bookingmood.com/ro-RO/api-reference/reviews.md) referencing this organization through `reviews.organization_id`. |
| `seasons(*)` | `array` | The [seasons](https://www.bookingmood.com/ro-RO/api-reference/seasons.md) referencing this organization through `seasons.organization_id`. |
| `services(*)` | `array` | The [services](https://www.bookingmood.com/ro-RO/api-reference/services.md) referencing this organization through `services.organization_id`. |
| `sites!organization_id(*)` | `array` | The [sites](https://www.bookingmood.com/ro-RO/api-reference/sites.md) referencing this organization through `sites.organization_id`. |
| `taxes(*)` | `array` | The [taxes](https://www.bookingmood.com/ro-RO/api-reference/taxes.md) referencing this organization through `taxes.organization_id`. |
| `webhooks(*)` | `array` | The [webhooks](https://www.bookingmood.com/ro-RO/api-reference/webhooks.md) referencing this organization through `webhooks.organization_id`. |
| `widgets!organization_id(*)` | `array` | The [widgets](https://www.bookingmood.com/ro-RO/api-reference/widgets.md) referencing this organization through `widgets.organization_id`. |

## List organizations

`GET /v1/organizations`

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

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

Responses:

- `200`: A list of organizations 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/ro-RO/api-reference.md) for more on errors. The full API is described by the OpenAPI spec at https://api.bookingmood.com/v1/openapi.json.
