---
title: "Upload object schema (/v2/crm/entity-schema)"
slug: "upload-object-schema-v2crmentity-schema-1"
updated: 2025-11-17T08:10:53Z
published: 2025-11-17T08:12:09Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.gong.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Object Schema (/v2/crm/entity-schema)

Post/v2/crm/entity-schema<style>.public-api-info {    background: rgb(222, 235, 255);}.public-api-tip {    background: rgb(227, 252, 239);}.public-api-parameter {    background: rgba(9,30,66,0.08);}.public-api-note {    background: rgb(234, 230, 255);}.public-api-important {    background: rgb(255, 250, 230);}.public-api-critical {    background: rgb(255, 235, 230);}table, th, td {  border: 1px solid gray;  border-collapse: collapse;}th, td {  padding: 5px;}th {  text-align: left;}img {  border: 2px solid #D3D5D9;}</style>

Enables you to add, edit or remove fields to Gong CRM entities, so that you can display additional CRM data in Gong. Fields that are not included in the Gong CRM objects, and are uploaded without updating your schema, are not displayed in Gong.

Update your schema when:

- You create a new integration
- There are changes to the schema of any object type. You can also send a schema update request before any request to the `/v2/crm/entities` API.

When updating your schema:

- Add or change field: include all fields you want in the schema, including those sent previously. Example:     

| Date | Action | Result |
| --- | --- | --- |
| 3/4/2023 | Send account schema with fieldA | fieldA added to the account |
| 6/4/23 | Send account schema with fieldA and fieldB | fieldA still included in account schema. fieldB added to the account |
| 8/4/23 | Send account schema with fieldC but without fieldA and fieldB | Receive an error that you must include all fields in the schema |
| 15/4/23 | Send account schema with fieldB, fieldC, and isDeleted for fieldA | fieldA and all it's data are deleted. fieldB and fieldC remain in the schema |
- Changing a field: if you change the field type, a new field is created and the data associated with the original field is deleted. Other changes, such as the label do not result in data being deleted.
- Deleting a field: to delete a field and it's associated data, send the field with isDeleted = true

When accessed using a bearer token, this endpoint requires the 'api:crm:schema' scope.

## Supported field types

This table describes the field types that can be added to your schema

| Field type | Format in JSON | Possible values |
| --- | --- | --- |
| BOOLEAN | boolean | true, false |
| DATE | string (ISO-8601 date without time) | "2020-05-31" |
| DATETIME | string (ISO-8601 datetime without milliseconds) | "2020-12-17T07:37:21+02:00" "2020-12-17T05:37:21Z" |
| PICKLIST | string - one of the values in an orderedValueList | "Analyst" |
| NUMBER | number | 45.66, 8453 |
| PERCENT | number (between 0 to 100) | 67.3 |
| CURRENCY* | number | 34.68 |
| PHONENUMBER | string | "+14055766687" |
| EMAILADDRESS | string | "john.doe@anywhere.com" |
| REFERENCE | string - the id of another object | "48b009drax" |
| ID | string - the id of the object | "843hf8484jr84htg" |
| STRING | string | "whatever you want" |
| URL | string | "https://crm.com/account/6d4r578f" |

* In the integration send a number value, and specify the correct currency symbol in the Gong UI. Currently Gong does not support multiple currencies per company.

### Example

#### Request

`POST https://api.gong.io/v2/crm/entity-schema?integrationId=6286478263646&objectType=ACCOUNT`

`[{"uniqueName": "orderId", "label": "ID", "type": "ID", "lastModified": "2020-11-11T08:11:34+01:00"},`

`{"uniqueName": "parentAccount", "label": "Main Account", "type": "REFERENCE", "referenceTo": "ACCOUNT", "lastModified": "2020-11-11T08:11:34+01:00"},`

`{"uniqueName": "category", "label": "Category", "type": "PICKLIST", "orderedValueList": ["Analyst", "Competitor", "Customer", "Integrator", "Investor", "Partner", "Other"], "lastModified": "2020-11-11T08:11:34+01:00"}, `

// remove custom field

`{"uniqueName": "industry", "isDeleted": true, "label": "Industry", "type": "PICKLIST", "lastModified": "2020-11-21T08:11:34+01:00"}] `

Query parametersintegrationIdinteger (int64) Required

Integration ID generated when creating the integration

objectTypestringRequired

The object type to set the schema for (case-sensitive)

Valid values[
  "ACCOUNT",
  "CONTACT",
  "DEAL",
  "LEAD"
]

Body parameters<select class='api-response-data' aria-label='Media type'><option value='3598a6a0-6427-43db-91c8-89cc08b727b6'>application/json</option>
</select>Array of object   object  

selectedFields

uniqueNamestring    Required

The unique name of the field in the CRM system

Exampleaccountowner
labelstring    Required

The label to use in the UI for this field

ExampleAccount Owner
typestring    Required

The field type (case-sensitive). Must be one of the types listed above.

Valid values[
  "DATE",
  "DATETIME",
  "NUMBER",
  "PERCENT",
  "CURRENCY",
  "ID",
  "URL",
  "STRING",
  "BOOLEAN",
  "PHONENUMBER",
  "EMAILADDRESS",
  "PICKLIST",
  "REFERENCE",
  "STRINGARRAY"
]ExampleREFERENCE
lastModifiedstring    

The date and time the schema was last modified. Valid format: ISO-8601 format without milliseconds e.g., "2020-12-17T13:45:01Z"

Example2020-12-17T13:45:01Z
isDeletedboolean    

When true, deletes the field from the schema and its value is removed from all objects. Use with caution

Examplefalse
referenceTostring    

The object type this field refers to. Required for field of type REFERENCE. Must be one of "ACCOUNT", "CONTACT", "DEAL", "LEAD" or "USER"

ExampleUSER
orderedValueList Array of string   

The list of values for the field. Required for PICKLIST fields

Example[
  "Analyst",
  "Competitor",
  "Customer",
  "Integrator",
  "Investor",
  "Partner",
  "Other"
]string    

The list of values for the field. Required for PICKLIST fields

Example["Analyst","Competitor","Customer","Integrator","Investor","Partner","Other"]

Responses200

OK

<select class='api-response-data' aria-label='Media type'><option value='4c9937db-0eba-4428-9a7f-8705cc3183a0'>application/json</option>
</select>object  requestIdstring    

A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.

Example4al018gzaztcr8nbukw

201

Successfully uploaded crm schema fields

<select class='api-response-data' aria-label='Media type'><option value='7e616b42-699d-48fd-ab95-b3400b474007'>application/json</option>
</select>object  requestIdstring    

A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.

Example4al018gzaztcr8nbukw

400

Malformed request

<select class='api-response-data' aria-label='Media type'><option value='f8f6bc05-e139-48b5-abf5-75eac1aed9d8'>application/json</option>
</select>object  requestIdstring    

A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.

Example4al018gzaztcr8nbukw
errors Array of string   

Error messages.

Example[
  "An error has occurred"
]string    

401

Access denied

<select class='api-response-data' aria-label='Media type'><option value='7fc5b13f-8e62-4213-9ae6-431fdb2a1e05'>application/json</option>
</select>object  requestIdstring    

A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.

Example4al018gzaztcr8nbukw
errors Array of string   

Error messages.

Example[
  "An error has occurred"
]string    

429

API request limit exceeded

HeadersRetry-AfterintegerNumber of seconds to wait before making a new request.
<select class='api-response-data' aria-label='Media type'><option value='e664db1e-5131-41a3-8b44-219033e6f9b8'>application/json</option>
</select>object  requestIdstring    

A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.

Example4al018gzaztcr8nbukw
errors Array of string   

Error messages.

Example[
  "An error has occurred"
]string    

500

Failed to complete the operation due to an unexpected error

<select class='api-response-data' aria-label='Media type'><option value='a0f363d0-259b-4198-b986-17046e7bafb9'>application/json</option>
</select>object  requestIdstring    

A Gong request reference Id, generated for this request. Can be used for troubleshooting purposes.

Example4al018gzaztcr8nbukw
errors Array of string   

Error messages.

Example[
  "An error has occurred"
]string
