Reference
POST /api/v1/ingest
Reference for the Bearer-token server ingest endpoint — Surface 1a.
Server-to-server lead submission, authenticated with a Bearer token. See the server webhooks guide for a walkthrough.
Request
POST https://app.blackglassleads.com/api/v1/ingest
| Header | Required | Value |
|---|---|---|
Authorization | Yes | Bearer ingt_srv_<token> |
Content-Type | Yes | application/json |
X-BGL-Idempotency-Key | No | 1–255 char string; dedups retries for 24h |
Body — arbitrary flat JSON object, max 128 KB. No fixed schema; every top-level key becomes a lead field.
Response
| Status | Body | Meaning |
|---|---|---|
202 | { "submission_id": "<uuid>" } | Accepted and scored. |
200 | { "status": "rejected" } | Opaque rejection — see Headers, errors & limits for why every failure looks the same on the wire. |
A 200 { "status": "rejected" } covers: missing/invalid token, wrong token type, suspended workspace, form not found or inactive, rate limit exceeded, malformed idempotency key, and oversized body. Real, discriminated rejection reasons are visible in Settings → Ingest tokens → Diagnostics.
Rate limits
Per workspace: 1,000/minute, 50,000/day. See Headers, errors & limits.
Idempotency
An X-BGL-Idempotency-Key repeated within 24 hours for the same workspace returns the original 202 response verbatim rather than creating a second lead.