GoHighLevel Contacts API

Create Contact

POST/contacts/

POST /contacts/ This endpoint takes 50 body fields, requires the contacts.write scope and authenticates with a sub-account (location) token.

Request and authentication

Method
POST
Full URL
https://services.leadconnectorhq.com/contacts/
Scopes
contacts.write
Token type
Sub-account (location) token
Accepted auth
OAuth Access Token, Private Integration Token
API version header
Version: 2021-07-28
Schema verified
22 June 2026

Notes from the field

  • For multi-contact imports, prefer `hylo_bulk_upsert_contacts` — it handles create-or-update and runs in parallel server-side.
  • Pass `tags` inline here to skip a follow-up add-tags call (saves 1 round-trip per contact).
  • Pass `customFields` inline here to skip per-field update-contact-field calls.

This endpoint is safe to fan out in parallel, so a batch of records costs roughly one round trip instead of one per record. Hylo's bulk tools do that server-side and retry HighLevel's 429s with back-off.

Request body

JSON body fields. Nested objects are shown indented under their parent.

NameTypeDescription
firstNamestring

Example: Rosan

lastNamestring

Example: Deo

namestring

Example: Rosan Deo

emailstring

Example: rosan@deos.com

locationIdrequiredstring

Example: ve9EPM428h8vShlRW1KT

genderstring

Example: male

phonestring

Example: +1 888-888-8888

address1string

Example: 3535 1st St N

citystring

Example: Dolomite

statestring

Example: AL

postalCodestring

Example: 35061

websitestring

Example: https://www.tesla.com

timezonestring

Example: America/Chihuahua

dndboolean

Example: true

dndSettingsobject
Callobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
Emailobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
SMSobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
WhatsAppobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
GMBobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
FBobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
inboundDndSettingsobject
allobject
statusrequiredstring

One of: active, inactive

messagestring
tagsarray

Example: nisi sint commodo amet,consequat

customFieldsarray
sourcestring

Example: public api

dateOfBirthobject

The birth date of the contact. Supported formats: YYYY/MM/DD, MM/DD/YYYY, YYYY-MM-DD, MM-DD-YYYY, YYYY.MM.DD, MM.DD.YYYY, YYYY_MM_DD, MM_DD_YYYY

Example: 1990-09-25

countrystring

Example: US

companyNamestring

Example: DGS VolMAX

assignedTostring

User's Id

Example: y0BeYjuRIlDwsDcOHOJo

Response fields

Top-level fields returned on a successful call.

NameTypeDescription
contactobject
idstring

Example: seD4PfOuKoVMLkEZqohJ

dateAddedstring

Example: 2021-08-31T09:59:41.937Z

dateUpdatedstring

Example: 2021-08-31T09:59:41.937Z

deletedboolean

Example: false

tagsarray

Example: nisi sint commodo amet,consequat

typestring

Example: read

customFieldsarray
locationIdstring

Example: ve9EPM428h8vShlRW1KT

firstNamestring

Example: rubika

firstNameLowerCasestring

Example: rubika

fullNameLowerCasestring

Example: rubika deo

lastNamestring

Example: Deo

lastNameLowerCasestring

Example: deo

emailstring

Example: rubika@deos.com

emailLowerCasestring

Example: rubika@deos.com

bounceEmailboolean

Example: false

unsubscribeEmailboolean

Example: false

dndboolean

Example: true

dndSettingsobject
Callobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
Emailobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
SMSobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
WhatsAppobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
GMBobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
FBobject
statusrequiredstring

One of: active, inactive, permanent

messagestring
codestring
phonestring

Example: +18832327657

address1string

Example: 3535 1st St N

citystring

Example: ruDolomitebika

statestring

Example: AL

countrystring

Example: US

postalCodestring

Example: 35061

Example request

Copy-paste ready. Swap YOUR_TOKEN for your access token or Private Integration Token.

curl -X POST 'https://services.leadconnectorhq.com/contacts/' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Version: 2021-07-28' \
  -H 'Content-Type: application/json' \
  -d '{
    "locationId": "ve9EPM428h8vShlRW1KT"
  }'

Skip the schema lookup

Hylo gives your AI agent this schema — and the other 52 documented here — without you looking anything up. Ask in plain English; it picks the endpoint, fills the body, and can run the call against your own sub-account.

More contacts endpoints