Skip to main content
GET
/
v3
/
sequences
/
{id}
/
contacts
/
{contact_id}
Get a contact in a sequence
curl --request GET \
  --url https://api.reply.io/v3/sequences/{id}/contacts/{contact_id} \
  --header 'Authorization: Bearer <token>'
{
  "contactId": 12345,
  "sequenceId": 100,
  "email": "john.doe@company.com",
  "firstName": "John",
  "lastName": "Doe",
  "company": "Tech Solutions Inc",
  "title": "Senior Product Manager",
  "statusInSequence": "active",
  "isOptedOut": false,
  "callStatus": "none",
  "meetingStatus": "none",
  "emailDisposition": {
    "isReplied": false,
    "isBounced": false
  },
  "currentStep": {
    "stepId": 5421,
    "displayName": "2"
  },
  "addingDate": "2024-03-08T10:00:00+00:00",
  "emailAccountId": 101,
  "linkedInAccountId": null
}

Documentation Index

Fetch the complete documentation index at: https://docs.reply.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Authenticate every request with a Bearer token. Pass your Reply API key in the Authorization header:

Authorization: Bearer <your-api-key>

Get your API key from the Reply dashboard: Settings → API Key.

Path Parameters

id
integer
required

Sequence ID

contact_id
integer
required

Contact ID

Response

Contact details retrieved successfully

A contact enrolled in a sequence with sequence-specific metadata

contactId
integer

Contact ID

sequenceId
integer

Sequence ID

email
string | null

Contact email address

firstName
string | null

Contact first name

lastName
string | null

Contact last name

company
string | null

Contact company name

title
string | null

Contact job title

statusInSequence
enum<string>

Contact's status in this sequence. The writable subset (active, paused, finished, outOfOffice) can be set via POST /v3/sequences/{id}/contacts/set-status-in-sequence. inactive is set by the system when the contact is missing data needed to continue (e.g. no email when the next step is an email step).

Available options:
active,
paused,
finished,
inactive,
outOfOffice
isOptedOut
boolean

Whether the contact has opted out (contact-level flag, not sequence-scoped)

callStatus
enum<string>

Contact-level call status (none / toCall / called).

Available options:
none,
toCall,
called
meetingStatus
enum<string>

Contact-level meeting status (none / meetingBooked).

Available options:
none,
meetingBooked
emailDisposition
object

Reply/bounce status for the most recent email sent to this contact in this sequence.

null when no email has been sent to this contact yet in this sequence. Otherwise an object with isReplied and isBounced flags. false/false here means an email was sent but no reply or bounce was registered — distinct from the null "never sent" state.

currentStep
object

Current sequence step the contact is on. Always present in the response. When the contact has no in-progress step (e.g. finished or paused at the end of the sequence), stepId is null and displayName is "Finished".

addingDate
string<date-time>

Date the contact was added to the sequence

emailAccountId
integer<int64> | null

Identifier of the email account this contact is assigned to send from in this sequence. null when no email account is assigned (e.g. the sequence has no email steps the contact has reached, or the assignment hasn't been resolved yet).

linkedInAccountId
integer<int64> | null

Identifier of the LinkedIn account this contact is assigned to send from in this sequence. null when no LinkedIn account is assigned (e.g. the sequence has no LinkedIn steps the contact has reached).