Skip to main content
GET
/
contact
Get all contacts
curl --request GET \
  --url https://api.sendx.io/api/v1/rest/contact \
  --header 'X-Team-ApiKey: <api-key>'
[
  {
    "id": "contact_BnKjkbBBS500CoBCP0oChQ",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@example.com",
    "company": "Example Corp",
    "customFields": {
      "field_MnuqBAG2NPLm7PZMWbjQxt": "Sales",
      "field_QqfhckbdcvQinLPlduIbHq": "Manager"
    },
    "lists": [
      "list_OcuxJHdiAvujmwQVJfd3ss",
      "list_0tOFLp5RgV7s3LNiHrjGYs"
    ],
    "tags": [
      "tag_6GN4DNyrHNt4KktCNG8PDO",
      "tag_UhsDkjL772Qbj5lWtT62VK"
    ],
    "unsubscribed": false,
    "bounced": false,
    "spam": false,
    "blocked": false,
    "dropped": false,
    "created": "2024-01-10T14:20:00Z",
    "updated": "2024-01-15T09:15:00Z",
    "trackData": "utm_source=website",
    "contactSource": 1,
    "pageSource": "https://example.com/signup",
    "lastTrackedIp": "203.0.113.42",
    "ltv": 1500
  },
  {
    "id": "contact_AXCZG3Ii9bjBoUUINcSqo8",
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "jane.smith@company.com",
    "company": "Tech Solutions",
    "customFields": {
      "field_MnuqBAG2NPLm7PZMWbjQxt": "Engineering"
    },
    "lists": [
      "list_OcuxJHdiAvujmwQVJfd3ss"
    ],
    "tags": [
      "tag_fL7t9lsnZ9swvx2HrtQ9wM"
    ],
    "unsubscribed": false,
    "bounced": false,
    "spam": false,
    "blocked": false,
    "dropped": false,
    "created": "2024-01-12T16:45:00Z",
    "updated": "2024-01-12T16:45:00Z",
    "trackData": "",
    "contactSource": 2,
    "pageSource": "",
    "lastTrackedIp": "198.51.100.25",
    "ltv": 0
  }
]

Authorizations

X-Team-ApiKey
string
header
required

Team API key for authentication. Find your API key in SendX Settings → Team API Key.

Example:

X-Team-ApiKey: your_team_api_key_here

Query Parameters

offset
integer
default:0

Number of records to skip for pagination.

Examples:

  • 0 - First page (default)
  • 50 - Second page (with limit=50)
  • 100 - Third page (with limit=50)
Required range: x >= 0
limit
integer
default:10

Maximum number of records to return.

Constraints:

  • Minimum: 1
  • Maximum: 100
  • Default: 10
Required range: 1 <= x <= 30

Search term to filter contacts by name or email.

Search Behavior:

  • Searches firstName, lastName, and email fields
  • Case-insensitive partial matching
  • Minimum 2 characters for search

Examples:

Required string length: 2 - 255

Response

✅ Contacts retrieved successfully

id
string

Unique contact identifier with contact_ prefix.

Format: contact_ + 22 alphanumeric characters

Usage:

  • Use this ID for all subsequent API calls
  • Unique across the entire SendX platform
  • Never changes once created
Pattern: ^contact_[a-zA-Z0-9]{22}$
Example:

"contact_BnKjkbBBS500CoBCP0oChQ"

firstName
string | null

First name of the contact

Example:

"John"

lastName
string | null

Last name of the contact

Example:

"Doe"

email
string<email>

Email address of the contact (unique within team)

Example:

"john.doe@example.com"

company
string | null

Company name of the contact

Example:

"Example Corp"

customFields
object

Custom fields with custom_field_ prefixed keys.

Format: All keys have custom_field_ prefix in responses

Example Structure:

{
"field_MnuqBAG2NPLm7PZMWbjQxt": "Engineering",
"field_QqfhckbdcvQinLPlduIbHq": "Senior",
"field_MnuqBAG2NPLm7PZMWbjQxt": "$75000"
}
Example:
{
"field_MnuqBAG2NPLm7PZMWbjQxt": "Engineering",
"field_QqfhckbdcvQinLPlduIbHq": "Senior"
}
lists
string[]

Associated lists with list_ prefixed identifiers.

Format: All IDs have list_ prefix in responses

Pattern: ^list_[a-zA-Z0-9]{22}$
Example:
[
"list_OcuxJHdiAvujmwQVJfd3ss",
"list_xyz789ghi012"
]
tags
string[]

Associated tags with tag_ prefixed identifiers.

Format: All IDs have tag_ prefix in responses

Pattern: ^tag_[a-zA-Z0-9]{22}$
Example:
[
"tag_UhsDkjL772Qbj5lWtT62VK",
"tag_UhsDkjL772Qbj5lWtT62VK"
]
unsubscribed
boolean

Whether the contact has unsubscribed from emails

Example:

false

bounced
boolean

Whether emails to this contact have bounced

Example:

false

spam
boolean

Whether the contact has marked emails as spam

Example:

false

blocked
boolean

Whether the contact is blocked from receiving emails

Example:

false

dropped
boolean

Whether emails to this contact have been dropped

Example:

false

created
string<date-time>

Contact creation timestamp (ISO 8601 format)

Example:

"2024-01-10T14:20:00Z"

updated
string<date-time>

Contact last update timestamp (ISO 8601 format)

Example:

"2024-01-15T09:15:00Z"

trackData
string

Email tracking data and UTM parameters.

Contains:

  • UTM parameters from campaigns
  • Attribution data
  • Custom tracking parameters
Example:

"utm_source=website&utm_campaign=signup&utm_medium=banner"

contactSource
integer

Source type of the contact creation.

Values:

  • 1 - API/Manual
  • 2 - Import
  • 3 - Form
  • 4 - Integration
Example:

1

pageSource
string | null

URL of the page where contact was created

Example:

"https://example.com/signup?ref=google-ads"

lastTrackedIp
string<ipv4> | null

Last tracked IP address of the contact

Example:

"203.0.113.42"

LTV
integer

Lifetime Value of the contact in cents.

Example: 7500 = $75.00

Example:

7500