Create a new contact in your account
can_read_contacts permission.
| Parameter | Type | Required | Description |
|---|---|---|---|
first_name | string | Yes | First name of the contact |
last_name | string | No | Last name of the contact |
email | string | No | Email address of the contact |
company | string | No | Company or organization name |
website | string | No | Company or personal website URL |
address | string | No | Street address |
city | string | No | City |
state | string | No | State or province |
zip_code | string | No | Postal or ZIP code |
country | string | No | Country (default: “US”) |
status | string | No | Contact status (default: “not_contacted”) |
stage | string | No | Contact stage (default: “lead”) |
team_id | integer | No | ID of the team to assign the contact to |
tags | array | No | Array of tag names to associate with the contact |
phone_numbers | array | No | Array of phone number objects |
custom_context | object | No | Custom fields and data |
industry_context | object | No | Industry-specific information |
| Parameter | Type | Required | Description |
|---|---|---|---|
phone_number | string | Yes | Phone number in E.164 format |
phone_type | string | No | Type of phone (mobile, work, home, etc.) |
primary | boolean | No | Whether this is the primary phone number |
do_not_call | boolean | No | Whether this number is on the do not call list |
| Status Code | Error Code | Description |
|---|---|---|
| 400 | missing_first_name | First name is required |
| 400 | invalid_json | Invalid JSON payload |
| 400 | validation_error | Validation error with details |
| 401 | authentication_required | No API key was provided |
| 401 | invalid_key | The API key is invalid or inactive |
| 403 | permission_denied | The API key doesn’t have the required permission |
| 403 | team_access_denied | You do not have access to this team |
| 404 | team_not_found | Team not found |
| 500 | server_error | An unexpected server error occurred |
team_id is provided, the contact will be associated with that team, assuming the user has access to the team.phone_numbers array will be set as the primary one if no phone number has the primary flag set to true.