---
schema_version: "1"
id: 440f924c5e23c5973fbb3cf6784a7b3ff2b0c5cfdf36da746b873c321a9260c6
title: EntityDefinition
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_tooling/tooling_api_objects_entitydefinition.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 8bcee0e8f5d2371b77945bfa6e9f0522c0fd6aa82bb09d065ed0f090cf4abda1
description: Provides row-based access to metadata about standard and custom objects.
---
# EntityDefinition

Provides row-based access to metadata about standard and custom objects.

![Important](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/images/icon_note_important.png)

#### Important

Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing terms in our code can break current implementations, we maintained this object’s name.

This object is available in API version 32.0 and later.

![Note](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/images/icon_note.png)

#### Note

EntityDefinition fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for EntityDefinition fields in guest user mode in API version 44.0 and earlier. In API version 45.0 and later, use SOAP API to get this data in guest user mode. EntityDefinition is still exposed in Tooling API to User Profiles with the ViewSetup permission.

## Supported SOAP Calls

query(), search()

## Supported REST HTTP Methods

GET

## Limitations

[SOQL Limitations](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_soql_limits.htm "Some Tooling API objects have SOQL limitations. These limitations apply to any Metadata Catalog query, which applies to all Custom Metadata Types and Metadata Catalog entities, not only the ones explicitly listed.")

[SOSL Limitations](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_sosl_limits.htm "Two Tooling API objects, EntityDefinition and FieldDefinition, have some SOSL limitations. ExternalString and MetadataComponentDependency (Beta) don’t support SOSL searches.")

## Fields

| Field | Details |
| --- | --- |
| ApexTriggers | 
Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the Apex triggers associated with this object. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| AssignmentRules | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents assignment rules that allow you to automatically route cases to the appropriate users or queues. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| AutoResponseRules | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the auto-response rules defined for the object. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| BusinessProcesses | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the business processes defined for the object. Business processes display different picklist values for users based on their profile and associated record type. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| ChildRelationships | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the child relationships defined for the object. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| CompactLayouts | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the compact layouts defined for the object. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| CustomFields | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the custom fields defined for the object. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| DefaultCompactLayout | 

Type

[CompactLayoutInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_compactlayoutinfo.htm "Represents the metadata for a custom or standard compact layout.")

Properties

Create, Nillable, Update

Description

Metadata about the compact layout defined as the default for this object, if any.



 |
| DefaultCompactLayoutId | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

ID of the default compact layout, if any.



 |
| DefaultImplementation | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Reserved for future use.



 |
| DeploymentStatus | 

Type

picklist

Properties

Filter, Group, Nillable, Restricted picklist, Sort

Description

Specifies the deployment status of the object. Controls whether a custom object and its associated custom tab, related lists, and reports are visible to non-admin users. This field is available in Tooling API version 37.0 and later. Valid values are:

- InDevelopment
- Deployed





 |
| Description | 

Type

string

Properties

Filter, Nillable, Sort

Description

The description of the object. A meaningful description makes it easier to distinguish between custom objects when they're viewed in a list. This field is available in Tooling API version 37.0 and later.



 |
| DetailUrl | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

URL to the read-only detail page for this object. Corresponds to the urlDetail field in DescribeSobjectResult. This field is available in Tooling API version 34.0 and later.



 |
| DeveloperName | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The developer’s internal name for the object. This field isn't unique, so if you query by this field, you can get multiple records with the same DeveloperName value. For example, in an org, you could have these three objects with a DeveloperName of Account: a standard Account object, a custom object, and a packaged custom object. If you want to query by a unique identifier, use QualifiedApiName.



 |
| DurableId | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Unique identifier for the field. Always retrieve this value before using it, as the value isn’t guaranteed to stay the same from one release to the next. Simplify queries by using this field instead of making multiple queries.



 |
| EditDefinitionUrl | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

This field is available in Tooling API version 34.0 and later.



 |
| EditUrl | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The URL used when editing the custom object definition. Corresponds to the urlEdit field on DescribeSobjectResult. This field is available in Tooling API version 34.0 and later.



 |
| ExtendedBy | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Reserved for future use.



 |
| ExtendsInterfaces | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Reserved for future use.



 |
| ExternalSharingModel | 

Type

picklist

Properties

Filter, Group, Restricted picklist, Sort

Description

The external sharing model. Possible values are:

- None
- Read
- Edit
- ControlledByLeadOrContact
- ControlledByCampaign

This field is available in Tooling API version 38.0 and later.



 |
| FieldSets | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the field sets defined for the object. Because this field represents a relationship, use only in subqueries.



 |
| Fields | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the standard and custom fields defined for this object. Because this field represents a relationship, use only in subqueries.



 |
| FormulaVariables | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the formulas that are built on this object.

This field is available in Tooling API version 48.0 and later. |
| FullName | 

Type

string

Properties

Create, Group, Nillable

Description

The name of the object. If a field, the name must specify the parent object, for example Account.FirstName.

Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.



 |
