1. Contacts
Highperformr API
  • Introduction
  • Contacts
    • Bulk fetch contacts by IDs
      POST
    • Get contacts by segment
      POST
    • Get contact by ID
      GET
    • Update contact
      PATCH
    • Delete contact
      DELETE
    • Upsert contact into a source
      POST
    • Bulk upsert contacts for source
      POST
    • Unique values of one field for a filtered contact set
      POST
    • Unified Data API - async contact enrichment
      POST
  • Schema
    • Get contact schema
      GET
    • Get discovery search contact schema
      GET
    • Get discovery search company schema
      GET
    • Get options for field
      GET
    • Get discovery search options for field
      GET
  • Discovery search
    • Find contacts v2
      POST
    • Find companies v2
      POST
  • Jobs
    • Get job status by id
      GET
  • Social publishing
    • Create draft post
      POST
    • List posts (drafts, scheduled, published)
      POST
    • Schedule or publish posts (bulk)
      POST
    • Schedule a LinkedIn comment on an external post
      POST
    • Configure cross-account auto-repost
      POST
    • Upload media file (multipart)
      POST
    • Assemble chunked uploads into one file
      POST
    • Import media from a public URL
      POST
  • Integrations (social)
    • List social integrations (filter)
Login
  1. Contacts

Unified Data API - async contact enrichment

POST
/contacts/unified-data-api
Runs asynchronous contact enrichment: the API accepts the request, returns 202 with a jobStatusEndpoint, and processes enrichment in the background.
Request body — use these together:
fields (required): A non-empty array. Include one or more of: basic_contact_data, basic_company_data, emails, phoneNumbers, linkedinPosts. Each value selects which enrichment runs and how credits are used.
Identity (required): Tell the service which person to enrich:
linkedIn: LinkedIn profile URL. Needed for basic_contact_data, basic_company_data, phoneNumbers, and linkedinPosts, and for most combined requests.
Without LinkedIn: you may use companyWebsite together with fullName, or firstName and lastName, or fullName alone—only for flows where that combination is supported (for example some email-only cases). If you request slices that need a LinkedIn profile, include linkedIn.
webhookConfiguration (optional): Provide a url (and optional headers) to be notified when the job completes.
After 202:
Poll GET /api/jobs/{jobId} using the returned jobStatusEndpoint until jobStatus is completed (or failed).
Enriched payload is available on the job record (for example jobResponsePayload), consistent with the Job Status API.
Typical timing: profile and company basics often complete within seconds; email and phone enrichment commonly take on the order of 30–60 seconds because multiple lookups may run in sequence.

Credits#

Charges apply when enrichment runs, based on fields requested:
SliceCreditsNotes
basic_contact_data1—
basic_company_data1—
emails8–15Multiple email providers may be tried in sequence
phoneNumbers30–50Multiple phone providers may be tried in sequence
linkedinPosts10LinkedIn posts product
Insufficient balance returns 402 and the job is not queued.

Request

Authorization
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢202
application/json
Job accepted; poll jobStatusEndpoint or wait for webhook per webhookConfiguration.
Bodyapplication/json

🟠401
🟠402
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://app.highperformr.ai/api/contacts/unified-data-api' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "linkedIn": "https://www.linkedin.com/in/jamie-rivera-example",
    "firstName": "Jamie",
    "lastName": "Rivera",
    "companyWebsite": "https://www.acme.io",
    "fields": [
        "basic_contact_data",
        "basic_company_data",
        "emails",
        "phoneNumbers",
        "linkedinPosts"
    ],
    "webhookConfiguration": {
        "url": "https://api.customer.com/webhooks/enrichment",
        "headers": {
            "X-Webhook-Secret": "whsec_example_9f3a2b1c"
        }
    }
}'
Response Response Example
202 - Success
{
    "message": "example",
    "jobStatusEndpoint": "https://example.com/resource"
}
Modified at 2026-04-22 07:55:17
Previous
Unique values of one field for a filtered contact set
Next
Get contact schema
Built with