---
title: "Ingest Service Titan Form Lead"
method: POST
path: "/leads/ingest/service-titan-form"
tags: ["authenticated", "leads"]
---

# Ingest Service Titan Form Lead

`POST /leads/ingest/service-titan-form`

## 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/leads/ingest/service-titan-form`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Ingest a ServiceTitan form-fill booking as a Lead.

Called by service-titan-service's bookings ETL dispatcher. The org comes from
the request body, not the auth context; only compare when the caller carries
an organization. Dedup happens inside ``LeadIngestionHandler``.

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

## Request body

- ServiceTitanFormIngestRequest
  - `organization_id` string, required
  - `payload` object, required

## Response `200`

Successful Response

- ServiceTitanFormIngestResponse
  - `lead_id` string, required
  - `created` boolean, 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)
