Skip to main content
POST
/
client
/
contacts
/
bulk
/
csv
Bulk upsert contacts from CSV
curl --request POST \
  --url http://localhost:8080/api/v1/client/contacts/bulk/csv \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: multipart/form-data' \
  --form file='@example-file' \
  --form overwrite_blank_fields=true \
  --form has_header=true \
  --form 'delimiter=,' \
  --form 'default_timezone=<string>'
{
  "data": {},
  "errors": [
    {
      "condition": "format",
      "error": "Invalid email format",
      "key": "email"
    }
  ],
  "message": "Operation successful",
  "meta": {},
  "success": true
}

Authorizations

Authorization
string
header
required

JWT Bearer token or raw API key via Authorization header

Body

multipart/form-data
file
file
required

CSV file

overwrite_blank_fields
boolean

Apply blank-field overwrite mode to every row in this import

has_header
boolean
default:true

Whether the CSV includes a header row

delimiter
string
default:,

Single-character CSV delimiter

default_timezone
string

Default IANA timezone (or common alias like PST, EST, SGT) used when row timezone is empty

Response

OK

data
object
errors
object[]
message
string
Example:

"Operation successful"

meta
object
success
boolean
Example:

true