---
title: "Create a contact"
method: POST
path: "/entities/Contacts"
tags: ["Contact"]
---

# Create a contact

`POST /entities/Contacts`

## Request

- Base URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id`
- URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id/entities/Contacts`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/coevera/apis/coevera-crm-api/docs/entities/Contacts/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates one contact and answers 201 with the record. `owner_id` and a `first_name` or `last_name` are required; the spec marks only `owner_id`.

## Query parameters

- `validation-level` integer

## Request body

- CreateContactInput: Field values of a new Contact record.
  - `modified` string, date-time: Last modification time.
  - `created` string, date-time: Creation time.
  - `picture` object: Profile picture associated with the contact. Related CloudObject record; see 'createCloudObjectInput' for its fields.
    - `id` string, uuid: Id of the related CloudObject record.
  - `address` string: Street address of the contact.
  - `city` string: City of the contact address.
  - `comments` string: Free-form notes describing the contact.
  - `contact_type_id` string, uuid: Id of the contact type assigned to this contact.
  - `country` string: Country of the contact address.
  - `currency_exchange_rates_list_id` string, uuid: Id of the currency exchange rate list applied to this contact.
  - `email1` string: Primary email address of the contact. Used as default recipient for emails sent from Coevera.
  - `email2` string: Additional email address.
  - `email3` string: Additional email address.
  - `email4` string: Additional email address.
  - `email5` string: Additional email address.
  - `first_name` string: Given name of the contact.
  - `gender` 0 | 1 | 2 | 3: Gender of the contact: Unknown when not specified, Male, Female or NonBinary. Integer enum value: 0 - Unknown, 1 - Male, 2 - Female, 3 - NonBinary
  - `is_archived` boolean: True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
  - `last_name` string: Family name of the contact.
  - `middle_name` string: Middle name of the contact, if applicable.
  - `owner_id` string, uuid, required: Id of the contact owner.
  - `phone1` string: Primary phone number of the contact. Used as default target for click-to-call.
  - `phone2` string: Additional phone number.
  - `phone3` string: Additional phone number.
  - `phone4` string: Additional phone number.
  - `phone5` string: Additional phone number.
  - `picture_id` string, uuid: Id of the profile picture document.
  - `position` string: Job title or position of the contact.
  - `quick_account_name` string: Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
  - `share_mode` 0 | 1 | 2 | 3: Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharing_units / sharing_clients lists control who is granted access. Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit
  - `state_province` string: State or province of the contact address.
  - `title` string: Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
  - `unit_id` string, uuid: Id of the sales unit.
  - `zip_code` string: ZIP or postal code of the contact address.
  - `revision` integer: Revision when entity was lastly changed.
  - `social_media` object: Social network profiles linked to this contact (e.g. LinkedIn, Facebook). Related ContactSocialRelation record; see 'createContactSocialRelationInput' for its fields.
    - `id` string, uuid: Id of the related ContactSocialRelation record.
  - `account_relations` object[]: Accounts this contact is linked to. Each link records the role and position the contact has at the related account.
    - `id` string, uuid: Id of the related ContactAccountRelation record.
  - `sharing_units` object[]: Sales units that have been granted shared access to this contact. Editable only when share_mode allows unit sharing.
    - `id` string, uuid: Id of the related ContactSharingSalesUnitRelation record.
  - `sharing_clients` object[]: Users that have been granted shared access to this contact. Editable only when share_mode allows user sharing.
    - `id` string, uuid: Id of the related ContactSharingClientRelation record.
  - `documents` object[]: Documents linked to this contact.
    - `id` string, uuid: Id of the related CloudObjectRelation record.
  - `primary_account_account_roles` object[]: Roles of Contact in his primary Account.
    - `id` string, uuid: Id of the related ContactAccountAccountRoleRelation record.
  - `account_position` string: Job position of Contact in his primary Account or quick account position if Contact has no primary Account.
  - `is_unsubscribed` boolean: If account has any unsubscribed email.
  - `tags` object[]: Tag labels applied to this contact.
    - `id` string, uuid: Id of the related TagRelation record.
  - `static_profiles` object[]: Saved view profiles this contact currently matches.
    - `id` string, uuid: Id of the related ProfileRelation record.
  - `primary_account_relationship` string: Org chart relationship of Contact in his primary Account.

## Response `201`

The created Contact record.

