EntityDefinition

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

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.

Important

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.

Note

Version 

Introduced in API version 32.0.

Supported SOAP API Calls 

describeSObjects(), query(), search()

Supported REST API Methods 

Query

Limitations 

SOQL Limitations

SOSL Limitations

Fields 

DefaultCompactLayoutId 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: ID of the default compact layout, if any.

DefaultImplementation 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 47.0

  • Description: Reserved for future use.

DeploymentStatus 

  • Type: picklist

  • Required: No

  • Properties: Filter, Group, Nillable, Restricted picklist, Sort

  • Introduced: API version 33.0

  • 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.

  • Possible values:

    • InDevelopment — InDevelopment

    • Deployed — Deployed

Description 

  • Type: string

  • Required: No

  • Properties: Filter, Nillable, Sort

  • Introduced: API version 33.0

  • Description: The description of the object. A meaningful description makes it easier to distinguish between custom objects when they’re viewed in a list.

DetailUrl 

  • Type: url

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 34.0

  • Description: URL to the read-only detail page for this object. Corresponds to the urlDetail field in DescribeSobjectResult.

DeveloperName 

  • Type: string

  • Required: No

  • 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

  • Required: No

  • 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: url
  • Required: No
  • Properties: Filter, Group, Nillable, Sort
  • Introduced: API version 34.0

EditUrl 

  • Type: url

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 34.0

  • Description: The URL used when editing the custom object definition. Corresponds to the urlEdit field on DescribeSobjectResult.

ExtendedBy 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 47.0

  • Description: Reserved for future use.

ExtendsInterfaces 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 47.0

  • Description: Reserved for future use.

ExternalSharingModel 

  • Type: picklist

  • Required: No

  • Properties: Filter, Group, Restricted picklist, Sort

  • Introduced: API version 38.0

  • Description: The external sharing model.

  • Possible values:

    • None — Private

    • Read — Read Only

    • Edit — Read/Write

    • ControlledByLeadOrContact — Controlled By Lead Or Contact

    • ControlledByCampaign — Controlled By Campaign

FullName 

  • Type: string

  • Required: No

  • 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.

HasSubtypes 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 38.0

  • Default value: false

HelpSettingPageName 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 34.0

  • Description: The name of the custom help setting page.

HelpSettingPageUrl 

  • Type: url

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 34.0

  • Description: The URL pointing to the custom help setting page for custom objects.

ImplementedBy 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 47.0

  • Description: Reserved for future use.

ImplementsInterfaces 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 47.0

  • Description: Reserved for future use.

InternalSharingModel 

  • Type: picklist

  • Required: No

  • Properties: Filter, Group, Restricted picklist, Sort

  • Introduced: API version 38.0

  • Description: The internal sharing model.

  • Possible values:

    • None — Private

    • Read — Read Only

    • Edit — Read/Write

    • ControlledByLeadOrContact — Controlled By Lead Or Contact

    • ControlledByCampaign — Controlled By Campaign

IsActivityTrackable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 33.0

  • 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.

  • Default value: false

IsApexTriggerable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

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

  • Default value: false

IsAutoActivityCaptureEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 41.0

  • Description: If true, the object is enabled for Einstein Activity Capture.

  • Default value: false

IsCompactLayoutable 

  • Type: boolean

  • Required: No

  • 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.

  • Default value: false

IsCustomSetting 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, the object is a custom setting.

  • Default value: false

IsCustomizable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

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

  • Default value: false

IsDeepCloneable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 34.0

  • Default value: false

IsDeprecatedAndHidden 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, this object is unavailable for the current version.

  • Default value: false

IsEverCreatable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • 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.

  • Default value: false

IsEverDeletable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • 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.

  • Default value: false

IsEverUpdatable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • 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.

  • Default value: false

IsFeedEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 34.0

  • Description: If true, the Chatter feed is enabled for this object.

  • Default value: false

IsFieldHistoryTracked 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 33.0

  • 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.

  • Default value: false

IsFlsEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, you can set field-level security on applicable fields.

  • Default value: false

IsIdEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, you can include Id in the SELECT clause of a query on this object.

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.

  • Default value: false

IsInterface 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 47.0

  • Description: Reserved for future use.

  • Default value: false

IsLayoutable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, layouts can be defined for the object.

  • Default value: false

IsMruEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 37.0

  • Description: If true, Most Recently Used (MRU) list functionality is enabled for this object.

  • Default value: false

IsProcessEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 37.0

  • Default value: false

IsQueryable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 33.0

  • Description: If true, the object can be queried.

  • Default value: false

IsReplicateable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, the object can be replicated.

  • Default value: false

IsReportingEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 33.0

  • Description: If true, the data in the custom object’s records is available for reporting. Can be enabled only on custom objects.

  • Default value: false

IsRetrieveable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, the object can be retrieved.

  • Default value: false

IsSearchLayoutable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, you can customize search layouts for this object.

  • Default value: false

IsSearchable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, records of this object are indexed for search.

  • Default value: false

IsSubtype 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 39.0

  • Default value: false

IsTriggerable 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

  • Introduced: API version 35.0

  • Description: If true, you can use triggers with this object.

  • Default value: false

IsWorkflowEnabled 

  • Type: boolean

  • Required: No

  • Properties: Defaulted on create, Filter, Group, Sort

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

  • Default value: false

KeyPrefix 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 33.0

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

Label 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: The label for this object, used in the compact layout and in the user’s language locale.

MasterLabel 

  • Type: string

  • Required: No

  • 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: complexvalue

  • Required: No

  • 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

  • Required: No

  • 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: url

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 34.0

  • Description: The URL used when editing a new standard or custom record. Corresponds to the urlNew field on DescribeSobjectResult.

PluralLabel 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Description: The plural version of the object’s Label.

PublisherId 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 34.0

  • Description: ID of the publisher associated with this object.

QualifiedApiName 

  • Type: string

  • Required: No

  • 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.

RecordTypesSupported 

  • Type: complexvalue

  • Required: No

  • Properties: Nillable

  • Introduced: API version 35.0

  • Description: Represents the record types defined for this object. Use only in subqueries.

RunningUserEntityAccessId 

  • Type: string

  • Required: No

  • Properties: Filter, Group, Nillable, Sort

  • Introduced: API version 34.0

  • Description: ID of the UserEntityAccess record associated with this object. 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.

FieldDetails
recordTypeInfos- Type: RecordTypeInfo - 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.

FieldDetails
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.