# Custom Objects Custom Objects store arbitrary JSON-formatted data. Custom Objects allow you to persist data that does not fit the standard data model. This frees your application from any third-party persistence solution and means that all your data stays in one place. Custom Objects are grouped into containers, which can be used like namespaces. You can store custom data for Products and other entities in Custom Objects and access the data using [Reference Expansion](https://docs.commercetools.com/api/general-concepts.md#include-custom-data-by-expanding-custom-objects). With this approach, you can query for the custom data associated to the resource without the need for [Custom Objects scopes](https://docs.commercetools.com/api/scopes.md#custom-objects). A maximum number of 20000000 Custom Objects can be created per Project. This is a soft limit that can be increased per Project after a performance impact review. See [Limit increase guidance](https://docs.commercetools.com/api/limit-increase-guidance.md#resource-count-limits). ## Representations #### CustomObject See API type definition [CustomObject](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Atype%3ACustomObject). #### CustomObjectDraft See API type definition [CustomObjectDraft](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Atype%3ACustomObjectDraft). #### CustomObjectPagedQueryResponse See API type definition [CustomObjectPagedQueryResponse](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Atype%3ACustomObjectPagedQueryResponse). #### CustomObjectReference See API type definition [CustomObjectReference](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Atype%3ACustomObjectReference). #### CustomObjectKeyReference See API type definition [CustomObjectKeyReference](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aimport%3Atype%3ACustomObjectKeyReference). ## Get CustomObject by Container and Key See API endpoint definition [GET /\{projectKey}/custom-objects/\{container}/\{key}](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustom-objects%2F%7Bcontainer%7D%2F%7Bkey%7D%3AGET). ## Create or Update CustomObject See API endpoint definition [POST /\{projectKey}/custom-objects](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustom-objects%3APOST). ## Query CustomObjects in Container See API endpoint definition [GET /\{projectKey}/custom-objects/\{container}](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustom-objects%2F%7Bcontainer%7D%3AGET). ## Check if CustomObject exists ### Check if CustomObject exists by Query Predicate See API endpoint definition [HEAD /\{projectKey}/custom-objects](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustom-objects%3AHEAD). ## Delete CustomObject by Container and Key See API endpoint definition [DELETE /\{projectKey}/custom-objects/\{container}/\{key}](https://docs.commercetools.com/api/projects/custom-objects.md?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustom-objects%2F%7Bcontainer%7D%2F%7Bkey%7D%3ADELETE). ## Related pages - [Section overview page](https://docs.commercetools.com/api.md) - [Previous page: Custom Fields](https://docs.commercetools.com/api/projects/custom-fields.md) - [Next page: API Extensions](https://docs.commercetools.com/api/projects/api-extensions.md)