{
  "opencollection": "1.0.0",
  "info": {
    "name": "API Reference Accounting Codes Custom Object Definitions API",
    "version": "2023-12-15"
  },
  "items": [
    {
      "info": {
        "name": "Custom Object Definitions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List custom object definitions",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/objects/definitions/default",
            "headers": [
              {
                "name": "Accept-Encoding",
                "value": ""
              },
              {
                "name": "Content-Encoding",
                "value": ""
              },
              {
                "name": "Zuora-Track-Id",
                "value": ""
              },
              {
                "name": "Zuora-Entity-Ids",
                "value": ""
              },
              {
                "name": "Zuora-Org-Ids",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "Zuora-Version",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "select",
                "value": "",
                "type": "query",
                "description": "If you set `select` to `type`, the response will only contain the `type` of each custom object.\n"
              }
            ]
          },
          "docs": "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](/api-references/api/operation/POST_CustomObjectDefinitions) call in the new tenant to import all the custom objects from the old tenant.\n"
        },
        {
          "info": {
            "name": "Create custom object definitions",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/objects/definitions/default",
            "headers": [
              {
                "name": "Idempotency-Key",
                "value": ""
              },
              {
                "name": "Accept-Encoding",
                "value": ""
              },
              {
                "name": "Content-Encoding",
                "value": ""
              },
              {
                "name": "Zuora-Track-Id",
                "value": ""
              },
              {
                "name": "Zuora-Entity-Ids",
                "value": ""
              },
              {
                "name": "Zuora-Org-Ids",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "Zuora-Version",
                "value": ""
              }
            ]
          },
          "docs": "You can post custom object definitions with the request body schema described below. \n\nThis operation also allows you to use the [List custom object definitions](/api-references/api/operation/GET_AllCustomObjectDefinitionsInNamespace) 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](/api-references/api/operation/GET_AllCustomObjectDefinitionsInNamespace) call in your old "
        },
        {
          "info": {
            "name": "Retrieve a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/objects/definitions/default/:object",
            "headers": [
              {
                "name": "Accept-Encoding",
                "value": ""
              },
              {
                "name": "Content-Encoding",
                "value": ""
              },
              {
                "name": "Zuora-Track-Id",
                "value": ""
              },
              {
                "name": "Zuora-Entity-Ids",
                "value": ""
              },
              {
                "name": "Zuora-Org-Ids",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "Zuora-Version",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "object",
                "value": "",
                "type": "path",
                "description": "Specifies the custom object's API name as object. It is case-sensitive."
              }
            ]
          },
          "docs": "Retrieves the custom object definition by type for the given tenant.\n"
        },
        {
          "info": {
            "name": "Delete a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/objects/definitions/default/:object",
            "headers": [
              {
                "name": "Accept-Encoding",
                "value": ""
              },
              {
                "name": "Content-Encoding",
                "value": ""
              },
              {
                "name": "Zuora-Track-Id",
                "value": ""
              },
              {
                "name": "Zuora-Entity-Ids",
                "value": ""
              },
              {
                "name": "Zuora-Org-Ids",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "Zuora-Version",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "object",
                "value": "",
                "type": "path",
                "description": "Specifies the custom object's API name as object. It is case-sensitive."
              }
            ]
          },
          "docs": "Deletes the custom object definition for the provided type.\n\n**Note:** A custom object definition can only be deleted if no record of this custom object type exists.\n"
        },
        {
          "info": {
            "name": "Update a custom object definition",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/objects/migrations",
            "headers": [
              {
                "name": "Idempotency-Key",
                "value": ""
              },
              {
                "name": "Accept-Encoding",
                "value": ""
              },
              {
                "name": "Content-Encoding",
                "value": ""
              },
              {
                "name": "Zuora-Track-Id",
                "value": ""
              },
              {
                "name": "Zuora-Entity-Ids",
                "value": ""
              },
              {
                "name": "Zuora-Org-Ids",
                "value": ""
              },
              {
                "name": "Authorization",
                "value": ""
              },
              {
                "name": "Zuora-Version",
                "value": ""
              }
            ]
          },
          "docs": "Updates a custom object definition by posting migration resource to initiate the migration of definitions.\n\n### Limitations \n\nUpdating custom field definition has the following limitations:\n\n* You can only have one action per update request.\n* You cannot delete fields from custom objects that contain records.\n* You can only add required fields to custom objects with no records.\n* You can change optional fields to required only on the custom objects with no records. \n"
        }
      ]
    }
  ],
  "bundled": true
}