Skip to content

Create or update a contact

POST
/contact/create_or_update/{identifier}
curl --request POST \
--url https://api.aelyst.ai/v1/contact/create_or_update/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "firstName": "Muhammad ", "lastName": "Mahin", "phone": "+60123456789", "email": "test@example.com", "language": "ms", "profilePic": "https://cdn.aelyst.ai/profile_avatar.png", "countryCode": "MY", "custom_fields": [ { "name": "Company Website", "value": "https://example.com" } ] }'

Creates or updates a contact.

If your request does not include contact ID and the identifiers (phone/email) in the request body do not belong to a person, your request creates a contact. If a contact already exists with the identifier in the request path, your request updates that contact (first Contact that matches).

It is highly recommended to add a delay before executing a new action after creating a new contact, as processing time is required.

identifier
required
string

Identifier of the contact that can either be a phone number, email or contact ID. Examples: id:123 , email:abdc@gmail.com , phone:+60121233112

Media typeapplication/json
Any of:
object
firstName
required
string
lastName
string
nullable
phone
string
nullable
email
string
nullable
language

Following the ISO 639-1 standard.

string
nullable
profilePic
string
nullable
countryCode

Following the ISO 3166-1 alpha-2 standard.

string
nullable
custom_fields
Array<object>
nullable
object
name
required
string
value

Formatting rules

  • Text: “string” (use quotation marks for the string value)
  • Number: Number (without any quotation marks)
  • Email: “email” (format: user@domain.com)
  • URL: “url” (format: www.website.com, https://www.website.com, website.com, http://website.com)
  • List: “string” (the string value must match one of the list options)
  • Date: “yyyy-mm-dd” (must follow this format)
  • Time: “HH:MM” (must follow 24H format, 1PM => 13:00)
  • Checkbox: “true/false” (must be true for checked, false for unchecked)
string
nullable
Examples
Media typeapplication/json
object
contactId

ID of the contact on which the action was performed.

integer
Examplegenerated
{
"contactId": 1
}
Media typeapplication/json
object
code
integer
message
string
Example
{
"code": 400,
"message": "Validation error."
}
Media typeapplication/json
object
code
integer
message
string
Example
{
"code": 401,
"message": "UN_AUTHORIZED"
}
Media typeapplication/json
object
code
integer
message
string
Example
{
"code": 429,
"message": "Too Many Requests"
}
Retry-After
number
Example
1

Number of seconds until you can retry the request

X-RateLimit-Limit
number
Example
10

Number of request allowed for this end point

X-RateLimit-Remaining
number
Example
5

Number of request remaining for this end point

object
code
integer
message
string
Example
{
"code": 449,
"message": "Your request cannot be processed at the moment as it is currently in queue. Please try again in a few minutes."
}
Media typeapplication/json
object
code
integer
message
string
Example
{
"code": 500,
"message": "Unexpected error occurred"
}