Creates or returns a contact using the Contact Key and Contact Type provided in the payload.
This action requires these permissions.
- Contact Builder | Administer Contact Data Model
- Contact Builder | Access
JSON Parameters
<!--complex table-->| Name | Type | Description |
|---|---|---|
contactKeys |
array | Required. String array of one or more contact keys. |
contactType |
number | The default contact type is Default or 0. Most users don’t modify the default value. |
returnResults |
boolean | Indicates if the call returns results. The default value is true. |
correlateResponseItem |
boolean | Indicates if the return order of the result items matches the order in the request. The default value is true. |
includeNewContactAwareness |
boolean | Indicates that the contact has never been included in the results before. The default value is false. |
Responses
| Status | Name | Type | Description |
|---|---|---|---|
| 200 | Successfully Established Contact | ||
| items | array | An array of contact result objects for the requested contacts to be established. | |
| items.value | object | The Contact result returned | |
| items.value.requestedContactKey | string | The requested Contact Key | |
| items.value.isNewContact | boolean | Returns if the Contact was newly created. Only is returned when includeNewContactAwareness=true | |
| items.value.contactReference | object | The Contact reference returned | |
| items.value.contactReference.contactID | long | The established Contact’s ID | |
| items.value.contactReference.contactType | string | The established Contact’s Type | |
| items.value.contactReference.contactKey | string | The established Contact’s Type | |
| items.value.contactReference.contactStatus | string | The established Contact’s Status | |
| items.value.requestItemIndex | int | The Contact reference’s index in the Request | |
| items.value.resultMessages | array | An array of result messages related to this Contact | |
| requestServiceMessageID | guid | Service message ID for the request | |
| responseDateTime | datetime | The time the Response was created | |
| resultMessages | array | An array of result messages | |
| serviceMessageID | guid | Service message ID for the Response |
Usage
This sample code sends a POST request to the Marketing Cloud Contacts API to create or return contact records based on provided contact keys.
Host: https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com
POST /contacts/v1/establish
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"ContactKeys": ["Key1", "Key2"],
}
The response contains information about the contacts that correspond to the specified keys.
[
{
"items": [
{
"value": {
"requestedContactKey": "key1",
"isNewContact": false,
"contactReference": {
"contactID": 295863490,
"contactType": "Default",
"contactKey": "key1",
"contactStatus": "Active"
}
},
"requestItemIndex": 0,
"resultMessages": []
},
{
"value": {
"requestedContactKey": "key2",
"isNewContact": false,
"contactReference": {
"contactID": 304574890,
"contactType": "Default",
"contactKey": "key2",
"contactStatus": "Active"
}
},
"requestItemIndex": 1,
"resultMessages": []
}
],
"requestServiceMessageID": "53e4cbf8-b9b4-43d4-ba17-eedbfb0ffd90",
"responseDateTime": "2026-02-26T15:06:45.4009365-06:00",
"resultMessages": [],
"serviceMessageID": "70082431-9a48-4e3e-8dc5-f318ec5c3665"
}
]