- object
  - `success` boolean: True when the request succeeded; false on error.
  - `data` Contact: Person the sales team works with, usually linked to one or more accounts, leads and opportunities.
    - `is_delete_protected` boolean, required: True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
    - `id` string, uuid, required: Unique identifier of entity.
    - `is_deleted` boolean: Specifies if the entity is considered deleted.
    - `modified` string, date-time: Last modification time.
    - `created` string, date-time: Creation time.
    - `contact_type` string, uri, required: Contact type that classifies this contact. Contact types are configurable per team space and drive which form, fields and pipelines apply. Related ContactType record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'ContactType' for its fields.
    - `currency_exchange_rates_list` string, uri: Currency exchange rate list used to convert monetary fields linked to this contact. Empty to inherit the team space default. Related CurrencyExchangeRatesList record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'CurrencyExchangeRatesList' for its fields.
    - `owner` string, uri, required: Sales user who owns this contact. Related Client record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Client' for its fields.
    - `picture` string, uri: Profile picture associated with the contact. Related CloudObject record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'CloudObject' for its fields.
    - `unit` string, uri, required: Sales unit this contact is assigned to. Determines which team members can see the record under unit-based sharing. Related SalesUnit record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'SalesUnit' for its fields.
    - `address` string: Street address of the contact.
    - `city` string: City of the contact address.
    - `comments` string: Free-form notes describing the contact.
    - `contact_type_id` string, uuid: Id of the contact type assigned to this contact.
    - `country` string: Country of the contact address.
    - `currency_exchange_rates_list_id` string, uuid: Id of the currency exchange rate list applied to this contact.
    - `email1` string: Primary email address of the contact. Used as default recipient for emails sent from Coevera.
    - `email2` string: Additional email address.
    - `email3` string: Additional email address.
    - `email4` string: Additional email address.
    - `email5` string: Additional email address.
    - `first_name` string: Given name of the contact.
    - `gender` 0 | 1 | 2 | 3: Gender of the contact: Unknown when not specified, Male, Female or NonBinary. Integer enum value: 0 - Unknown, 1 - Male, 2 - Female, 3 - NonBinary
    - `is_archived` boolean: True when the contact has been archived. Archived contacts remain readable but are hidden from active lists and cannot be edited until reactivated.
    - `last_name` string: Family name of the contact.
    - `middle_name` string: Middle name of the contact, if applicable.
    - `owner_id` string, uuid, required: Id of the contact owner.
    - `phone1` string: Primary phone number of the contact. Used as default target for click-to-call.
    - `phone2` string: Additional phone number.
    - `phone3` string: Additional phone number.
    - `phone4` string: Additional phone number.
    - `phone5` string: Additional phone number.
    - `picture_id` string, uuid: Id of the profile picture document.
    - `position` string: Job title or position of the contact.
    - `quick_account_name` string: Free-text company name used when the contact is not linked to an actual Account record. Lets integrators capture the company without creating a separate Account.
    - `share_mode` 0 | 1 | 2 | 3: Sharing model applied on top of the owner/unit visibility (e.g. shared with selected sales units or selected users). The matching sharing_units / sharing_clients lists control who is granted access. Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit
    - `state_province` string: State or province of the contact address.
    - `title` string: Honorific or salutation prefix (e.g. Mr., Ms., Dr.) shown before the name.
    - `unit_id` string, uuid: Id of the sales unit.
    - `zip_code` string: ZIP or postal code of the contact address.
    - `revision` integer: Revision when entity was lastly changed.
    - `formatted_name` string, required: Display version of the contact name (title, first, middle, last). Used in lists and references.
    - `social_media` string, uri: Social network profiles linked to this contact (e.g. LinkedIn, Facebook). Related ContactSocialRelation record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'ContactSocialRelation' for its fields.
    - `primary_account` string, uri: Primary account this contact belongs to. Set automatically when the contact has an account relation marked as primary. Related Account record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Account' for its fields.
    - `account_relations` string[]: Accounts this contact is linked to. Each link records the role and position the contact has at the related account.
    - `sharing_units` string[]: Sales units that have been granted shared access to this contact. Editable only when share_mode allows unit sharing.
    - `sharing_clients` string[]: Users that have been granted shared access to this contact. Editable only when share_mode allows user sharing.
    - `documents` string[]: Documents linked to this contact.
    - `exchange_entity_id` string: External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
    - `gapi_entity_id` string: External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
    - `o365_entity_id` string: External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
    - `is_favorite` boolean, required: True when the current authenticated user has marked this contact as favorite. Per-user.
    - `primary_account_account_roles` string[]: Roles of Contact in his primary Account.
    - `primary_account_position` string: Job position of Contact in his primary Account.
    - `account_position` string: Job position of Contact in his primary Account or quick account position if Contact has no primary Account.
    - `is_unsubscribed` boolean: If account has any unsubscribed email.
    - `tags` string[]: Tag labels applied to this contact.
    - `static_profiles` string[]: Saved view profiles this contact currently matches.
    - `primary_account_relationship` string: Org chart relationship of Contact in his primary Account.
    - `modified_by_user` string, date-time: Timestamp of the most recent modification made by an end user (excluding system changes). Read-only; computed by Coevera.

## Other responses

- `400`: Bad request: a bad or unknown parameter (codes 117, 118), a missing permission (code 50), conflicting data (code 2002) or any other API error. The REST API answers 400 where others answer 403 or 409; check `code`.
- `401`: Not authenticated: missing or wrong credentials, a credential of another space, or an expired token (code 401, ERROR_UNAUTHORIZED).
- `422`: Validation failed (code 40000, with the failing fields) or a required parameter is missing (code 119). By default one failed item fails a whole batch and nothing is written.
- `429`: Too many requests (code 182). Wait for the seconds in Retry-After, then retry.
- `500`: Unexpected server error (code 1000, ERROR_UNKNOWN).

---

[API](https://skmtc.dev/coevera/apis/coevera-crm-api.md) - [All operations](https://skmtc.dev/coevera/apis/coevera-crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coevera/apis/coevera-crm-api/revisions/40ebbc83f179?raw)
