Skip to main content
Create Import
curl --request POST \
  --url https://integration.getmateo.com/api/v1/import \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "payload": {},
  "contact_list_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "contact_list_external_id": "<string>",
  "allow_deal_reassignment": true
}
'
{
  "id": "random uuid",
  "created_at": "now()",
  "updated_at": "now()",
  "organisation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "payload": {},
  "contact_list_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "contact_list_external_id": "<string>",
  "failed_url": "<string>",
  "payload_url": "<string>",
  "total_count": 123,
  "success_count": 123,
  "failed_count": 123,
  "reference_id": "<string>",
  "hints": {},
  "allow_deal_reassignment": true
}

Documentation Index

Fetch the complete documentation index at: https://docs.getmateo.com/llms.txt

Use this file to discover all available pages before exploring further.

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

Payload of import for small imports

contact_list_id
string<uuid> | null

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

contact_list_external_id
string<text> | null

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

allow_deal_reassignment
boolean<boolean> | null

If true, a deal currently assigned to another contact will be re-assigned

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>

Organisation ID

type
enum<string>

Type of import

Available options:
contact_details,
deal_details,
appointment_details
payload
object

Payload of import for small imports

contact_list_id
string<uuid> | null

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

contact_list_external_id
string<text> | null

External 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<integer> | null

Total number of contacts in the import

success_count
integer<integer> | null

Number of contacts successfully imported

failed_count
integer<integer> | null

Number of contacts that failed to import

reference_id
string<text> | null

An optional reference ID provided during the import

hints
object

Optional hints for the import, e.g. to indicate if a field was stolen from another contact. We only store the first 20 hints.

allow_deal_reassignment
boolean<boolean> | null

If true, a deal currently assigned to another contact will be re-assigned