---
title: "Get Campaign Booking Options"
method: GET
path: "/campaigns/booking-options"
tags: ["campaigns"]
---

# Get Campaign Booking Options

`GET /campaigns/booking-options`

Units, job types and dispatch teams a custom campaign can book with; enabled=false
when the org has booking off or no live ServiceTitan reads.

## Response `200`

Successful Response

- BookingOptionsResponse — What a custom campaign can book with. enabled=False hides the picker entirely.
  - `enabled` boolean, required
  - `reason` string, nullable
  - `business_units` BookingBusinessUnitOption[]
    - `id` integer, required
    - `name` string, required
  - `job_types` BookingJobTypeOption[]
    - `id` integer, required
    - `name` string, required
    - `duration_seconds` integer, nullable
    - `business_unit_ids` integer[]
  - `teams` BookingTeamOption[]
    - `id` integer, required
    - `name` string, required
    - `technician_count` integer
    - `business_unit_ids` integer[]
  - `org_defaults` object
  - `capacity_mode` string

## Other responses

- `404` — Not found

## Changes

- **2026-09-21** `901e10f431b0` — 1 info
  - added the optional property `capacity_mode` to the response with the `200` status
- **2026-09-16** `c14a8fc770d0` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/noso/apis/crucible-backend-api/changes/campaigns/booking-options/get.md)

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noso/apis/crucible-backend-api/revisions/d1993647e543?raw)