| HelpSettingPageName | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The name of the custom help setting page. This field is available in Tooling API version 34.0 and later.



 |
| HelpSettingPageUrl | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The URL pointing to the custom help setting page for custom objects. This field is available in Tooling API version 34.0 and later.



 |
| ImplementedBy | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Reserved for future use.



 |
| ImplementsInterfaces | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

Reserved for future use.



 |
| InternalSharingModel | 

Type

picklist

Properties

Filter, Group, Restricted picklist, Sort

Description

The internal sharing model. Possible values are:

- None
- Read
- Edit
- ControlledByLeadOrContact
- ControlledByCampaign

This field is available in Tooling API version 38.0 and later.



 |
| IsActivityTrackable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, activities, such as tasks and scheduled calendar events associated with the custom object, can be tracked. Can be enabled only for custom objects. This field is available in Tooling API version 37.0 and later.



 |
| IsApexTriggerable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, Apex triggers can be defined for the object.



 |
| IsAutoActivityCaptureEnabled | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object is enabled for Einstein Activity Capture. This field is available in Tooling API version 41.0 and later.



 |
| IsCompactLayoutable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object supports compact layouts. That is, compact layouts can be defined, a system compact layout can be synthesized, or both.



 |
| IsCreatable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, records based on the object (true) can be created.

This field is unavailable starting with version 35.0. Use IsCreatable on UserEntityAccess instead.



 |
| IsCustomSetting | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object is a custom setting. This field is available in Tooling API version 35.0 and later.



 |
| IsCustomizable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, custom fields can be defined for the object.



 |
| IsDeletable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object can be deleted.

This field is unavailable starting with version 35.0. Use IsDeletable on UserEntityAccess instead.



 |
| IsDeprecatedAndHidden | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, this object is unavailable for the current version. This field is available in Tooling API version 35.0 and later.



 |
| IsEverCreatable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object can be created using an API, assuming the current user has the appropriate permissions. If false, the application server manages the object and no user can create it. This field is available in Tooling API version 35.0 and later.



 |
| IsEverDeletable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object can be created using an API, assuming the current user has the appropriate permissions. If false, the application server manages the object and no user can delete it. This field is available in Tooling API version 35.0 and later.



 |
| IsEverUpdatable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object can be created using an API, assuming the current user has the appropriate permissions. If false, the application server manages the object and no user can modify it. This field is available in Tooling API version 35.0 and later.



 |
| IsFeedEnabled | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the Chatter feed is enabled for this object. This field is available in Tooling API version 34.0 and later.



 |
| IsFieldHistoryTracked | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, your org can track changes to fields on the custom object records. History data is available for reporting, so users can easily create audit trail reports. Can be enabled only for custom objects. This field is available in Tooling API version 37.0 and later.



 |
| IsFlsEnabled | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, you can set field-level security on applicable fields. This field is available in Tooling API version 35.0 and later.



 |
| IsIdEnabled | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, you can include Id in the SELECT clause of a query on this object. This field is available in Tooling API version 35.0 and later.

For example, assume that there's an object backed by an OData data source with the High Data Volume option selected. That object’s IsIdEnabled field is false.





 |
| IsInterface | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

Reserved for future use.



 |
| IsLayoutable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, layouts can be defined for the object. This field is available in Tooling API version 35.0 and later.



 |
| IsMruEnabled | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, Most Recently Used (MRU) list functionality is enabled for this object. This field is available in Tooling API version 37.0 and later.



 |
| IsQueryable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object can be queried.



 |
| IsReplicateable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object can be replicated. This field is available in Tooling API version 35.0 and later.



 |
| IsReportingEnabled | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the data in the custom object's records is available for reporting. Can be enabled only on custom objects. This field is available in Tooling API version 37.0 and later.



 |
| IsRetrieveable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, the object can be retrieved. This field is available in Tooling API version 35.0 and later.



 |
| IsSearchable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, records of this object are indexed for search. This field is available in Tooling API version 35.0 and later.



 |
| IsSearchLayoutable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, you can customize search layouts for this object. This field is available in Tooling API version 35.0 and later.



 |
| IsTriggerable | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, you can use triggers with this object. This field is available in Tooling API version 35.0 and later.



 |
| IsWorkflowEnabled | 

Type

boolean

Properties

Defaulted on create, Filter, Group, Sort

Description

If true, workflow rules can be defined for the object.



 |
| KeyPrefix | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The first three digits of the object’s ID, which identify the object type, such as Account or Opportunity.



 |
| Label | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The label for this object, used in the compact layout and in the user's language locale.



 |
| Layouts | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the layouts defined for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| Limits | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

The limits defined for this object. Corresponds to the Limits page for each standard object in Setup, or the Limits related list for each custom object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| LookupFilters | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the lookup filters defined for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| MasterLabel | 

Type

string

Properties

Filter, Group, Sort

Description

The label for this object, which displays in Setup. The master label is in the default language locale for the organization. If there's no default language locale, the label is in en\_US.



 |
