API reference
API reference
Every endpoint of the Light AI API 2026-11-01, generated from the OpenAPI document.
REST over HTTPS with JSON bodies. Generated from the OpenAPI 3.1 document (version 2026-11-01); import it, or the Postman collection, into your tools.
| Base URL | Use |
|---|---|
https://api.light-ai.app/v1 | Production (live and test keys) |
https://light-ai.app/api/v1 | Alternate host |
Conventions#
- Authenticate with
Authorization: Bearer lai_live_…(test mode:lai_test_…). See Authentication. - Money is
{ "cents": 245000, "decimal": "2450.00", "currency": "USD" }.centsis the source of truth. - Timestamps are RFC 3339 in UTC. Ids carry a type prefix:
lead_,cli_,prj_,qt_,evt_,we_,mgen_,org_. - Errors are RFC 9457 problem details with a stable
code. See Errors. - Every response carries a
Request-Idheader; quote it to support. - Pin a version with
Light-AI-Version: 2026-11-01(defaults to the key's version).
Account#
Leads#
- GET
/v1/leadsList leads - POST
/v1/leadsCreate a lead - POST
/v1/leads/searchSearch leads by email, phone or address - GET
/v1/leads/{lead_id}Retrieve a lead - PATCH
/v1/leads/{lead_id}Update a lead - GET
/v1/leads/{lead_id}/touchesList the repeat requests folded into a lead - PUT
/v1/leads/{object_id}/external_refs/{system}Set your id for a lead - DEL
/v1/leads/{object_id}/external_refs/{system}Remove your id for a lead
Clients#
- GET
/v1/clientsList clients - POST
/v1/clientsCreate or update a client - POST
/v1/clients/searchSearch clients by email, phone or address - GET
/v1/clients/{client_id}Retrieve a client - PATCH
/v1/clients/{client_id}Update a client - GET
/v1/clients/{client_id}/propertiesList a client's properties - POST
/v1/clients/{client_id}/propertiesAdd a property to a client - PUT
/v1/clients/{object_id}/external_refs/{system}Set your id for a client - DEL
/v1/clients/{object_id}/external_refs/{system}Remove your id for a client
Projects#
- GET
/v1/projectsList projects - GET
/v1/projects/{project_id}Retrieve a project - POST
/v1/projects/{project_id}/stageMove a project to another pipeline stage - GET
/v1/pipeline/stagesPipeline stage totals - PUT
/v1/projects/{object_id}/external_refs/{system}Set your id for a project - DEL
/v1/projects/{object_id}/external_refs/{system}Remove your id for a project
Quotes#
- GET
/a/{token}Durable quote image link - GET
/v1/quotesList published quotes - GET
/v1/quotes/{quote_id}Retrieve a quote - GET
/v1/quotes/{quote_id}/assetsGet signed links to a quote's images and PDF - GET
/v1/quotes/{quote_id}/timelineA quote's timeline (published, viewed, decided) - POST
/v1/quotes/{quote_id}/mark_approvedRecord an approval made outside Light AI - POST
/v1/quotes/{quote_id}/mark_declinedRecord a decline made outside Light AI - GET
/v1/catalogThe organization's line-item catalog - PUT
/v1/quotes/{object_id}/external_refs/{system}Set your id for a quote - DEL
/v1/quotes/{object_id}/external_refs/{system}Remove your id for a quote
Mockups#
- POST
/v1/projects/{project_id}/photo_uploadsCreate a photo upload - POST
/v1/projects/{project_id}/mockupsGenerate mockups - GET
/v1/mockup_generations/{mockup_generation_id}Retrieve a mockup generation
Website forms#
- GET
/v1/formsList website request forms - GET
/v1/forms/{form_id}Retrieve a website request form - PATCH
/v1/forms/{form_id}Update a website request form
Events#
Webhooks#
- GET
/v1/webhook_endpointsList your webhook endpoints - POST
/v1/webhook_endpointsSubscribe a webhook endpoint - GET
/v1/webhook_endpoints/{endpoint_id}Retrieve a webhook endpoint - PATCH
/v1/webhook_endpoints/{endpoint_id}Update a webhook endpoint - DEL
/v1/webhook_endpoints/{endpoint_id}Unsubscribe (delete) a webhook endpoint - POST
/v1/webhook_endpoints/{endpoint_id}/rotate_secretRotate the signing secret - POST
/v1/webhook_endpoints/{endpoint_id}/testSend a test event - GET
/v1/webhook_endpoints/{endpoint_id}/deliveriesList an endpoint's deliveries - POST
/v1/webhook_endpoints/{endpoint_id}/replayReplay events to an endpoint - POST
/v1/webhook_deliveries/{delivery_id}/retryRetry one delivery now
Inbound#
- POST
/v1/inbound/{source_id}Receive a lead (inbound source, header secret) - POST
/v1/inbound/{source_id}/{token}Receive a lead (inbound source, secret in the URL) - POST
/v1/inbound/google-ads/{source_id}Google Ads lead form webhook
Partners#
- GET
/v1/partner/grantsList the organizations connected to your partner account - PATCH
/v1/partner/grants/{grant_id}Set your reference and metadata for a connected organization - POST
/v1/partner/grants/{grant_id}/confirmConfirm the organization an unbound connect link reached - POST
/v1/partner/grants/{grant_id}/declineDecline a pending grant (wrong organization) - GET
/v1/partner/connect_linksList your connect links - POST
/v1/partner/connect_linksCreate a connect link - POST
/v1/partner/connect_links/{connect_link_id}/revokeRevoke an unused connect link