Leads

Add people to a sequence

Changed on

Queue people into one sequence. Nothing is sent in this call: people enter the paced engine and are contacted later inside working hours and account limits.

Choose a method

  • contacts: 1 to 500 people, each with any mix of linkedinUrl, email and xUsername. Needs a connected LinkedIn account only when LinkedIn people go into a sequence with LinkedIn steps.
  • manual: 1 to 500 people with LinkedIn URLs. Always needs a connected LinkedIn account.
  • csv: CSV text with a header row, at most 500 rows. Always needs a connected LinkedIn account.
  • sales_navigator: a saved Sales Navigator list URL. Imports in the background; poll GET /leads/imports/{batchId}. Always needs a connected LinkedIn account.

How contacts routes people

  • Each person is queued only for the channels the sequence has steps for: connect steps are the LinkedIn lane, email steps the email lane, X DM or engage steps the X lane.
  • A person with no identity for any of the sequence's channels is counted in invalidSkipped and not added.
  • People already known by LinkedIn profile, email or X handle are counted in duplicatesSkipped.
  • X handles are at most 15 characters. An X-only person becomes sendable once their handle has been resolved to an X account, which happens automatically shortly after the add.
  • No paid lookups and no Energy charged.

Approval and replay

  • Your request is the approval: a draft sequence is approved and started as part of the add. A paused sequence takes the people and stays paused.
  • requestId is optional. Reusing it with the same body replays the stored result (reused: true); reusing it with a different body is refused.
  • expectedRevision is optional on contacts. When given it must equal the sequence's current revision.

Refusals (409, nothing added)

idempotency_conflict, sequence_not_active, sequence_not_ready, sequence_revision_conflict, linkedin_not_connected (partners: complete a hosted connect link first) and the lead_import_csv_* mapping refusals, which carry details.

post/sequences/{id}/leads

Request

  • Base URL
    https://app.pumpgtm.com/api/v1
  • Auth
    HTTP bearer

Path parameters

idstring uuid required

Headers

X-PumpGTM-Clientstring uuid

Optional authorized Team workspace ID from GET /workspaces. Omit to use the key's home workspace.

X-PumpGTM-Userstring

Enterprise partners: act on one end user's workspace using the partner key (a workspace or Team owner key; a personal key gets 403 partner_key_required). Requires the outreach capability on the partner account (403 enterprise_required otherwise); the user must exist and be active (404 user_not_found, 403 user_disabled). Never send it together with X-PumpGTM-Client (400 invalid_request). Omit to use the key's own workspace, unless the partner account has rest.requireUserHeader on (PATCH /api/partner/v1/account): then any /api/v1 request without it is 400 user_header_required and nothing runs.

Request body

OR
OR
OR

Response

Successful response. Read outcome fields; success does not imply delivery.

reviewUrlstring required

Where the customer reviews or pauses the sequence.

Changes

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      endpoint added