# List Custom Object Instances List instances of a custom object type. Three modes are supported: - No filter — returns all instances for the type. - references_contact_id — returns instances associated with the given contact. - references_conversation_id — returns instances associated with the given conversation. When external_id is provided, returns a single matching instance (not a list). Endpoint: GET /custom_object_instances/{custom_object_type_identifier} Version: Preview Security: bearerAuth ## Path parameters: - `custom_object_type_identifier` (string, required) The unique identifier of the custom object type that defines the structure of the custom object instance. Example: "Order" ## Query parameters: - `references_contact_id` (string) Return instances associated with the given contact ID. - `references_conversation_id` (string) Return instances associated with the given conversation ID. - `external_id` (string) Return the single instance with this external ID. When provided, the response is a single object rather than a list. - `page` (integer) Page number of results to fetch. - `per_page` (integer) Number of results per page. Maximum 150. ## Header parameters: - `Intercom-Version` (string) Intercom API version.By default, it's equal to the version set in the app package. Enum: "1.0", "1.1", "1.2", "1.3", "1.4", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7", "2.8", "2.9", "2.10", "2.11", "2.12", "2.13", "2.14", "Preview" ## Response 200 fields (application/json): - `type` (string) The type of the object - list. Enum: "list" - `pages` (object) The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests. Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows. - `pages.type` (string) Enum: "pages" - `pages.page` (integer) Example: 1 - `pages.next` (string,null) A link to the next page of results. A response that does not contain a next link does not have further data to fetch. - `pages.per_page` (integer) Example: 50 - `pages.total_pages` (integer) Example: 1 - `total_count` (integer) A count of the total number of custom object instances. Example: 2 - `data` (array) An array of Custom Object Instance objects. - `data.id` (string) The Intercom defined id representing the custom object instance. Example: 16032025 - `data.external_id` (string) The id you have defined for the custom object instance. Example: "0001d1c1e65a7a19e9f59ae2" - `data.external_created_at` (integer,null) The time when the Custom Object instance was created in the external system it originated from. Example: 1571672154 - `data.external_updated_at` (integer,null) The time when the Custom Object instance was last updated in the external system it originated from. Example: 1571672154 - `data.created_at` (integer) The time the attribute was created as a UTC Unix timestamp Example: 1671028894 - `data.updated_at` (integer) The time the attribute was last updated as a UTC Unix timestamp Example: 1671028894 - `data.type` (string) The identifier of the custom object type that defines the structure of the custom object instance. Example: "Order" - `data.custom_attributes` (object) The custom attributes you have set on the custom object instance. ## Response 401 fields (application/json): - `type` (string, required) The type is error.list Example: "error.list" - `request_id` (string,null) Example: "f93ecfa8-d08a-4325-8694-89aeb89c8f85" - `errors` (array, required) An array of one or more error objects - `errors.code` (string, required) A string indicating the kind of error, used to further qualify the HTTP response code Example: "unauthorized" - `errors.message` (string,null) Optional. Human readable description of the error. Example: "Access Token Invalid" - `errors.field` (string,null) Optional. Used to identify a particular field or query parameter that was in error. Example: "email" ## Response 404 fields (application/json): - `type` (string, required) The type is error.list Example: "error.list" - `request_id` (string,null) Example: "f93ecfa8-d08a-4325-8694-89aeb89c8f85" - `errors` (array, required) An array of one or more error objects - `errors.code` (string, required) A string indicating the kind of error, used to further qualify the HTTP response code Example: "unauthorized" - `errors.message` (string,null) Optional. Human readable description of the error. Example: "Access Token Invalid" - `errors.field` (string,null) Optional. Used to identify a particular field or query parameter that was in error. Example: "email"