Create Import
curl --request POST \
  --url https://integration.getmateo.com/api/v1/import \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "type": "contact_details",
  "payload": {},
  "contact_list_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}'
{
  "id": "random uuid",
  "created_at": "now()",
  "updated_at": "now()",
  "organisation_id": "random uuid",
  "type": "contact_details",
  "payload": {},
  "contact_list_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "failed_url": "<string>",
  "payload_url": "<string>",
  "total_count": 123,
  "success_count": 123,
  "failed_count": 123
}
The payload is an array of objects, where each object will be imported. For all three types, we expect the same payload you would also send to their respective /x_details endpoint. To simplify integrations, deals and appointments both accept an additional contact_external_id that can be set instead of the contact_id.

Parsing Phone Numbers

For contact_details imports, we also accept a list of phone numbers for both whatsapp and sms:
{
    "whatsapp": ["+493813901", "+18494383"],
    "sms": ["+493813901", "+18494383"]
}
We will parse each option and use the first valid phone number out of the list as the input. To improve accuracy, you can pass a country_codes array along:
{
    "whatsapp": ["+493813901", "+18494383"],
    "sms": ["+493813901", "+18494383"],
    "country_codes": ["DE", "AT"]
}
This means you do not have to call the /format endpoint separately. It will be handled within the import.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

select
string

Filtering Columns

Body

application/json

import

type
enum<string>

Type of import

Available options:
contact_details,
deal_details,
appointment_details
payload
object | null

Payload of import for small imports

contact_list_id
string<uuid> | null

ID of the contact list that the contacts should be assigned to

Response

The updated Import object

id
string<uuid>
default:random uuid

Import ID

created_at
string<timestamp with time zone>
default:now()

Import creation date

updated_at
string<timestamp with time zone>
default:now()

Latest update

organisation_id
string<uuid>
default:random uuid

Organisation ID

type
enum<string>

Type of import

Available options:
contact_details,
deal_details,
appointment_details
payload
object | null

Payload of import for small imports

contact_list_id
string<uuid> | null

ID of the contact list that the contacts should be assigned to

failed_url
string<text> | null

URL to download the failed contacts

payload_url
string<text> | null

URL to download the payload for large imports

total_count
integer | null

Total number of contacts in the import

success_count
integer | null

Number of contacts successfully imported

failed_count
integer | null

Number of contacts that failed to import