Skip to content

HighLevel: Create Contact

HighLevel contacts.createContact: arguments, response, policy and SDK examples.

← Contacts operations · Get started

Operation gohighlevel.create_contact

Provider route: POST /contacts/. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/gohighlevel with npm, or alter-sdk-gohighlevel with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { HighLevelIntegration } from "@alter-ai/gohighlevel";
async function execute(input: Parameters<HighLevelIntegration["contacts"]["createContact"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new HighLevelIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.contacts.createContact(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_gohighlevel import HighLevelIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = HighLevelIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.contacts.create_contact(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
bodyModelRequired within parentExpand Create Contact — request body — body

Referenced models: Create Contact — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Get Contact — response body

Referenced models: Get Contact — response body

15 more schemas are linked from the tables above, on the schema pages.

Create Contact — request body — body
FieldTypePresenceDescription and constraints
$objectRoot
address1JSONOptional
address1 (anyOf 1)stringAlternativeStreet address of the contact
address1 (anyOf 2)nullAlternative
assignedTostringOptionalUser's Id
cityJSONOptional
city (anyOf 1)stringAlternativeCity of the contact
city (anyOf 2)nullAlternative
companyNameJSONOptional
companyName (anyOf 1)stringAlternativeCompany name of the contact
companyName (anyOf 2)nullAlternative
countrystringOptionalCountry code of the contact (ISO 3166-1 alpha-2)
customFieldsarrayOptionalList of custom field values to assign to the contact
customFields[]JSONEach item
customFields[] (anyOf 1)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Text Field
customFields[] (anyOf 2)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Large Text Field
customFields[] (anyOf 3)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Single Select Field
customFields[] (anyOf 4)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Radio Field
customFields[] (anyOf 5)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Numeric Field
customFields[] (anyOf 6)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Monetory Field
customFields[] (anyOf 7)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Checkbox Field
customFields[] (anyOf 8)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — Multi Select Field
customFields[] (anyOf 9)ModelAlternativeExpand Create Contact — request body — body custom Fields item field Value, field value, id, key — File Field
dateOfBirthJSONOptional
dateOfBirth (anyOf 1)objectAlternativeThe 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
dateOfBirth (anyOf 2)nullAlternative
dndbooleanOptionalWhether Do Not Disturb is enabled for the contact
dndSettingsJSONOptionalPer-channel DND settings for the contact
dndSettings (allOf 1)ModelAll variants applyExpand Create Contact — request body — body dnd Settings call, email, fb, gmb, sms, whats App
emailJSONOptional
email (anyOf 1)stringAlternativeEmail address of the contact
email (anyOf 2)nullAlternative
firstNameJSONOptional
firstName (anyOf 1)stringAlternativeFirst name of the contact
firstName (anyOf 2)nullAlternative
genderstringOptionalGender of the contact
inboundDndSettingsJSONOptionalInbound DND settings per channel for the contact
inboundDndSettings (allOf 1)ModelAll variants applyExpand Create Contact — request body — body inbound Dnd Settings all
lastNameJSONOptional
lastName (anyOf 1)stringAlternativeLast name of the contact
lastName (anyOf 2)nullAlternative
locationIdstringRequired within parentLocation Id the contact should be created under
nameJSONOptional
name (anyOf 1)stringAlternativeFull name of the contact
name (anyOf 2)nullAlternative
phoneJSONOptional
phone (anyOf 1)stringAlternativePhone number of the contact
phone (anyOf 2)nullAlternative
postalCodestringOptionalPostal code of the contact
sourcestringOptionalSource from which the contact was created
stateJSONOptional
state (anyOf 1)stringAlternativeState of the contact
state (anyOf 2)nullAlternative
tagsarrayOptionalList of tags to assign to the contact
tags[]stringEach item
timezoneJSONOptional
timezone (anyOf 1)stringAlternativeTimezone of the contact
timezone (anyOf 2)nullAlternative
websiteJSONOptional
website (anyOf 1)stringAlternativeWebsite URL of the contact
website (anyOf 2)nullAlternative

Referenced models: Create Contact — request body — body custom Fields item field Value, field value, id, key — Checkbox Field, Create Contact — request body — body dnd Settings call, email, fb, gmb, sms, whats App, Create Contact — request body — body custom Fields item field Value, field value, id, key — File Field, Create Contact — request body — body inbound Dnd Settings all, Create Contact — request body — body custom Fields item field Value, field value, id, key — Large Text Field, Create Contact — request body — body custom Fields item field Value, field value, id, key — Monetory Field, Create Contact — request body — body custom Fields item field Value, field value, id, key — Multi Select Field, Create Contact — request body — body custom Fields item field Value, field value, id, key — Numeric Field, Create Contact — request body — body custom Fields item field Value, field value, id, key — Radio Field, Create Contact — request body — body custom Fields item field Value, field value, id, key — Single Select Field, Create Contact — request body — body custom Fields item field Value, field value, id, key — Text Field

Get Contact — response body
FieldTypePresenceDescription and constraints
$objectRoot
contactJSONOptionalContact details
contact (allOf 1)ModelAll variants applyExpand Get Contact — response body — contact address1, assigned To, attachments, attribution Source, business Id, city, company Name, country, custom Fields, date Added, date Of Birth, date Updated, dnd, dnd Settings, email, email Lower Case, first Name, first Name Lower Case, full Name Lower Case, id, keyword, last Activity, last Attribution Source, last Name, last Name Lower Case, location Id, name, phone, postal Code, source, ssn, state, tags, timezone, type, visitor Id, website

Referenced models: Get Contact — response body — contact address1, assigned To, attachments, attribution Source, business Id, city, company Name, country, custom Fields, date Added, date Of Birth, date Updated, dnd, dnd Settings, email, email Lower Case, first Name, first Name Lower Case, full Name Lower Case, id, keyword, last Activity, last Attribution Source, last Name, last Name Lower Case, location Id, name, phone, postal Code, source, ssn, state, tags, timezone, type, visitor Id, website

Create Contact — request body — body custom Fields item field Value, field value, id, key — Checkbox Field
FieldTypePresenceDescription and constraints
$objectRoot
fieldValuearrayOptionalArray of selected checkbox values for the custom field (preferred).
fieldValue[]stringEach item
field_valuearrayOptionalDeprecated. Use `fieldValue` instead.
field_value[]stringEach item
idstringRequired within parentPass either `id` or `key` of custom field
keystringOptionalPass either `id` or `key` of custom field
Create Contact — request body — body custom Fields item field Value, field value, id, key — File Field
FieldTypePresenceDescription and constraints
$objectRoot
fieldValueobjectOptionalFile upload value — a map of UUID to file metadata and download URL (preferred).
field_valueobjectOptionalDeprecated. Use `fieldValue` instead.
idstringRequired within parentPass either `id` or `key` of custom field
keystringOptionalPass either `id` or `key` of custom field
Create Contact — request body — body / dndSettings / call, email, fb, gmb, sms, whatsApp / fb / status: active, inactive, permanent
FieldTypePresenceDescription and constraints
$objectRoot
codestringOptionalDND code or reason
messagestringOptionalCustom message associated with the DND setting
statusstringRequired within parentDo Not Disturb status for this channel
One of: active, inactive, permanent

SDK function policy ID: gohighlevel.create_contact. Catalog operation: create-contact. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["contacts.write"]

Pinned headers: {"Version": "v3"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.