# Custom Object Definitions With Custom Objects service, you can define custom objects, extending the Zuora data model to accommodate your specific use cases. If you use Postman, you can import the custom objects endpoints as a collection into your Postman app and try out different requests to learn how the API works. You can sign up for a free account on the [Postman website](https://identity.getpostman.com/signup) and download the app in case you do not use Postman yet. Note that the Custom Object Definitions API is versioned by `Zuora-Version` in the request header. The response may be different for the same request with a different API version. Specify `Zuora-Version` in the request header if you expect a specific response schema. ## Create custom object definitions - [POST /objects/definitions/default](https://developer.zuora.com/v1-api-reference/api/custom-object-definitions/post_customobjectdefinitions.md): You can post custom object definitions with the request body schema described below. This operation also allows you to use the List custom object definitions response schema as its request schema. If you want to copy all the existing custom objects from an old tenant to a new tenant, you can make a List custom object definitions call in your old tenant and then use its response directly as the request of this operation in the new tenant to import all the custom objects from the old tenant. The label field is the UI label of the custom object. The object field contains the API Name of the custom object. ### Limitations This custom object definition has the following limitations: * The maximum number of characters for the Custom Object API Name (object) is 64. * The maximum number of characters for the Custom Object Label (label) is 64. * The maximum number of characters for the Custom Object Description 250. * The maximum number of custom fields in an custom object is 50. * The maximum number of characters for the custom field API name is 64. * The maximum number of characters for the custom field label (label) is 64. * The maximum number of characters for the custom field Description is 250. * The maximum number of picklist or multiselect options is 250. * The maximum length of characters for the Text field is 255. * The maximum length of characters for the Long Text field is from 256 to 8,192. * The maximum number of digits to the left of the decimal point for the Number field is 13, and to the right is 9. ## List custom object definitions - [GET /objects/definitions/default](https://developer.zuora.com/v1-api-reference/api/custom-object-definitions/get_allcustomobjectdefinitionsinnamespace.md): Get all custom objects definitions for a given tenant. If you want to copy all the existing custom objects from an old tenant to a new tenant, you can call this operation in your old tenant and then use its response directly as the request of the Create custom object definitions call in the new tenant to import all the custom objects from the old tenant. ## Update a custom object definition - [POST /objects/migrations](https://developer.zuora.com/v1-api-reference/api/custom-object-definitions/post_updatecustomobjectdefinition.md): Updates a custom object definition by posting migration resource to initiate the migration of definitions. ### Limitations Updating custom field definition has the following limitations: * You can only have one action per update request. * You cannot delete fields from custom objects that contain records. * You can only add required fields to custom objects with no records. * You can change optional fields to required only on the custom objects with no records. ### Note The bulk deletion of custom fields on standard and custom objects is temporarily unavailable as we refine the Custom Field feature. You can still delete custom fields individually during this refinement process. If you want to delete multiple custom fields, ensure that you send each deletion request only after receiving the response for the previous request. The bulk deletion capability will be restored once the refinement is complete. ## Retrieve a custom object definition - [GET /objects/definitions/default/{object}](https://developer.zuora.com/v1-api-reference/api/custom-object-definitions/get_customobjectdefinitionbytype.md): Retrieves the custom object definition by type for the given tenant. ## Delete a custom object definition - [DELETE /objects/definitions/default/{object}](https://developer.zuora.com/v1-api-reference/api/custom-object-definitions/delete_customobjectdefinitionbytype.md): Deletes the custom object definition for the provided type. Note: A custom object definition can only be deleted if no record of this custom object type exists.