Overview of Partner API
Partner API
Use this section to access all partner API endpoints for managing customers.
Getting Started
Use the Partner API when working with customer lifecycle, breach intelligence, partner analytics, and event delivery to your infrastructure.
Authentication
All /api/v1/integrations/... endpoints require:
| Header | Description |
|---|---|
SW-PARTNER-ID | Your unique partner identifier |
SW-API-KEY | Your partner API key or distributor API key |
Distributors can call Partner API endpoints on behalf of their partners using SW-PARTNER-ID with a distributor SW-API-KEY as a drop-in replacement for a partner API key. The partner must belong to your distributor.
curl -X POST https://connect.safestate.com/api/v1/integrations/customer/onboard \
-H "Content-Type: application/json" \
-H "SW-PARTNER-ID: your-partner-id" \
-H "SW-API-KEY: your-api-key" \
-d '{
"companyName": "Example Company Inc.",
"contactEmail": "contact@example.com",
"customerReference": "CUST-12345",
"assetsDomains": ["example.com"],
"alertRecipients": ["alerts@example.com"],
"price": 99.99,
"billedFromDate": "2026-07-01T00:00:00.000Z",
"currencyCode": "USD"
}'To onboard a prospect instead, add "status": "prospect" to the request body:
curl -X POST https://connect.safestate.com/api/v1/integrations/customer/onboard \
-H "Content-Type: application/json" \
-H "SW-PARTNER-ID: your-partner-id" \
-H "SW-API-KEY: your-api-key" \
-d '{
"companyName": "Acme Corporation",
"contactEmail": "contact@acme.co",
"customerReference": "ACME-PROSPECT-001",
"assetsDomains": ["acme.co"],
"alertRecipients": ["sales@yourpartner.com"],
"price": 0,
"billedFromDate": "2026-07-01T00:00:00.000Z",
"currencyCode": "GBP",
"status": "prospect"
}'Platform
Health check
Confirm the API is reachable and returns a health payload.
Partner Analytics
View partner-level metrics and aggregate usage insights.
Outbound events (reference)
HTTPS callback protocol: signatures, payloads, and retries.
Event delivery (API)
Register and manage HTTPS callback URLs.
Customer Management
Onboard Customer
Create a new customer and configure initial monitoring.
Offboard Customer
Deactivate an existing customer from the platform.
Reactivate Customer
Reactivate an inactive customer and restore platform access.
Upgrade Prospect
Move a prospect customer to active status for full monitoring.
Customer Assets
Get or update monitored domains and email addresses.
Customer Breaches
Retrieve breach status and detailed breach records per customer.
Customer Threat Score
Get the aggregated dark-web threat score for a customer.
Prospecting
Sales workflow: one-time exposure scan with redacted breach results.
Breach Intelligence
Breach Check
Run a quick check to see if an email has known breaches.
Breach retrieve (by email)
Fetch full breach details for an email, including categories and next steps.
Update breach status
Mark a customer breach instance as resolved or unresolved by UUID.
Get breach from catalogue
Look up a single global breach record by catalogue name or breach UUID.
Breach Categories
List available breach category metadata used in responses.
Authentication
SSO overview
Customer sign-in options: enterprise SSO and magic link.
Enterprise SSO
Corporate IdP sign-in — configured by SafeWeb on request.
Magic link
Request a one-time login URL for a customer.
Webhooks
Create a webhook endpoint
Register a new HTTPS webhook URL for your partner organization.
Generate signing secret
Create a new signing secret for callback verification.
Cycle signing secret
Rotate active and fallback secrets.
Failed deliveries
Inspect failed webhook delivery attempts, payloads, and retry history.
Magic link sign-in POST
Request a one-time magic link URL for a customer via the Partner API. The customer opens the URL to sign in to the SafeWeb portal.
Onboard a new customer POST
Creates a new customer account in the SafeWeb platform with specified monitoring assets, billing information, and plan configuration. Requires authentication via SW-PARTNER-ID and SW-API-KEY headers. Accepts a partner or distributor API key. At least one of assetsDomains or assetsEmails must be provided. contactEmail is optional; when provided, it is automatically added to assetsEmails if not already present.