Help
DevelopersReference

Leads

Visitors the agent qualified or captured, with the verdict and CRM link.

Base URL https://api.showpilot.com/v1. Every call needs Authorization: Bearer <api key>; see Authentication.

List leads, newest first

GET /leads

Scope: leads:read. Operation id: listLeads.

Parameters

NameInTypeMeaning
limitqueryintegerPage size, 1 to 200. Default 50.
cursorquerystringThe nextCursor from the previous page. Opaque; never build one.
visitorIdquerystring (uuid)

Example request

curl "https://api.showpilot.com/v1/leads?limit=50" \
  -H "Authorization: Bearer $SHOWPILOT_API_KEY"
Runs against your sandbox with a test key.

Response

One page of leads.

FieldTypeAlwaysMeaning
itemsarray of Leadyes
nextCursorNextCursoryes

Lead

FieldTypeAlwaysMeaning
idstring (uuid)yes
visitorIdstring or null (uuid)yes
agentIdstring or null (uuid)yes
sourcestringyesform_capture or meeting_booked.
emailstring or nullyes
namestring or nullyes
companystring or nullyes
verdictobject or nullyesThe agent's qualification, when it made one.
statusstringyes
ownerUserIdstring or nullyes
crmobject or nullyes
createdAtstring (date-time)yes
updatedAtstring (date-time)yes

NextCursor

Pass as cursor for the next page; null on the last page.

Errors

StatusWhen
400A parameter is malformed, such as a cursor this API did not issue, a limit under 1, or an unknown status. Code invalid-request.
401No key, or an unknown or revoked key. Code unauthorized.
403A valid key without the operation's scope (code insufficient-scope), or a plan without API access (code plan-api-off).
429The key's bucket is empty. Code rate-limited; wait the Retry-After seconds.

One lead

GET /leads/{id}

Scope: leads:read. Operation id: getLead.

Parameters

NameInTypeMeaning
idpathstring (uuid)

Example request

curl "https://api.showpilot.com/v1/leads/d0000001-0000-4000-8000-000000000000" \
  -H "Authorization: Bearer $SHOWPILOT_API_KEY"
Runs against your sandbox with a test key.

Response

The lead.

Lead

FieldTypeAlwaysMeaning
idstring (uuid)yes
visitorIdstring or null (uuid)yes
agentIdstring or null (uuid)yes
sourcestringyesform_capture or meeting_booked.
emailstring or nullyes
namestring or nullyes
companystring or nullyes
verdictobject or nullyesThe agent's qualification, when it made one.
statusstringyes
ownerUserIdstring or nullyes
crmobject or nullyes
createdAtstring (date-time)yes
updatedAtstring (date-time)yes

Errors

StatusWhen
401No key, or an unknown or revoked key. Code unauthorized.
403A valid key without the operation's scope (code insufficient-scope), or a plan without API access (code plan-api-off).
404No object with that id in this workspace. Code not-found.
429The key's bucket is empty. Code rate-limited; wait the Retry-After seconds.

PATCH /leads/{id}

Scope: leads:write. Operation id: updateLead.

Send only the fields to change; null clears a field. Requires Idempotency-Key.

Parameters

NameInTypeMeaning
Idempotency-KeyheaderstringAny unique string, up to 200 characters, chosen by the caller. A retry with the same key and the same request replays the stored response (with the header Idempotent-Replayed set to true); the same key with a different request is refused. Keys are remembered for 24 hours.
idpathstring (uuid)

Example request

curl "https://api.showpilot.com/v1/leads/d0000001-0000-4000-8000-000000000000" \
  -H "Authorization: Bearer $SHOWPILOT_API_KEY"
Runs against your sandbox with a test key.

Response

The lead after the change.

Lead

FieldTypeAlwaysMeaning
idstring (uuid)yes
visitorIdstring or null (uuid)yes
agentIdstring or null (uuid)yes
sourcestringyesform_capture or meeting_booked.
emailstring or nullyes
namestring or nullyes
companystring or nullyes
verdictobject or nullyesThe agent's qualification, when it made one.
statusstringyes
ownerUserIdstring or nullyes
crmobject or nullyes
createdAtstring (date-time)yes
updatedAtstring (date-time)yes

Errors

StatusWhen
400A parameter is malformed, such as a cursor this API did not issue, a limit under 1, or an unknown status. Code invalid-request.
401No key, or an unknown or revoked key. Code unauthorized.
403A valid key without the operation's scope (code insufficient-scope), or a plan without API access (code plan-api-off).
404No object with that id in this workspace. Code not-found.
409The write cannot apply. Code conflict when the object's state refuses it (a follow-up already closed); code idempotency-mismatch when the Idempotency-Key was already used for a different request.
429The key's bucket is empty. Code rate-limited; wait the Retry-After seconds.

On this page