Endpoint
POST request must include email and session_id. Reusing the same email updates the existing lead for your tenant instead of creating a duplicate, and replaces its stored session ID.
Set
session_id to the same value you send to the current Card Submit or Widget checkout as partnerSession. This allows Paysight to mark the lead paid when the successful transaction webhook arrives.Authentication
Generate API keys from Tools → Customer Leads → API endpoint in Platform. Full keys are shown after generation so you can copy them. If a key is lost, generate replacements and update every client because the previous keys stop working immediately.Browser
Use the publishable key generated in Platform. The browser origin must exactly match one of the configured allowed origins.Server
Use the secret key as a Bearer token. Never expose this key in browser code. Reading leads withGET requires this server-only key; publishable browser keys are write-only.
Example
200 OK. API clients cannot set tenant_id, status, or payment fields.
Query leads
Use exact query parameters withGET. Supported filters are id, email, session_id, transaction_id, subscription_id, and status. You can combine filters; all supplied filters must match. Results are ordered by the most recently updated lead and limited to 50 by default or 100 maximum.
Each tenant has one customer lead per email address. The lead stores the latest submitted session ID, but it is not a history of every transaction or subscription associated with that customer.
Paid lead webhooks
When a configured successful transaction matches the tenant, application ID, environment, andsession_id, Paysight changes the lead to paid and sends a customer_lead.paid webhook. See Customer lead integration for configuration, payload signing, retries, and verification.