Skip to content

Upload Import File

POST
/imports

Upload a CSV or Excel file and get back its id and row count.

Nothing is imported by this call - the file is stored and parsed so it can be previewed and then imported. The 25 MB ceiling is the app’s, enforced by reading one byte past it so an exact-boundary file is distinguishable from an oversized one even when Content-Length is missing or dishonest.

The row_count that comes back is what the import pre-check budgets against: it is treated as the upper bound on NEW contacts, so an import is refused if that many would breach the org’s limit, even though some rows will resolve to updates.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

object
file
required

CSV or Excel file. 25 MB maximum.

string format: binary

Responses

201

Successful Response

object
data
required

The stored file, and how many rows it turned out to have.

row_count is the number a caller should budget against: the import pre-check treats it as the UPPER BOUND on new contacts, so an import is refused if that many would breach the org’s contact limit - even though some rows will resolve to updates rather than creates.

object
columns

Detected column headers.

Array<string>
datafile_id
Any of:
string
row_count
Any of:
integer
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string