| Metadata | 

Type

mns: CustomObject

Properties

Create, Nillable, Update

Description

Metadata about the standard or custom object. Details are available in the CustomObject entry in the metadata namespace in the Tooling API WSDL.

Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.



 |
| NamespacePrefix | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The namespace prefix associated with this object. Each Developer Edition organization that creates a managed package has a unique namespace prefix. Limit: 15 characters. You can refer to a component in a managed package by using the namespacePrefix\_\_componentName notation.

The namespace prefix can have one of these values:

- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There’s an exception if an object is in an installed managed package. In that case, the object has the namespace prefix of the installed managed package. This field’s value is the namespace prefix of the Developer Edition organization of the package developer.
- In organizations that aren't Developer Edition organizations, NamespacePrefix is set only for objects that are part of an installed managed package. There’s no namespace prefix for all other objects.





 |
| NewUrl | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The URL used when editing a new standard or custom record. Corresponds to the urlNew field on DescribeSobjectResult. This field is available in Tooling API version 34.0 and later.



 |
| OwnerChangeOptions | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Use only in subqueries. This field is available in Tooling API version 35.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| Particles | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

The particles defined for this object. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| PluralLabel | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

The plural version of the object’s Label.



 |
| Publisher | 

Type

[Publisher](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_publisher.htm "Represents the publisher of objects and fields. For example, Salesforce is the publisher for standard objects, the organization is the publisher for custom objects, and the package is the publisher for installed packages. Available in Tooling API version 34.0 and later.")

Properties

Create, Nillable, Update

Description

The publisher of this object, for example Salesforce, a user, or a package name. This field is available in Tooling API version 34.0 and later.



 |
| PublisherId | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

ID of the publisher associated with this object. This field is available in Tooling API version 34.0 and later.



 |
| QualifiedApiName | 

Type

string

Properties

Filter, Group, Sort

Description

A unique external ID for the object of the form NamespacePrefix\_\_DeveloperName for standard objects and NamespacePrefix\_\_DeveloperName\_\_c for custom objects. When performing SOQL queries with Custom Metadata Type relationship fields, use this field to obtain fully qualified namespaces.



 |
| QuickActionDefinitions | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the quick actions defined for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| RecordTypes | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the record types defined for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| RecordTypesSupported | 

Type

[RecordTypesSupported](#recordtypessupported)

Properties

Nillable

Description

Represents the record types defined for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later.



 |
| RelatedListDefinitions | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents related lists defined for this object. Because this field represents a relationship, use only in subqueries. Available in API version 55.0 and later.



 |
| RelationshipDomains | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Metadata about the relationships with other objects that this object has. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| RunningUserEntityAccess | 

Type

[UserEntityAccess](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_userentityaccess.htm "Represents the access that the current user has to an object. Available in Tooling API version 34.0 and later.")

Properties

Create, Nillable, Update

Description

Represents the running user’s access to this object. This field is available in Tooling API version 34.0 and later.



 |
| RunningUserEntityAccessId | 

Type

string

Properties

Filter, Group, Nillable, Sort

Description

ID of the UserEntityAccess record associated with this object. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| SearchLayouts | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the search layouts associated with this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| StandardActions | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the standard actions defined for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| ValidationRules | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the validation rules defined for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| WebLinks | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the Weblinks associated with this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| WorkflowAlerts | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the workflow alerts associated with this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| WorkflowFieldUpdates | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the workflow field updates for this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| WorkflowOutboundMessages | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the workflow outbound messages associated with this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |
| WorkflowTasks | 

Type

QueryResult

Properties

Filter, Group, Nillable, Sort

Description

Represents the workflow tasks associated with this object. Use only in subqueries. This field is available in Tooling API version 34.0 and later. Because this field represents a relationship, use only in subqueries.



 |

## RecordTypesSupported Metadata

RecordTypesSupported is in the tns namespace. Represents the record types associated with this object.

| Field | Details |
| --- | --- |
| recordTypeInfos | 
Type

[RecordTypeInfo](#recordtypeinfo_name)

Description

Represents the RecordTypeInfo records for the object. Use only in subqueries. This field is available in Tooling API version 35.0 and later.



 |

## RecordTypeInfo Metadata

RecordTypeInfo is in the tns namespace. Represents a record type associated with the object.

| Field | Details |
| --- | --- |
| available | 
Type

boolean

Description

If true, this record type is available for use. This field is available in Tooling API version 35.0 and later.



 |
| defaultRecordTypeMapping | 

Type

boolean

Description

This field is available in Tooling API version 35.0 and later.



 |
| developerName | 

Type

string

Description

The developer name of the record type. This field is available in API version 43.0 and later.



 |
| master | 

Type

boolean

Description

This field is available in Tooling API version 35.0 and later.



 |
| name | 

Type

string

Description

Name of the record type. This field is available in Tooling API version 35.0 and later.



 |
| recordTypeId | 

Type

Id

Description

ID of the record type. This field is available in Tooling API version 35.0 and later.



 |