---
title: "CustomEntities.create"
method: POST
path: "/entities/{custom_entity_api_name}"
tags: ["Custom Entity"]
---

# CustomEntities.create

`POST /entities/{custom_entity_api_name}`

## 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/{custom_entity_api_name}`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/coevera/apis/coevera-crm-api/docs/entities/:custom_entity_api_name/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a CustomEntity record.

## Path parameters

- `custom_entity_api_name` string, required

## Query parameters

- `validation-level` integer

## Request body

- CreateCustomEntityInput: Field values of a new CustomEntity record.
  - `modified` string, date-time: Last modification time.
  - `created` string, date-time: Creation time.
  - `currency_exchange_rates_list_id` string, uuid: Id of the currency exchange rate list applied to this record.
  - `name` string: Name of the entity and its default text representation.
  - `owner_id` string, uuid, required: Id of the sales user who owns the custom entity record.
  - `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). Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit
  - `type_id` string, uuid: Id of the custom entity type.
  - `unit_id` string, uuid: Id of the sales unit.
  - `sharing_units` object[]: Sales units that have been granted shared access to this custom entity record. Editable only when share_mode allows unit sharing.
    - `id` string, uuid: Id of the related CustomEntitySharingSalesUnitRelation record.
  - `sharing_clients` object[]: Users that have been granted shared access to this custom entity record. Editable only when share_mode allows user sharing.
    - `id` string, uuid: Id of the related CustomEntitySharingClientRelation record.
  - `documents` object[]: Documents linked to this custom entity record.
    - `id` string, uuid: Id of the related CloudObjectRelation record.
  - `static_profiles` object[]: Saved view profiles this custom entity record currently matches.
    - `id` string, uuid: Id of the related ProfileRelation record.
  - `tags` object[]: Tag labels applied to this custom entity record.
    - `id` string, uuid: Id of the related TagRelation record.
  - `revision` integer: Revision when entity was lastly changed.

## Response `201`

The created CustomEntity record.

- object
  - `success` boolean: True when the request succeeded; false on error.
  - `data` CustomEntity: Record of a custom entity, a kind of record the space defines (such as Vehicle or Contract) in addition to the built-in entities.
    - `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.
    - `currency_exchange_rates_list` string, uri: Currency exchange rate list used to convert monetary fields linked to this record. 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 custom entity record. 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.
    - `type` string, uri, required: Custom entity type that classifies this record. Custom entity types are configurable per team space and define the schema (fields and form) of the records. Related CustomEntityType record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'CustomEntityType' for its fields.
    - `unit` string, uri, required: Sales unit this record 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.
    - `currency_exchange_rates_list_id` string, uuid: Id of the currency exchange rate list applied to this record.
    - `name` string: Name of the entity and its default text representation.
    - `owner_id` string, uuid, required: Id of the sales user who owns the custom entity record.
    - `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). Integer enum value: 0 - Standard, 1 - Private, 2 - AllView, 3 - AllEdit
    - `table_name` string, required: Discriminator identifying which custom entity type this record belongs to. Read-only; matches CustomEntityType.entity_api_name and is used as the entity name in REST and GraphQL queries.
    - `type_id` string, uuid: Id of the custom entity type.
    - `unit_id` string, uuid: Id of the sales unit.
    - `sharing_units` string[]: Sales units that have been granted shared access to this custom entity record. Editable only when share_mode allows unit sharing.
    - `sharing_clients` string[]: Users that have been granted shared access to this custom entity record. Editable only when share_mode allows user sharing.
    - `documents` string[]: Documents linked to this custom entity record.
    - `static_profiles` string[]: Saved view profiles this custom entity record currently matches.
    - `tags` string[]: Tag labels applied to this custom entity record.
    - `is_favorite` boolean, required: True when the current authenticated user has marked this record as favorite. Per-user.
    - `revision` integer: Revision when entity was lastly changed.

## 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)
