Overview
This documents thejob.contact.scored webhook callback that TitanX sends to your configured endpoint when a contact completes scoring.
Related Documentation:
- Webhooks Guide - Implementation guide with code examples
- Webhook Management API - Endpoints to create and manage webhooks
Webhook Specification
POST job.contact.scored
TitanX sends this POST request to your configured webhook URL when a contact completes scoring.Headers
HMAC-SHA256 signature (base64) of the request body for verification. Always verify this signature before processing the webhook.Example:
jdoe+XYZ123abc/def456GHI789==Always
application/jsonTitanX webhook user agentExample:
TitanX-Webhooks/1.0Request Body
The complete scored Contact object with all available fields.
The type of webhook event. Always
"job.contact.scored" for this callback.Unix timestamp in milliseconds when the event occurred.Example:
1705318200000API version for this webhook payload. Currently
"v2".Unique identifier for this webhook event (UUID format). Use this for idempotency to detect and skip duplicate deliveries.Example:
"7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d"Expected Response
Your webhook endpoint should return appropriate HTTP status codes:| Status Code | Description |
|---|---|
200-299 | Success - webhook processed, no retry |
400-499 | Client error - no retry (except 408, 429) |
408 | Request timeout - will retry |
429 | Rate limited - will retry |
500-599 | Server error - will retry |
Retry Policy
Failed deliveries are retried with exponential backoff for up to 3 days.Security Requirements
Signature Verification
All webhook requests include anX-TitanX-Signature header with an HMAC-SHA256 signature.
Algorithm: Base64(HMAC-SHA256(webhook_secret, request_body))
Example Webhook Payload
OpenAPI Definition
The complete OpenAPI 3.1 specification for this webhook callback is available in the openapi.json file under thewebhooks section:
The webhook payload uses the same Contact schema as other API endpoints. This ensures consistency across the API and means any updates to the Contact schema automatically apply to webhook payloads.