Skip to main content
Use the Customer Leads API to capture contact and visit data before a customer completes the current Paysight checkout, then retrieve the saved lead and its matched payment details.

Endpoint

Every 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 with GET requires this server-only key; publishable browser keys are write-only.

Example

Successful creates and updates return 200 OK. API clients cannot set tenant_id, status, or payment fields.

Query leads

Use exact query parameters with GET. 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.
The response always contains an array. Every item is the complete stored lead record, not a summary or excerpt. It includes contact details, scans, pending data, every CFA and D2D field, status, payment identifiers, amount, currency, and timestamps. The tenant ID is intentionally excluded because the secret key already scopes the request to one tenant. Email addresses are normalized to lowercase and unique within your tenant. The response remains an array for consistency, but an email lookup returns at most one record. Paid records include the transaction, order, application, amount, currency, and subscription identifiers captured when that lead first became paid. This links the lead to the converting payment; it is not a history of every later recurring transaction.
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.
When a configured successful transaction matches the tenant, application ID, environment, and session_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.