---
title: "List Service Titan Booking Sources"
method: GET
path: "/organizations/{organization_id}/service-titan-booking-sources"
tags: ["authenticated", "organizations"]
---

# List Service Titan Booking Sources

`GET /organizations/{organization_id}/service-titan-booking-sources`

## Request

- Base URL: `https://api-docs.upsmith.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api-docs.upsmith.com/organizations/{organization_id}/service-titan-booking-sources`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Distinct `booking.source` values seen on this org's ServiceTitan mirror.

Powers the form-fill source picker on `/admin/general` so operators can
select real values rather than guess at strings. Excludes soft-deleted
and inactive bookings, and rows with `source IS NULL`. Aggregated over
the trailing `days` window (default 90) and capped at `limit` rows
(default 25, ordered by count desc).

## Path parameters

- `organization_id` string, required

## Query parameters

- `days` integer
- `limit` integer

## Headers

- `organization-id` string, nullable
- `x-user-id` string, nullable
- `timezone` string
- `x-actor-email` string, nullable
- `x-request-source` string, nullable
- `x-operation-id` string, nullable
- `x-commit-message` string, nullable
- `x-confirmation-id` string, nullable
- `x-chat-id` string, nullable

## Response `200`

Successful Response

- ServiceTitanBookingSourceCount[]
  - `source` string, required
  - `count` integer, required
  - `last_seen` string, date-time, required

## Other responses

- `422`: Validation Error

---

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