Skip to main content
POST
Batch contact create
Use this endpoint when you need to create many v1 contacts in one request.

Authorizations

Authorization
string
header
required

Recommended authentication for new integrations. Generate a short-lived JWT from your API Secret ID and API Secret Key, then pass the signed JWT as a bearer token in the Authorization header.

API Secret credentials are available in the Heymarket app under Settings > Integrations > API. The Secret Key is shown only when it is generated, so copy and store it securely before closing the dialog.

Use the following JWT values:

Replace CURRENT_UNIX_TIMESTAMP with the current Unix timestamp in seconds when generating the token.

Sign the JWT with HMAC-SHA256 using this signing secret:

Send the signed JWT as a bearer token:

Tokens expire 5 minutes after the iat timestamp. Generate a new JWT per request, or cache it briefly for less than 5 minutes. Generate JWTs only from trusted server-side code; do not expose the API Secret Key in browser, mobile, or other client-side code.

Query Parameters

overwrite
boolean

Overwrite existing matching contacts

Body

application/json

Array of json contacts to create

phone
string<phone>
required
Example:

"12345678900"

avatar
string<url>
Example:

"https://some.image.url.com/img.jpg"

custom
object
display_name
string
Example:

"John Smith"

email
string<email>
Example:

"john.s@heymarket.com"

first
string
Example:

"John"

last
string
Example:

"Smith"

external_id
string

External Contact ID

type
string

External Service

timezone
string

IANA timezone for the contact (e.g., America/New_York)

Example:

"America/New_York"

assignee_id
integer
Example:

42

tags
object[]
Example:
is_opted_out
boolean
Example:

true

Response

Contacts not created or overwritten

avatar
string
created
string
creator_id
integer
custom
object
display_name
string
email
string
external_id
string
external_ref
string
first
string
id
integer
inbox_id
integer
last
string
note
object[]
op
string
parent_id
integer
phone
string
rev
integer
shared
boolean
team_id
integer
type
string
updated
string
assigned_user_id
integer
tags
any[]