---
title: "Read First Sync"
method: GET
path: "/tenants/first-sync"
tags: ["authenticated", "service-titan-tenant"]
---

# Read First Sync

`GET /tenants/first-sync`

## 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/tenants/first-sync`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

The caller's own organization's first ServiceTitan sync, from durable ETL rows.

Counts are computed only once the sync is done, so polling while it runs stays cheap.

## 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

- FirstSyncStatePublic
  - `status` 'pending' | 'running' | 'done' | 'failed', required
  - `stale` boolean, required
  - `installed_at` string, date-time, nullable, required
  - `started_at` string, date-time, nullable, required
  - `last_activity_at` string, date-time, nullable, required
  - `full_history_in_progress` boolean, required
  - `tables` FirstSyncTablePublic[], required
    - `table_name` string, required
    - `label` string, required
    - `synced_at` string, date-time, nullable, required
    - `count` integer, nullable, required
    - `disabled_reason` string, nullable, required
    - `failure` string, nullable, 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)
