1. Sources
Highperformr API
  • Introduction
  • Contacts
    • Unified Data API - async contact enrichment
      POST
    • 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
  • Schema
    • Get contact schema
      GET
    • Get discovery search contact schema
      GET
    • Get discovery search company schema
      GET
    • Get verified discovery contact filter schema
      GET
    • Get verified discovery company filter schema
      GET
    • Get options for field
      GET
    • Verified discovery autocomplete suggestions
      GET
    • Get discovery search options for field
      GET
    • Verified discovery static option lists
      GET
  • Discovery search
    • Find contacts v2
      POST
    • Find companies v2
      POST
    • Find verified contacts
      POST
    • Find verified companies
      POST
  • Jobs
    • Get job status by id
  • Social publishing
    • Create draft post
    • List posts (drafts, scheduled, published)
    • Schedule or publish posts (bulk)
    • Schedule a LinkedIn comment on an external post
    • Configure cross-account auto-repost
    • Upload media file (multipart)
    • Assemble chunked uploads into one file
    • Import media from a public URL
  • Integrations (social)
    • List social integrations (filter)
  • Segments
    • Type-ahead search for segments
    • Create segment
    • Get segment by ID
    • Update segment
    • Delete segment
    • Clone segment
  • Sources
    • Bulk upsert sources
      POST
    • Bulk fetch sources
      POST
    • Bulk update sources
      PATCH
    • Create source
      POST
    • Pull contacts from source
      POST
    • Get source by ID
      GET
    • Update source
      PATCH
  • Credits
    • Get workspace credit balance
Login
  1. Sources

Create source

POST
/sources
Creates a new source (or upserts when the same sourceType + sourceIdentifier already exists).
Body shape depends on sourceType. For LinkedIn social listening, use the examples below.
Profile / page listening (linkedinInbound, linkedinOutbound): pass sourceIdentifier as a LinkedIn
person (/in/) or company/page (/company/, /showcase/, /school/) URL.
Post listening (linkedinPost): pass a LinkedIn post or activity URL as sourceIdentifier.
Keyword search (linkedinKeywordSearch): omit sourceIdentifier; put search options in sourceMeta
(keyword required, min 3 chars; optional postedTime, authorTitle, sourceName).
Job posting (linkedinJobPosting): omit sourceIdentifier; put job search options in sourceMeta
(jobTitle, jobLocation, postedTime, jobType, optional sourceName / field mapping).
Webhook import (importFromWebhook): create a source that you can push selected rows into (for example after POST /discovery-search/find-verified-contacts). Find does not auto-save to a segment.
Put column mapping on the source, not on bulk upsert:
sourceMeta.config.fieldMapping — each { sourceFieldName, hpFieldName } maps a key in contactsData to a Highperformr field from GET /schema/contact (writeAccessPath, e.g. contact.linkedIn).
Optional segmentId (top-level) attaches this source to an existing segment. You can also pass segmentId on bulk upsert.
Then upsert rows with POST /contacts/{sourceId}/bulk-upsert-contacts (bulk upsert contacts). Do not send fieldMapping on that call.

Request

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

Examples

Responses

🟢200
application/json
Created or upserted source (JSON:API)
Bodyapplication/json

🟠400
🟠401
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://app.highperformr.ai/api/sources' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "sourceType": "linkedinInbound",
    "sourceIdentifier": "https://www.linkedin.com/in/jamie-rivera-example"
}'
Response Response Example
200 - Success
{
    "data": {
        "id": "src_li_inbound_01",
        "type": "sources",
        "attributes": {
            "sourceType": "linkedinInbound",
            "sourceIdentifier": "https://www.linkedin.com/in/jamie-rivera-example",
            "sourceMeta": {
                "socialName": "Jamie Rivera",
                "socialHandle": "jamie-rivera-example",
                "platformName": "linkedin",
                "interactionType": "inbound",
                "profileImageUrl": "https://media.licdn.com/example.jpg"
            },
            "refreshStatus": null,
            "createdAt": "2025-04-08T09:01:44.000Z"
        }
    }
}
Modified at 2026-09-10 06:41:09
Previous
Bulk update sources
Next
Pull contacts from source
Built with