> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Object activation API (BETA)

> Check activation statuses, activate objects, and rename HubSpot-defined objects.

> **Required Scopes**

Certain objects in the [HubSpot data model](https://developers.hubspot.com/docs/api-reference/latest/crm/understanding-the-crm.md) are activatable, meaning you can choose whether to use them in your HubSpot account. For example, a spa might activate the Appointments object, while a software company would not. Some objects are also renameable, meaning you can change their singular and plural display labels to better match your business terminology.

Use the CRM Data Model API to check activation statuses, activate eligible objects, and manage display names for eligible objects.

> [!WARNING]
>
> This functionality is currently in beta. By participating in this beta, you agree to HubSpot's [Developer Terms](https://legal.hubspot.com/developer-terms) and [Developer Beta Terms](https://legal.hubspot.com/developerbetaterms). Note that the functionality is still under active development and is subject to change based on testing and feedback.

## Retrieve activation statuses of all activatable objects

To check the activation status of all activatable objects in a HubSpot account, make a `GET` request to `/crm/object-library/2027-03-beta/enablement`. Only objects that can be activated or deactivated are returned. Standard objects such as contacts, companies, deals, and tickets are not included.

In the response, the `enablementByObjectTypeId` object contains `objectTypeId` values paired with a boolean. A value of `true` means the object is activated and `false` means it is deactivated. You can view each object's `objectTypeId` in [this table](https://developers.hubspot.com/docs/api-reference/latest/crm/understanding-the-crm.md#object-type-ids).

For example, the following response shows an account where appointments and services are activated, but courses and listings are not.

```json theme={null}
{
  "enablementByObjectTypeId": {
    "0-420": false,
    "0-421": true,
    "0-162": true,
    "0-410": false
  }
}
```

## Retrieve a single object's activation status

To check whether a specific object is activated in a HubSpot account, make a `GET` request to `/crm/object-library/2027-03-beta/enablement/{objectTypeId}`. Refer to [this table](https://developers.hubspot.com/docs/api-reference/latest/crm/understanding-the-crm.md#object-type-ids) to find an object's `objectTypeId`.

The response returns the object's `enablement` value as `true` or `false`.

For example, to check whether appointments are activated, make a `GET` request to `/crm/object-library/2027-03-beta/enablement/0-421`. If appointments are activated, the response will look like:

```json theme={null}
{
  "enablement": true
}
```

## Activate an object

To activate an eligible HubSpot-defined object, make a `POST` request to `/crm/object-library/2027-03-beta/{objectTypeId}/activate`.

> [!WARNING]
>
> **Please note:** Standard objects such as contacts, companies, deals, and tickets are always active and cannot be deactivated. If an object is activated, your app will need the corresponding object [scopes](https://developers.hubspot.com/docs/apps/developer-platform/build-apps/authentication/scopes.md) to access and manage its records.

## Rename an object

Some objects support renaming, which lets you change the singular and plural display labels used throughout HubSpot to better reflect your business terminology. For example, you could rename the Companies object from "Companies" to "Organizations."

To rename an object, make a `PUT` request to `/crm/object-library/2027-03-beta/rename/{objectTypeId}`. In the request body, include the updated `singularLabel` and `pluralLabel` values.

```json theme={null}
{
  "singularLabel": "Organization",
  "pluralLabel": "Organizations"
}
```

| Parameter | Type | Description |
| - | - | - |
| `singularLabel` | String | The new singular display label for the object (e.g., `"Organization"`). |
| `pluralLabel` | String | The new plural display label for the object (e.g., `"Organizations"`). |

The response includes the updated labels along with a `suggestedPropertyLabelUpdates` array. This array lists properties across objects with labels you may want to [update to match the renamed object](https://developers.hubspot.com/docs/api-reference/latest/crm/properties/guide.md). For example, renaming "Companies" to "Organizations" might suggest renaming "Company Size" to "Organization Size" on the companies object, and "Primary Company" to "Primary Organization" on the contacts object.

```json theme={null}
{
  "objectTypeId": "0-2",
  "singularLabel": "Organization",
  "pluralLabel": "Organizations",
  "suggestedPropertyLabelUpdates": [
    {
      "objectTypeId": "0-2",
      "propertyName": "company_size",
      "currentLabel": "Company Size",
      "suggestedLabel": "Organization Size"
    },
    {
      "objectTypeId": "0-1",
      "propertyName": "associatedcompanyid",
      "currentLabel": "Primary Company",
      "suggestedLabel": "Primary Organization"
    }
  ]
}
```

> [!NOTE]
>
> The property relabeling suggested in the API response is handled automatically when you rename an object through the HubSpot UI. If you rename via the API, you can still apply property label updates through HubSpot's data model management settings. Deleting a rename will also reset any property labels that were updated based on the rename suggestions.

## Retrieve renamings

### Retrieve all renamings

To retrieve the custom labels for all renamed objects in a HubSpot account, make a `GET` request to `/crm/object-library/2027-03-beta/rename`.

The response returns a list of all objects that have been renamed, along with their current custom singular and plural labels.

```json theme={null}
{
  "results": [
    {
      "objectTypeId": "0-2",
      "translatedDefaultLabel": {
        "singularLabel": "Company",
        "pluralLabel": "Companies"
      },
      "currentRenamedLabel": {
        "singularLabel": "Organization",
        "pluralLabel": "Organizations"
      }
    },
    {
      "objectTypeId": "0-421",
      "translatedDefaultLabel": {
        "singularLabel": "Appointment",
        "pluralLabel": "Appointments"
      },
      "currentRenamedLabel": {
        "singularLabel": "Booking",
        "pluralLabel": "Bookings"
      }
    }
  ]
}
```

### Retrieve the renaming for a specific object

To retrieve the custom labels for a specific renamed object, make a `GET` request to `/crm/object-library/2027-03-beta/rename/{objectTypeId}`.

If the object has been renamed, the response returns its current custom labels.

```json theme={null}
{
  "objectTypeId": "0-2",
  "translatedDefaultLabel": {
    "singularLabel": "Company",
    "pluralLabel": "Companies"
  },
  "currentRenamedLabel": {
    "singularLabel": "Organization",
    "pluralLabel": "Organizations"
  }
}
```

If the object has not been renamed, the endpoint returns a `404` response.

## Revert a rename

To remove a custom rename and restore the default display labels for an object, make a `DELETE` request to `/crm/object-library/2027-03-beta/rename/{objectTypeId}`.

A successful deletion returns a `204 No Content` response.

> [!WARNING]
>
> **Please note:** if you've updated relevant property labels, a rename will also reset any property labels that were updated based on the rename suggestions.
