# legacydeveloper Api Tooling - Full Documentation
# AccountPlanObjMeasCalcCond
Represents a field and value combination for filtering records to include in the calculation of a sales account plan objective measure’s current value. This object is available in API version 63.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
## Fields
| Field | Details |
| --- | --- |
| AccountPlanObjMeasCalcDefId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The account plan objective measure calculation definition where this criteria is used.
This field is a relationship field.
Relationship Name
AccountPlanObjMeasCalcDef
Relationship Type
Master-detail
Refers To
AccountPlanObjMeasCalcDef (the master object)
|
| FieldName |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
A field on the calculation definition’s TargetObject that you want to filter by. Fields on the Campaign, Case, Contact, or Opportunity objects are supported.
|
| Operation |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The logical operator for matching records with the specified field value.
Possible values are:
- Contains—contains
- Equals—equals
- GreaterOrEqual—greater or equal
- GreaterThan—greater than
- LessOrEqual—less or equal
- LessThan—less than
- NotContain—does not contain
- NotEqual—not equal to
- StartsWith
|
| Value |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The value to match for the specified field.
|
# AccountPlanObjMeasCalcDef
Represents the metadata associated with an account plan objective measure calculation definition. An account plan objective measure calculation definition contains a target object, rollup field, and logic for calculating the current value of a sales account plan objective measure. This object is available in API version 63.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access AccountPlanObjMeasCalcDef components, enable account plans.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A summary of the calculation definition that’s visible to users when they select the definition for an account plan objective measure.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for the AccountPlanObjMeasCalcDef object. In the UI, this field is Label.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| RollupType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The method for calculating the account plan objective measure’s current value from records that match the calculation definition and any optional conditions.
Possible values are:
- Count
- Max—Maximum
- Min—Minimum
- Sum
|
| Status |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the status of the calculation definition. Only active calculation definitions are available for users to select when they specify an account plan objective measure.
Possible values are:
- Active
- Draft
- Inactive
|
| TargetField |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The field on TargetObject to use for calculating the account plan objective measure’s current value. Rollup fields on the Campaign, Case, Contact, or Opportunity object are supported.
In Setup, this field’s label is Rollup Field.
|
| TargetObject |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The object to use for calculating the account plan objective measure’s current value.
Possible values are:
- Campaign
- Case
- Contact
- Opportunity
|
| ValueType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The data type for calculating the account plan objective measure’s current value.
Possible values are:
- Currency
- Number
- Percent
|
# ActivationPlatform
Represents metadata about ActivationPlatform, such as platform name, delivery schedule, output format, and destination folder. This object is available in API version 54.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Nillable
Description
The description of the activation platform.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the ActivationPlatform object.
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.
|
| Enabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether this Activation Platform is enabled (true) or not (false).
The default value is false.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated ActivationPlatform in Metadata API. The full name can include a namespace prefix.
|
| IncludeSegmentNames |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether to include the segment name in the metadata (true) or not (false).
The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the ActivationPlatform. The value for this field is the language value of the org.
|
| LogoUrl |
Type
textarea
Properties
Nillable
Description
Logo for the activation channel destination.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the ActivationPlatform. In the UI, this field is ActivationPlatform.
|
| Metadata |
Type
[ActivationPlatform](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_activationplatform.htm)
Properties
Create, Nillable, Update
Description
Provides access to the associated type.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the ActivationPlatform.
|
| Notes |
Type
textarea
Properties
Nillable
Description
Notes for this ActivationPlatform.
|
| OutputFormat |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The output format of the file.
Possible values are:
- CSV
- JSON
- PARQUET
|
| OutputGrouping |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The grouping of the output.
Possible values are:
- PER\_ACCOUNT
- PER\_SEGMENT
- PER\_USER
|
| PeriodicRefreshFrequency |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The full refresh frequency in days for incremental refresh mode. Available in API version 54.0 and later.
Possible values are:
- REFRESH\_30 - Full refresh every 30 days
- REFRESH\_60 - Full refresh every 60 days
This field applies only when outputGrouping is PER\_SEGMENT and refreshMode is INCREMENTAL.
|
| RefreshFrequency |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates how often the activation platform accepts data delivery in hours.
Possible values are:
- TWENTY\_FOUR
|
| RefreshMode |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The mode of refreshing the file.
Possible values are:
- INCREMENTAL
|
# AdvAccountForecastSet
Represents an advanced account forecast set. This object is available in API version 56.0 and later.

#### 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.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| AccountFieldName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The field name of the account in an advanced account forecast fact record.
|
| CalculationFrequency |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The frequency at which a forecast set is recalculated automatically.
Possible values are:
- Monthly
- Quarterly
- Weekly
- Yearly
The default value is Monthly.
|
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
The description for AdvAccountForecastSet.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the advanced account forecast set record.
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| ForecastFactObjectName |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The API name of the entity used as a facts table.
|
| ForecastPeriodGroupId |
Type
reference
Properties
Filter, Group, Sort
Description
The Id of the forecast period group associated with an advanced account forecast.
This field is a relationship field.
Relationship Name
ForecastPeriodGroup
Relationship Type
Lookup
Refers To
AdvAcctForecastPeriodGroup
|
| ForecastQuantityFieldName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The field name of the forecast quantity in an advanced account forecast fact record.
|
| ForecastRevenueFieldName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The field name of the forecast revenue in an advanced account forecast record.
|
| ForecastSetFieldName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The field name of the forecast set in an advanced account forecast record.
|
| ForecastSetName |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The name of the forecast set in an advanced account forecast record.
|
| ForecastStatusFieldName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The field name of the status in an advanced account forecast fact record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated advanced account forecast fact record in Metadata API.
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.
|
| GenerationDpeDefNameId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The name of the Data Processing Engine definition that generates advanced account forecast fact records.
This field is a relationship field.
Relationship Name
GenerationDpeDefName
Relationship Type
Lookup
Refers To
BatchCalcJobDefinition
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language for AdvAccountForecastSet.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the AdvAccountForecastSet record.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The AdvAccountForecastSet’s metadata.
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.
|
| PeriodFieldName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The field name of the period in an advanced account forecast fact record.
|
| RecalculateDpeDefNameId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The Data Processing Engine definition used to recalculate advanced account forecast fact records.
This field is a relationship field.
Relationship Name
RecalculateDpeDefName
Relationship Type
Lookup
Refers To
BatchCalcJobDefinition
|
| RegenerationDpeDefNameId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The Data Processing Engine definition used to regenerate advanced account forecast fact records.
This field is a relationship field.
Relationship Name
RegenerationDpeDefName
Relationship Type
Lookup
Refers To
BatchCalcJobDefinition
|
| RolloverDpeDefNameId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The Data Processing Engine definition used to generate rollover advanced account forecast fact records.
This field is a relationship field.
Relationship Name
RolloverDpeDefName
Relationship Type
Lookup
Refers To
BatchCalcJobDefinition
|
| RolloverFrequency |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The frequency of rollover of an advanced account forecast records.
Possible values are:
- Monthly
- Quarterly
- Weekly
- Yearly
The default value is Monthly.
|
| Status |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Specifies the status of an advanced account forecast set.
Possible values are:
- Active
- Inactive
|
# AdvAcctForecastMeasureDef
Represents information about the measures to be displayed in the advanced account forecasts grid for the forecast set. This object is available in API version 57.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| AdvAccountForecastSetId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The forecast set associated with the advanced account forecast metric. This can also reference the SalesAgreementSettings.
This field is a relationship field.
Relationship Name
AdvAccountForecastSet
Relationship Type
Lookup
Refers To
AdvAccountForecastSet
|
| AdvAcctForecastMeasureDefName |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Name of the advanced account forecast measure definition.
|
| AggregationType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The type of aggregation used for calculating advanced account forecast values.
Possible values are:
- AVERAGE—Average
- MAXIMUM—Maximum
- MINIMUM—Minimum
- SUM—Sum
The default value is SUM.
|
| ComputationMethod |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The method used for calculating advanced account forecast values.
Possible values are:
- CUSTOM—Custom
- DATA\_PROCESSING\_ENGINE\_DEFINITION—Data Processing Engine definition
- FORMULA—Formula
The default value is DATA\_PROCESSING\_ENGINE\_DEFINITION.
|
| ForecastDataMeasureName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Field of the facts object used for this measure.
|
| ForecastMeasureName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name for the measure to show on UI.
|
| ForecastMeasureType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the measure type used for the generated advanced forecast values.
Possible values are:
- QUANTITY—Quantity
- REVENUE—Revenue
The default value is QUANTITY.
|
| IsAdjustmentTracked |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the adjustments made to the advanced account forecast values for this metric are tracked.
The default value is false.
|
# AdvAcctFrcstDisplayGroup
Represents information about the groups for the advanced account forecast set measures or dimensions. This object is available in API version 57.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| AdvAccountForecastSetId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The forecast set associated with the advanced account forecast display group.
This field is a polymorphic relationship field.
Relationship Name
AdvAccountForecastSet
Relationship Type
Lookup
Refers To
AdvAccountForecastSet, SalesAgreementSettings
|
| AdvAcctFrcstDisplayGroupName |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the advanced account forecast group.
|
| GroupType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the category for the display group.
Possible value is:
MEASURE
|
| IsDefault |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the display group is the default group.
The default value is false.
|
| UserProfileId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The profile for which the display group is applicable.
This field is a relationship field.
Relationship Name
UserProfile
Relationship Type
Lookup
Refers To
Profile
|
# AIApplication
Represents an instance of a machine learning (ML) application.Available in API version 50.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow as a DeveloperName is generated for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated AIApplication type in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the AIApplication.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Label that identifies the AIApplication throughout the Salesforce user interface.
|
| Metadata |
Type
[AIApplication](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_aiapplication.htm)
Properties
Create, Nillable, Update
Description
The AIApplication’s metadata.
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.
|
| MLPredictionDefinitions |
Type
[QueryResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_queryresult.htm#topic-title)
Properties
Nillable
Description
A list of machine learning (ML) prediction definition records associated with an ML application record.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| Status |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Nillable, Sort
Description
The status of the application. Valid values are:
- Disabled—0
- Draft—3
- Enabled—1
- Migrated—2
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Nillable, Sort
Description
The type of application. Valid values are:
- PredictionBuilder—5
- RecommendationBuilder—14
|
# AIApplicationConfig
Represents additional prediction information related to a machine learning (ML) application.Available in API version 50.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| ApplicationId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the parent ML application.
This is a relationship field.
Relationship Name
Application
Relationship Type
Lookup
Refers To
AIApplication
|
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow as a DeveloperName is generated for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated AIApplicationConfig type in Metadata API. The full name can include a namespace prefix.
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.
|
| IsInsightReasonEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Nillable, Sort
Description
When true, generates the predictors or field values that were used to generate the prediction value.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the AIApplicationConfig.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Label that identifies the AIApplicationConfig throughout the Salesforce user interface.
|
| Metadata |
Type
[AIApplicationConfig](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_aiapplicationconfig.htm)
Properties
Create, Nillable, Update
Description
The AIApplicationConfig’s metadata.
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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| Rank |
Type
int
Properties
Defaulted on create, Filter, Group, Nillable, Sort
Description
Reserved for future use.
|
| ScoringMode |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Nillable, Sort
Description
Frequency with which the prediction scores are written back. Valid values are:
- Batch
- OnDemand
- Streaming
|
# Allow Metadata Save Operations to Complete with Returned Warnings
When a metadata save operation generates warnings, the default behavior of Tooling API is to fail the operation without returning the warnings. For objects in both the Tooling API and Metadata API WSDLs, you can indicate that you want error-free save operations to complete successfully, returning any warnings.
To indicate that you want error-free save operations to complete successfully, returning any generated warnings, specify the header ignoreSaveWarnings in your HTTP request.
There is also a SOAP header in Tooling API for saving metadata even if warnings are returned. See [MetadataWarningsHeader](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/api_tooling_soap_header_metadatawarningsheader.htm "Allows you to save metadata even if warnings are returned.").
# AnimationRule
Represents criteria for determining when an animation is displayed to Path users. Available in API version 46.0 and later.

#### 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.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| AnimationFrequency |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. The frequency with which an animation is displayed when a user selects the designated picklist values in a path. Valid values are:
- always
- often
- sometimes
- rarely
A value of always triggers an animation every time. The values often, sometimes, and rarely trigger an animation progressively less frequently.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort, Update
Description
The developer name for the animation rule.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the animation rule is active (true) or not (false).
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language in the user’s personal settings.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label for the animation rule.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
AnimationRule metadata from the mns namespace.
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.
|
| RecordTypeContext |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
An enum to track whether this AnimationRule applies to all record types for the associated sObject, or only to a single or main record type. Valid values are All, Custom, and Master.
|
| RecordTypeId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The record type selected for the sObject in which the animation is displayed.
|
| SobjectType |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
The object on which the animation rule is run.
|
| TargetField |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
Name of the field used to determine when to display an animation.
|
| TargetFieldChangeToValues |
Type
string
Properties
Filter, Group, Sort
Description
Values used to determine when to display an animation. When a user selects a value in TargetField that matches a value stored in TargetFieldChangeToValues, the animation is displayed.
|
# ApexClass
Represents the saved copy of an Apex class. ApexClass uses the cached version of the class unless one is unavailable. Available from API version 28.0 or later.
To edit, save, or compile Apex classes, use [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm "Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer.").
## Supported SOAP API Calls
create(), delete(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search(), update(), upsert()
## Supported REST API HTTP Methods
GET, POST, PATCH, DELETE
## Fields
| ApiVersion |
- Type
- double
- Properties
- Create, Filter, Sort, Update
- Description
- The API version for this class. Every class has an API version specified at
creation.
|
| Body |
- Type
- textarea
- Properties
- Create, Nillable, Update
- Description
- The data for the Apex class.
|
| BodyCrc |
- Type
- double
- Properties
- Create, Defaulted on create, Filter, Nillable, Sort, Update
- Description
- The CRC (cyclic redundancy check) of the class or trigger file
|
| FullName |
- Type
- string
- Properties
- Group, Nillable
- Description
- The full name of the associated object in the Metadata API. Use to avoid race
conditions on create, before you have IDs.
- 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.
|
| IsValid |
- Type
- boolean
- Properties
- Create, Defaulted on create, Filter, Group, Sort, Update
- Description
- Indicates whether any dependent metadata has changed since the
class was last compiled (true) or not (false). The default value is false.
|
| LengthWithoutComments |
- Type
- int
- Properties
- Create, Filter, Group, Sort, Update
- Description
-
Length of the class without comments.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| Metadata |
- Type
- ApexClassMetadata
- Properties
- Create, Nillable, Update
- Description
- An object that describes the version, status, and packaged versions of the
corresponding Apex class.
- 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.
|
| Name |
- Type
- string
- Properties
- Create, Filter, Group, Sort, Update
- Description
-
Name of the class.
Limit: 255 characters
|
| 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 the following 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 only set for objects that are part of an
installed managed package. There’s no namespace prefix for all other objects.
|
| Status |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort, Update
- Description
- The current status of the Apex class. Valid values are:
-
Active—The class is active.
-
Deleted—The class is marked for
deletion. This status is useful for managed packages, because it allows a class to be
deleted when a managed package is updated.
-
Inactive—This option is unused and is
only supported for ApexTrigger. For more information, see the Metadata API Developer
Guide.
|
| SymbolTable |
- Type
- SymbolTable
- Properties
- Nillable
- Description
- A complex type that represents all user-defined tokens in the Body of an ApexClass,
ApexClassMember, or ApexTriggerMember and their associated line and column locations
within the Body.
This field is null if the symbol table can’t be created due to
reasons such as:
- Another Apex compilation is in progress and holding a compile lock
- The Apex class is in an invalid state and can’t compile successfully
|
## Usage
To retrieve information about an Apex class, create an ApexClass object that references it. For example code, see [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_soap_overview.htm).
To edit, save, or compile Apex classes, use [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm "Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer.").

#### Note
If there Isn't a cached version of [SymbolTable](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_symboltable.htm "A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body."), it’s compiled in the background and the query can take longer than expected. The SymbolTable returned from ApexClass doesn't contain references. To retrieve a SymbolTable with references, use [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm "Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer.").
Although Apex classes and triggers have the Create and Update field properties, a runtime exception occurs if you try to create, update, or delete them using the API. Instead, use the Salesforce Extensions for Visual Studio Code or the Ant Migration Tool to create or update Apex classes or triggers. Apex classes and triggers can’t be created, edited, or deleted in a production org. See [Deploying Apex](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_deploying.htm).
# ApexClassMember
Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
As of the Spring '20 release, to access ApexClassMember you must have both the View All Data and the Author Apex user permissions.
## Fields
| Field Name | Details |
| --- | --- |
| Body |
Type
string
Properties
Create, Update
Description
The data for the Apex class.
The Body field is the only field you can update() or PATCH.
|
| Content |
Type
string
Properties
None
Description
A string representation of ApexClassMetadata that lists the version, status, and packaged versions of the corresponding Apex class.
|
| ContentEntityId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to an Apex class.
There can be only one ContentEntityId per ApexClassMember, otherwise, an error is reported.
This field is required if FullName is not specified.
|
| FullName |
Type
string
Properties
Group, Nillable
Description
The full name of the associated object in the Metadata API. Use to avoid race conditions on create, before you have IDs.
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.
This field is required if ContentEntityId is not specified.
|
| LastSyncDate |
Type
dateTime
Properties
Filter, Sort
Description
The date and time that this ApexClassMember Body was replicated from the underlying Apex class.
When you deploy a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together."), this value is compared with the LastModifiedDate of the underlying Apex class. If LastSyncDate is older than LastModifiedDate, the deployment fails with an error.
|
| Metadata |
Type
ApexClassMetadata
Properties
None
Description
An object that describes the version, status, and packaged versions of the corresponding Apex class.
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.
|
| MetadataContainerId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") or [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
As part of a successful deployment, this field is reset from the ID of the deployed [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") to the ID of the corresponding [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
This field is required.
|
| SymbolTable |
Type
[SymbolTable](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_symboltable.htm "A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body.")
Properties
Nillable
Description
A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body.
This field is null if the symbol table can’t be created. A symbol table can’t be created if the content referenced by the ContentEntityId field doesn’t use a symbol table. Compiler errors for the last deployment of the [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") in the MetadataContainerId field also prevent a symbol table from being created.
|
## Usage
To edit, save, or compile an Apex class, create an ApexClassMember object that references it.

#### Note
Once an ApexClassMember is successfully deployed in a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together."), the MetadataContainerId is changed to the ID of the [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization."), and the ApexClassMember can’t be modified or reused.
Apex classes are often dependent on each other for functionality. For example, a method in one class can call a method in another class. If source file A is dependent on modified source file B and you try to save and compile source file A before you’ve saved the changes to source file B, the compiler throws an error. To successfully save and compile a group of related source files, put the corresponding ApexClassMember and ApexTriggerMember objects in a single MetadataContainer object.
Each ApexClassMember object can only refer to a single MetadataContainer object. Multiple ApexClassMember objects can refer to the same MetadataContainer object.
# ApexCodeCoverage
Represents code coverage test results for an Apex class or trigger. Available in Tooling API version 29.0 and later.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API HTTP Methods
Query, GET
## Special Access Rules
In API version 49.0 and later, users must have the View Setup and Configuration and View All Data permissions to access this object.
## Fields
| Field | Details |
| --- | --- |
| ApexTestClassId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the test class.
|
| TestMethodName |
Type
string
Properties
Filter, Group, Sort
Description
The name of the test method.
|
| ApexClassorTriggerId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the class or trigger under test.
|
| NumLinesCovered |
Type
int
Properties
Filter, Group, Sort
Description
The number of covered lines.
|
| NumLinesUncovered |
Type
int
Properties
Filter, Group, Sort
Description
The number of uncovered lines.
|
| Coverage |
Type
complexvalue
Properties
None
Description
Two lists of integers. The first is the covered lines, and the second is the list of uncovered lines. If a line is missing from both lists, the line isn’t executable and doesn’t require coverage.
Coverage includes these fields:
- coveredLines
- namespace
- uncoveredLines
|
## Usage
To query for code coverage, specify an Apex class, test class, or both. The returned JSON or XML object contains two lists of integers: one for covered and one for uncovered lines.
The following example SOQL query retrieves code coverage results for a specific class or trigger covered by a specific test class:
SELECT Coverage
FROM ApexCodeCoverage
WHERE ApexClassOrTriggerId = ‘01pD000000066GR’
AND ApexTestClassId = ‘01pD000000064pu’
For per-class code coverage, the query is:
SELECT Coverage
FROM ApexCodeCoverage
WHERE ApexClassOrTriggerId = ‘01pD000000066GR’

#### Note
In this case, multiple rows can be returned, since there could be multiple test classes that cover the same test class.
Coverage is returned as two lists of integers. The first is the covered lines, and the second is the list of uncovered lines. If a line is missing from both lists, the line isn’t executable and doesn’t require coverage. For example, if the covered lines are 2, 9, and 11, and uncovered lines are 3, 4, 5, and 6; the result is: {2,9,11},{3,4,5,6}. The missing lines (1, 7, 8 and 10) aren’t executable.
Code coverage percentage is a simple calculation of the number of covered lines divided by the sum of the number of covered lines and the number of uncovered lines. For example, to calculate code coverage percentage in SOAP:
ApexCodeCoverage acc = null; //Query for an ApexCodeCoverage object
Coverage coverage = acc.coverage;
int\[\] covered = coverage.coveredLines;
int\[\] uncovered = coverage.uncoveredLines;
int percent = covered.length / (covered.length + uncovered.length);
System.out.println("Total class coverage is " + percent + "%.");

#### Note
If a single deployment has over 2,000 Apex classes, ApexCodeCoverage objects for the deployed classes are deleted even if the deployment fails or is rolled back. ApexCodeCoverageAggregate objects aren’t affected.
# ApexCodeCoverageAggregate
Represents aggregate code coverage test results for an Apex class or trigger. Available in Tooling API version 29.0 and later.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API HTTP Methods
Query, GET, DELETE
## Special Access Rules
In API version 49.0 and later, users must have the View Setup and Configuration permission to access this object.
## Fields
| Field | Details |
| --- | --- |
| ApexClassorTriggerId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the class or trigger under test.
|
| NumLinesCovered |
Type
int
Properties
Filter, Group, Sort
Description
The number of covered lines.
|
| NumLinesUncovered |
Type
int
Properties
Filter, Group, Sort
Description
The number of uncovered lines.
|
| Coverage |
Type
complexvalue
Properties
None
Description
Two lists of integers. The first is the covered lines, and the second is the list of uncovered lines. If a line is missing from both lists, the line isn’t executable and doesn’t require coverage.
Coverage includes the following fields:
- coveredLines
- namespace
- uncoveredLines
|
## Usage
To query for aggregate code coverage, specify an Apex test class. The returned JSON or XML object will contain two lists of integers: one for covered and one for uncovered lines. For examples, see [ApexCodeCoverage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverage.htm "Represents code coverage test results for an Apex class or trigger. Available in Tooling API version 29.0 and later.").
# ApexComponent
Represents the saved copy of a Visualforce component. ApexComponent uses the cached version of the class unless one is unavailable. Available from API version 28.0 or later.
To edit, save, or compile Visualforce components, use [ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm "Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.").
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
## Usage
To retrieve information about a Visualforce component, create an ApexComponent object that references it. For example code, see [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_soap_overview.htm).
To edit, save, or compile Visualforce components, use [ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm "Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.").
# ApexComponentMember
Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
As of Spring ’20 and later, to access ApexComponentMember, users must have both the View All Data and Customize Application permissions.
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| Body |
Type
string
Properties
Create, Update
Description
The data for the Visualforce component.
The Body field is the only field you can update() or PATCH.
|
| Content |
Type
string
Properties
None
Description
A string representation of ApexComponentMetadata that lists the version, status, and packaged versions of the corresponding Visualforce component.
|
| ContentEntityId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to a Visualforce component.
There can be only one ContentEntityId per ApexComponentMember, otherwise, an error is reported.
This field is required if FullName is not specified.
|
| FullName |
Type
string
Properties
Group, Nillable
Description
The full name of the associated object in the Metadata API. Use to avoid race conditions on create, before you have IDs.
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.
This field is required if ContentEntityId is not specified.
|
| LastSyncDate |
Type
dateTime
Properties
Filter, Sort
Description
The date that this ApexComponentMember Body was replicated from the underlying entity.
When you deploy a MetadataContainer, this value is compared with the LastModifiedDate of the underlying Visualforce component. If LastSyncDate is older than LastModifiedDate, the deployment fails with an error.
|
| Metadata |
Type
ApexComponentMetadata
Properties
None
Description
An object that describes the version, status, and packaged versions of the corresponding Visualforce component.
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.
|
| MetadataContainerId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") or [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
As part of a successful deployment, this field is reset from the ID of the deployed [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") to the ID of the corresponding [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
This field is required.
|
## Usage
To edit, save, or compile a Visualforce component, create an ApexComponentMember object that references it. To create a Visualforce component, use the REST API or the Metadata API.

#### Note
Once an ApexComponentMember is successfully deployed in a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together."), the MetadataContainerId is changed to the ID of the [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization."), and the ApexComponentMember can’t be modified or reused.
Visualforce pages and components are often dependent on each other for functionality. To successfully save and compile a group of related source files, put the corresponding ApexComponentMember and ApexPageMember objects in a single MetadataContainer object.
Each ApexComponentMember object can only refer to a single MetadataContainer object. Multiple ApexComponentMember objects can refer to the same MetadataContainer object.
#### See Also
- [REST API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/ "REST API Developer Guide - HTML (New Window)")
- [Metadata API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/ "Metadata API Developer Guide - HTML (New Window)")
# ApexEmailNotification
Stores a Salesforce user ID or external email address to be notified when unhandled Apex exceptions occur. This object is available in API version 35.0 and later.

#### Important
System-generated emails from an unverified email-sending domain aren’t delivered, even if the From email address is verified. See [Requirements to Send Email from Salesforce](https://help.salesforce.com/s/articleView?id=xcloud.security_email_verification_requirements.htm&language=en_US&type=5).

#### Note
Each ApexEmailNotification contains either an email or a user ID, but not both.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(),upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Email |
Type
string
Properties
Create, Filter, Group, idLookup, Nillable, Sort, Update
Description
The external email address to which the notification is sent. Mutually exclusive with the UserId field.
|
| UserId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the user to which the notification is sent. Mutually exclusive with the Email field.
This is a relationship field.
Relationship Name
User
Relationship Type
Lookup
Refers To
User
|
## Usage
To notify users of your org at the email addresses they have on record, use UserId. To notify external users or alternate email addresses, use Email.
#### See Also
- [_Apex Developer Guide_: Exceptions in Apex](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_exception_definition.htm#unhandled_exception_emails "Apex Developer Guide: Exceptions in Apex - HTML (New Window)")
# ApexExecutionOverlayAction
Specifies an Apex code snippet or SOQL query to execute at a specific line of code in an Apex class or trigger. Optionally, generates a heap dump.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| ActionScript |
Type
string
Properties
Create, Nillable, Update
Description
The Apex code or SOQL query to run when execution reaches the line in the Apex class or trigger at the specified iteration. Results are included in the heap dump file.
|
| ActionScriptType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Indicates whether the ActionScript is written in Apex or SOQL. Valid values are:
- None
- Apex
- SOQL
If a value for this field is not supplied, or if an empty string is supplied for this value, a default value of None is used.
|
| ExecutableEntityId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the Apex class or trigger being executed.
This field is required if ExecutableEntityName is not provided. If both ExecutableEntityName and ExecutableEntityId are provided, ExecutableEntityId takes precedence.
|
| ExecutableEntityName |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The Apex typeRef of the class or trigger being executed. A type lookup is done and, if the typeRef is valid, ExecutableEntityId is set to the ID of the class or trigger.
For a trigger, the typeRef must begin with the SFDC trigger prefix \_\_sfdc\_trigger/. For example, \_\_sfdc\_trigger/YourTriggerName or \_\_sfdc\_trigger/YourNamespace/YourTriggerName.
For a class, use the format YourClass, YourClass$YourInnerClass, or YourNamespace/YourClass$YourInnerClass.
This field is required if ExecutableEntityId is not provided. If both ExecutableEntityName and ExecutableEntityId are provided, ExecutableEntityId takes precedence.
|
| ExpirationDate |
Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The expiration date of the overlay action.
If no value is provided for this field, a default value of 30 minutes from the current time is used.
|
| IsDumpingHeap |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether a heap dump is generated (true) or not (false). To execute the ActionScript without generating a heap dump, set this field to false.
If no value for this field is provided, a default value of true is used.
|
| Iteration |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of times to execute the specified line execute before the heap dump is generated. This field is required.
|
| Line |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The line number of the heap dump marker. This field is required.
|
| ScopeId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The user who executed the action.
If no value for this field is provided, ScopeId is set to your UserId value.
|
## Usage
When you are troubleshooting a runtime issue, use ApexExecutionOverlayAction to overlay a diagnostic output on an Apex class or trigger without compromising production code. Use the resulting ApexExecutionOverlayResult to find out more about the state of a variable or of the database or to test your code using specific conditions.
# ApexExecutionOverlayResult
Represents the result from the Apex code snippet or SOQL query defined in the associated ApexExecutionOverlayAction, and the resulting heap dump if one was returned. Available from API version 28.0 or later.
## Supported SOAP Calls
query(), retrieve(), delete()
## Supported REST HTTP Methods
Query, GET, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| ActionScript |
Type
string
Properties
Nillable
Description
The Apex code or SOQL query that was run.
|
| ActionScriptType |
Type
picklist
Properties
Filter, Group, Sort, Nillable
Description
Indicates whether the ActionScript is written in Apex or SOQL. Valid values are:
- None
- Apex
- SOQL
|
| ApexResult |
Type
[ApexResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexresult.htm "A complex type that represents the result of Apex code executed as part of an ApexExecutionOverlayAction , returned in an ApexExecutionOverlayResult. Available from API version 28.0 or later.")
Properties
Nillable
Description
A complex type that represents the result of Apex code executed as part of an ApexExecutionOverlayAction, returned in an ApexExecutionOverlayResult.
|
| ExpirationDate |
Type
dateTime
Properties
Filter, Sort
Description
The expiration date of the overlay action.
|
| HeapDump |
Type
[HeapDump](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_heapdump.htm "A complex type that represents a heap dump in an ApexExecutionOverlayResult object. Available from API version 28.0 or later.")
Properties
Nillable
Description
A complex type that represents a heap dump in an ApexExecutionOverlayResult object. You can only have a single row when using HeapDump in SOQL. To select only one row, you can use a LIMIT=1 clause in your SOQL query, or you can list multiple rows for the user and have them select the row to inspect.
|
| IsDumpingHeap |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether a heap dump was generated (true) or not (false).
|
| Iteration |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of times the specified line should execute before the heap dump is generated. This field is required.
|
| Line |
Type
int
Properties
Filter, Group, Sort, Nillable
Description
The line number of the checkpoint.
|
| SOQLResult |
Type
[SOQLResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_soqlresult.htm "A complex type that represents the result of a SOQL query in an ApexExecutionOverlayResult object. Available from API version 28.0 or later.")
Properties
Nillable
Description
A complex type that represents the result of a SOQL query in an ApexExecutionOverlayResult object.
|
| UserId |
Type
reference
Properties
Filter, Group, Sort,
Description
The user who executed the action.
|
## Usage
When you are troubleshooting a runtime issue, you often want to find out more about the state of a variable or the state of the database, or create a specific condition to test your code. Use [ApexExecutionOverlayAction](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayaction.htm "Specifies an Apex code snippet or SOQL query to execute at a specific line of code in an Apex class or trigger. Optionally, generates a heap dump.") to overlay a diagnostic output on an Apex class or trigger without compromising production code, and use ApexExecutionOverlayResult to navigate the results.
# ApexLog
Represents a debug log.
To retrieve a raw log by ID, use the REST resource: /sobjects/**ApexLog/id**/Body/. (Available from API version 28.0 or later.)
## Supported SOAP Calls
delete(), describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
Query, GET, DELETE
## Fields
| Field | Details |
| --- | --- |
| Application |
Type
textarea
Properties
Filter, Group, Sort
Description
This value depends on the client type that triggered the log or heap dump.
- For API clients, this value is the client ID.
- For browser clients, this value is Browser.
This field is required.
|
| DurationMilliseconds |
Type
int
Properties
Filter, Group, Sort
Description
The duration of the transaction in milliseconds. This field is required.
|
| Location |
Type
picklist
Properties
Filter, Group, Sort, Nillable, Restricted picklist
Description
Specifies the location of the origin of the log or heap dump. Values are:
- Monitoring—Generated as part of debug log monitoring, and visible to all administrators. These types of logs are maintained for seven days or until a user deletes them.
- SystemLog—Generated as part of system log monitoring, and visible only to you. These types of logs are maintained for 24 hours or until the user clears them.
|
| LogLength |
Type
int
Properties
Filter, Group, Sort
Description
Length of the log or heap dump in bytes. This field is required.
|
| LogUserId |
Type
reference
Properties
Filter, Group, Sort, Nillable
Description
ID of the user whose actions triggered the debug log or heap dump.
|
| Operation |
Type
string
Properties
Filter, Group, Sort
Description
Name of the operation that triggered the debug log or heap dump, such as APEXSOAP, Apex Sharing Recalculation, and so on. This field is required.
|
| Request |
Type
string
Properties
Filter, Group, Sort
Description
Request type. Values are:
- API—Request came from an API.
- Application—Request came from the Salesforce user interface.
This field is required.
|
| RequestIdentifier |
Type
string
Properties
Filter, Group, Sort
Description
The unique identifier of the request that triggered the debug log. Use this request identifier to correlate multiple debug logs triggered by the same request.
|
| | |
| StartTime |
Type
dateTime
Properties
Filter, Sort
Description
Start time of the transaction. This field is required.
|
| Status |
Type
string
Properties
Filter, Group, Sort
Description
Status of the transaction. This value is either Success, or the text of an unhandled Apex exception. This field is required.
|
# ApexOrgWideCoverage
Represents code coverage test results for an entire organization. Available in Tooling API version 29.0 and later.
## Supported SOAP API Calls
describeSObjects(), delete(), query(), retrieve()
## Supported REST API HTTP Methods
Query, GET, DELETE
## Special Access Rules
In API version 49.0 and later, users must have the View Setup and Configuration permission to access this object.
## Fields
| Field | Details |
| --- | --- |
| PercentCovered |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The percentage of the code in the organization that is covered by tests.
|
# ApexPage
Represents the saved copy of a Visualforce page. ApexPage uses the cached version of the page unless one is unavailable. Available from API version 28.0 or later.
To edit, save, or compile Visualforce pages, use [ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm "Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer.").
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), search(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| ApiVersion |
- Type
- double
- Properties
- Create, Filter, Sort, Update
- Description
- The API version for the page. Every page has an API version specified at
creation. If the API version is less than 15.0 and
ApiVersion is not specified, ApiVersion defaults to 15.0. This field is
available in API version 30.0 and later.
|
| ControllerKey |
- Type
- string
- Properties
- Create, Filter, Group, Nillable, Sort, Update
- Description
- The identifier for the controller associated with this page:
- If ControllerType is set to Standard or StandardSet, this value is the name of the sObject that
defines the controller.
- If ControllerType is set to Custom, this value is the name of the Apex
class that defines the controller.
This field is available in API version 30.0 and later.
|
| ControllerType |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort, Update
- Description
- The type of controller associated with this Visualforce page. Possible
values include:
-
Not Specified, for pages defined
with neither a standardController nor
a controller attribute on the <apex:page> tag
-
Standard, for pages defined with
the standardController attribute on
the <apex:page> tag
-
StandardSet, for pages defined
using the standardController and
recordSetVar attribute on the
<apex:page> tag
-
Custom, for pages defined with the
controller attribute on the <apex:page> tag
This field is available in API version 30.0 and later.
|
| Description |
- Type
- textarea
- Properties
- Create, Filter, Nillable, Sort, Update
- Description
- Description of the Visualforce page. This field is available in API version
30.0 and later.
|
| FullName |
- Type
- string
- Properties
- Create, Filter, Group, idLookup, Sort, Update
- Description
- The full name of the associated metadata object in Metadata API.
- 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. This field
is available in API version 36.0 and later.
|
| IsAvailableInTouch |
- Type
- boolean
- Properties
- Create, Defaulted on create, Filter, Group, Sort, Update
- Description
- Indicates if Visualforce tabs associated with the Visualforce page can be
used in the Salesforce mobile app (true)
or not (false). (Use of this field for
Salesforce Touch is deprecated.) This field is available in API version 30.0
and later.
Standard object tabs that are overridden with a Visualforce page
aren’t supported in the Salesforce mobile app, even if you set this field
for the page. The default Salesforce app page for the object is displayed
instead of the Visualforce page.
|
| IsConfirmationTokenRequired |
- Type
- boolean
- Properties
- Create, Defaulted on create, Filter, Group, Sort, Update
- Description
- Indicates whether GET requests for the
page require a CSRF confirmation token (true) or not (false). This
field is available in API version 30.0 and later.
If you change this
field’s value from false to true, links to the page require a CSRF token
to be added to them, or the page will be inaccessible.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| Markup |
- Type
- textarea
- Properties
- Create, Update
- Description
- The Visualforce markup, HTML, Javascript, and any other Web-enabled code
that defines the content of the page. This field is available in API version
30.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Create, Filter, Group, Sort, Update
- Description
- The text used to identify the Visualforce page in the Setup area of
Salesforce. The Label is Label. This field is available in API version
30.0 and later.
|
| Metadata |
- Type
- mns:ApexPage
- Properties
- Create, Nillable, Update
- Description
- The Visualforce page metadata. 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. This field is available in API version 36.0 and
later.
|
| Name |
- Type
- string
- Properties
- Create, Filter, Group, idLookup, Sort, Update
- Description
- Required. Name of this Visualforce page. This field is available in API
version 30.0 and later.
|
| NamespacePrefix |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The namespace prefix that is associated with this object. Each Developer
Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set
to the namespace prefix of the org for all objects that support it, unless
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 org of the package
developer.
- In orgs that are not Developer Edition orgs,
NamespacePrefix is set only for objects that are
part of an installed managed package. All other objects have no namespace
prefix.
- This field is available in API version 30.0 and later.
|
## Usage
To retrieve information about a Visualforce page, create an ApexPage object that references it. For example code, see [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_soap_overview.htm).
To edit, save, or compile Visualforce pages, use [ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm "Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer.").
# ApexPageInfo
Represents metadata about a Visualforce page. This object is available in API version 37.0 and later.
To edit, save, or compile Apex pages, use [ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm "HTML (New Window)"). To load markup for a page or other fields, use [ApexPage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpage.htm "HTML (New Window)").
## Supported SOAP API Calls
describeSObjects(), query()
## Supported REST API HTTP Methods
Query, GET
## Special Access Rules
As of Summer '20 and later, this object can only be accessed by users who can view a particular Visualforce page, and users with the View Setup and Configuration permission.
## Fields
| Field | Details |
| --- | --- |
| ApexPageId |
Type
reference
Properties
Filter, Group, Sort
Description
ID for the Visualforce page.
|
| ApiVersion |
Type
double
Properties
Filter, Sort
Description
The API version for the page. Every page has an API version specified at creation. If the API version is less than 15.0 and ApiVersion is not specified, ApiVersion defaults to 15.0.
|
| Description |
Type
textarea
Properties
Filter, Nillable, Sort
Description
Description of the Visualforce page.
|
| DurableId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
For internal use only.
|
| IsAvailableInTouch |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
This field indicates whether Visualforce tabs associated with the Visualforce page can be used in the Salesforce app (true) or not (false). The default value is false.
|
| IsShowHeader |
Type
boolean
Properties
Filter, Group, Nillable, Sort
Description
The showHeader value for the Visualforce page. This will be “unknown” if the Visualforce page uses an expression to compute showHeader. The default setting is true.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The text used to identify the Visualforce page in the Setup area of Salesforce.
|
| Name |
Type
string
Properties
Filter, Group, Sort
Description
Developer name of the Visualforce page.
|
| NameSpacePrefix |
Type
string
Properties
Filter, Nillable, Sort
Description
The namespace prefix associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, the namespace prefix is set to the namespace prefix of the org for all objects that support it.

#### Note
If an object is in an installed managed package, the object has the namespace prefix of the installed managed package. This field’s value is the namespace prefix of the Developer Edition org of the package developer.
- In non-Developer Edition orgs, NameSpacePrefix is set only for objects that are part of an installed managed package. Objects outside of an installed managed package don't have a namespace prefix.
|
ApexPageInfo
## Usage
To retrieve labels and names for Visualforce pages, query the object that references it. For sample code, see [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/intro_soap_overview.htm "HTML (New Window)").
# ApexPageMember
Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
As of Spring ’20 and later, to access ApexPageMember, users must have both the View All Data and Customize Application permissions.
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| Body |
Type
string
Properties
Create, Update
Description
The data for the Visualforce page.
The Body field is the only field you can update() or PATCH.
|
| Content |
Type
string
Properties
None
Description
A string representation of ApexPageMetadata that lists the version, status, and packaged versions of the corresponding Visualforce page.
|
| ContentEntityId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to a Visualforce page.
There can be only one ContentEntityId per ApexPageMember, otherwise, an error is reported.
This field is required if FullName is not specified.
|
| FullName |
Type
string
Properties
Group, Nillable
Description
The full name of the associated object in the Metadata API. Use to avoid race conditions on create, before you have IDs.
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.
This field is required if ContentEntityId is not specified.
|
| LastSyncDate |
Type
dateTime
Properties
Filter, Sort
Description
The date that this ApexPageMember Body was replicated from the underlying entity.
When you deploy a MetadataContainer, this value is compared with the LastModifiedDate of the underlying Visualforce page. If LastSyncDate is older than LastModifiedDate, the deployment fails with an error.
|
| Metadata |
Type
ApexPageMetadata
Properties
None
Description
An object that describes the version, status, and packaged versions of the corresponding Visualforce page.
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.
|
| MetadataContainerId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") or [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
As part of a successful deployment, this field is reset from the ID of the deployed [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") to the ID of the corresponding [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
This field is required.
|
## Usage
To edit, save, or compile a Visualforce page, create an ApexPageMember object that references it. To create a Visualforce page, use the REST API or the Metadata API.

#### Note
Once an ApexPageMember is successfully deployed in a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together."), the MetadataContainerId is changed to the ID of the [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization."), and the ApexPageMember can’t be modified or reused.
Visualforce pages and components are often dependent on each other for functionality. To successfully save and compile a group of related source files, put the corresponding ApexPageMember and ApexComponentMember objects in a single MetadataContainer object. Use ContainerAsyncRequest to send the MetadataContainer to the application server.
Each ApexPageMember object can only refer to a single MetadataContainer object. Multiple ApexPageMember objects can refer to the same MetadataContainer object.
#### See Also
- [REST API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/ "REST API Developer Guide - HTML (New Window)")
- [Metadata API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/ "Metadata API Developer Guide - HTML (New Window)")
# ApexResult
A complex type that represents the result of Apex code executed as part of an ApexExecutionOverlayAction , returned in an ApexExecutionOverlayResult. Available from API version 28.0 or later.
## Fields
| Field | Details |
| --- | --- |
| apexError |
Type
string
Description
The error text returned if the execution was unsuccessful.
|
| apexExecutionResult |
Type
ExecuteAnonymousResult
Description
The structured result returned from a successful execution.
ExecuteAnonymousResult includes the following fields:
- column
- compileProblem
- compiled
- exceptionMessage
- exceptionStackTrace
- line
- success

#### Note
ExecuteAnonymousResult is outside the current execution context and does not provide access to variables in the heap.
|
## Usage
Overlay Apex on checkpoints to capture structured debugging information. If your SOQL query may return more than one record when dealing with complex types, select only one row. For example, you can use a LIMIT=1 clause in your SOQL query, or you can list rows for the user and have them select the row to inspect.
# ApexTestQueueItem
Represents a single Apex class in the Apex job queue. Available in API version 30.0 and later.
## Supported SOAP API Calls
create(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH
## Fields
| Field Name | Details |
| --- | --- |
| ApexClassId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The Apex class whose tests are to be executed.
This field can't be updated.
|
| Status |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort, Update
Description
The status of the test. Valid values are:
- Queued
- Processing
- Aborted
- Completed
- Failed
- Preparing
- Holding
To abort a class that is in the Apex job queue, perform an update operation on the ApexTestQueueItem object and set its Status field to Aborted.
|
| ExtendedStatus |
Type
string
Properties
Filter, Nillable, Sort
Description
The pass rate of the test run.
For example: “(4/6)”. This means that four out of a total of six tests passed.
If the class fails to execute, this field contains the cause of the failure.
|
| ParentJobId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Read-only. Points to the AsyncApexJob that represents the entire test run.
If you insert multiple Apex test queue items in a single bulk operation, the queue items will share the same parent job. This means that a test run can consist of the execution of the tests of several classes if all the test queue items are inserted in the same bulk operation.
|
| ShouldSkipCodeCoverage |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether to opt out of collecting code coverage information during Apex test runs. Available in API version 43.0 and later.
|
| TestRunResultID |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the associated [ApexTestRunResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestrunresult.htm "Contains summary information about all the test methods that were run in a particular Apex job. Available from API version 37.0 or later.") object. Available in API version 37.0 and later.
|
## Usage
Insert an ApexTestQueueItem object to place its corresponding Apex class in the Apex job queue for execution. The Apex job executes the test methods in the class.
The example RunTestListener.java class subscribes to the TestResult system topic and prints out the test results using ApexTestQueueItem and ApexTestResult. The example makes these assumptions:
- You have already set up a Java client application for Streaming API. This example uses the org.cometd.client.BayeuxClient created in the Java Client code example in the [_Streaming API Developer Guide_](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_streaming.meta/api_streaming/).
- You have a logged in com.sforce.soap.tooling.SoapConnection. For examples, see the [_SOAP API Developer Guide_](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/).
- The logged-in user has the View All Data permission to subscribe to the TestResult system topic, /systemTopic/TestResult.

#### Note
Instead of Streaming API, you can use Pub/Sub API to subscribe to events. Based on gRPC API and HTTP/2, Pub/Sub API delivers binary event messages in the Apache Avro format and is more efficient than Streaming API. See the [Pub/Sub API Documentation](https://developer.salesforce.com/docs/platform/pub-sub-api/overview "HTML (New Window)").
As an alternative to using ApexTestQueueItem, you can run test methods using the Salesforce CLI commands. See [Run Apex Tests](https://developer.salesforce.com/docs/atlas.en-us.264.0.sfdx_dev.meta/sfdx_dev/sfdx_dev_testing.htm "HTML (New Window)") in the Salesforce DX Developer Guide.

#### Note
The RunTestListener.java class must be instantiated after the Streaming API handshake. For example:
SoapConnection toolingConn; //Already set and logged in
BayeuxClient client; //Already set and logged in
//Listen on the handshake event
boolean handshaken = client.waitFor(10 \* 1000, BayeuxClient.State.CONNECTED);
if (!handshaken) {
System.out.println("Failed to handshake: " + client);
System.exit(1);
}
**final RunTestListener = null;**
client.getChannel(Channel.META\_SUBSCRIBE).addListener(
new ClientSessionChannel.MessageListener() {
public void onMessage(ClientSessionChannel channel, Message message) {
boolean success = message.isSuccessful();
if (success) {
//Replace with your own classes and suites
String apexTestClassId1 = "01pD00000007M0CIAU";
String apexTestClassId2 = "01pD00000007NqtIAE";
String apexTestSuiteId1 = "05FD00000004CDBMA2";
String apexTestClassName1 = "Test\_MyClass";
String apexTestSuiteName1 = "TestSuite\_MySuite";
**listener.runTests(new String\[\]{apexTestClassId1, apexTestClassId2},
new String\[\]{apexTestSuiteId1}, 1, new String\[\]{apexTestClassName1},
new String\[\]{apexTestSuiteName1});**
}
}
};
);
//This will subscribe to the TestRun system topic
**listener = new RunTestListener(client, toolingConn);**
import java.util.HashMap;
import org.apache.commons.lang3.StringUtils;
import org.cometd.bayeux.Message;
import org.cometd.bayeux.client.ClientSessionChannel;
import org.cometd.bayeux.client.ClientSessionChannel.MessageListener;
import org.cometd.client.BayeuxClient;
import com.sforce.soap.tooling.ApexTestQueueItem;
import com.sforce.soap.tooling.ApexTestResult;
import com.sforce.soap.tooling.QueryResult;
import com.sforce.soap.tooling.SObject;
import com.sforce.soap.tooling.SoapConnection;
import com.sforce.soap.tooling.TestLevel;
import com.sforce.ws.ConnectionException;
public class RunTestListener {
private static final String CHANNEL = "/systemTopic/TestResult";
private SoapConnection conn;
public RunTestListener(BayeuxClient client, SoapConnection conn) {
this.conn = conn;
System.out.println("Subscribing for channel: " + CHANNEL);
client.getChannel(CHANNEL).subscribe(new MessageListener() {
@Override
public void onMessage(ClientSessionChannel channel, Message message) {
HashMap data = (HashMap) message.getData();
HashMap sobject = (HashMap) data.get("sobject");
String id = (String) sobject.get("Id");
System.out.println("\\nAysncApexJob " + id);
getTestQueueItems(id);
}
});
}
public void runTests(String\[\] apexTestClassIds, String\[\] apexTestSuiteIds,
Integer maxFailedTests, String\[\] apexTestClassNames, String\[\] apexTestSuiteNames) {
// All parameters are required
if (apexTestClassIds == null && apexTestSuiteIds == null
&& apexTestClassNames == null && apexTestSuiteNames == null) {
System.out.println("No tests to run");
return;
}
String classIds = StringUtils.join(apexTestClassIds,", ");
String suiteIds = StringUtils.join(apexTestSuiteIds,", ");
String classNames = StringUtils.join(apexTestClassNames,", ");
String suiteNames = StringUtils.join(apexTestSuiteNames,", ");
String tests = null;
Boolean skipCodeCover = false;
try {
System.out.println("Running async test run");
conn.runTestsAsynchronous(classIds, suiteIds, maxFailedTests,
TestLevel.RunSpecifiedTests, classNames, suiteNames, tests, skipCodeCover);
} catch (ConnectionException e) {
e.printStackTrace();
}
}
public void createAndRunTestsNode(String apexTestClassName,
String apexTestClassId, String\[\] apexTestMethods) {
//Currently, the array size of TestNode objects must be 1
//Provide a non-null class name or a non-null class ID
if (apexTestClassName != null && apexTestClassId != null) {
System.out.println("Specify a class name OR a class ID");
return;
} else if (apexTestClassName == null && apexTestClassId == null) {
System.out.println("No tests to run");
return;
}
TestsNode thisTestsNode = new TestsNode();
thisTestsNode.setClassName(apexTestClassName);
thisTestsNode.setClassId(apexTestClassId);
thisTestsNode.setTestMethods(apexTestMethods);
TestsNode\[\] tests = new TestsNode\[\] { thisTestsNode };
try {
System.out.println("Running async test run");
conn.runTestsAsynchronous(null, null, -1, null, null, null, tests);
} catch (ConnectionException e) {
e.printStackTrace();
}
}
private void getTestQueueItems(String asyncApexJobId) {
try {
QueryResult res = conn
.query("SELECT Id, Status, ApexClassId FROM ApexTestQueueItem
WHERE ParentJobId = '" + asyncApexJobId + "'");
if (res.getSize() > 0) {
for (SObject o : res.getRecords()) {
ApexTestQueueItem atqi = (ApexTestQueueItem) o;
System.out.println("\\tApexTestQueueItem - "+atqi.getStatus());
if (atqi.getStatus().equals("Completed")) {
getApexTestResults(atqi.getId());
}
}
} else {
System.out.println("No queued items for " + asyncApexJobId);
}
} catch (ConnectionException e) {
e.printStackTrace();
}
}
private void getApexTestResults(String apexTestQueueItemId) {
try {
QueryResult res = conn
.query("SELECT StackTrace,Message, AsyncApexJobId,MethodName, Outcome,ApexClassId
FROM ApexTestResult WHERE QueueItemId = '" + apexTestQueueItemId + "'");
if (res.getSize() > 0) {
for (SObject o : res.getRecords()) {
ApexTestResult atr = (ApexTestResult) o;
System.out.println("\\tTest result for "
+ atr.getApexClassId() + "." + atr.getMethodName());
String msg = atr.getOutcome().equals("Fail") ? " - "
+ atr.getMessage() + " " + atr.getStackTrace() : "";
System.out.println("\\t\\tTest " + atr.getOutcome() + msg);
}
} else {
System.out.println("No Test Results for " + apexTestQueueItemId);
}
} catch (ConnectionException e) {
e.printStackTrace();
}
}
}
# ApexTestResult
Represents the result of an Apex test method execution. Available from API version 30.0 or later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update()
## Supported REST API HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| ApexClassId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The Apex class whose test methods were executed.
|
| ApexLogId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Points to the ApexLog for this test method execution if debug logging is enabled; otherwise, null.
|
| ApexTestRunResultId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the [ApexTestRunResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestrunresult.htm "Contains summary information about all the test methods that were run in a particular Apex job. Available from API version 37.0 or later.") that represents the entire test run.
|
| AsyncApexJobId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Points to the AsyncApexJob that represents the entire test run.
This field points to the same object as ApexTestQueueItem.ParentJobId.
|
| IsTestSetup |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates if the results are for a test setup method. The default is false.
|
| Message |
Type
string
Properties
Create, Filter, Nillable, Sort, Update
Description
The exception error message if a test failure occurs; otherwise, null.
|
| MethodName |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The name of the test method.
|
| Outcome |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The result of the test. Valid values are:
- Pass
- Fail
- CompileFail
- Skip
|
| QueueItemId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Points to the [ApexTestQueueItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestqueueitem.htm "Represents a single Apex class in the Apex job queue. Available in API version 30.0 and later.") which is the class that this test method is part of.
|
| RunTime |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The time it took the test method to run, in seconds.
|
| StackTrace |
Type
string
Properties
Create, Filter, Nillable, Sort, Update
Description
The Apex stack trace if the test failed; otherwise, null.
|
| TestCategory |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The category of the test class. This field is available in API version 65.0 and later.
Possible values are:
- Apex–run Apex tests.
- Flow–run flow tests.
- IntegrationTest–run integration tests. This field is available as a Developer Preview in API version 67.0 and later. See [Apex Integration Tests for Agentforce and Data 360 Services (Developer Preview)](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_testing_integration_testing.htm) in the Apex Developer Guide.
|
| TestName |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The name of the test class. This field is available in API version 65.0 and later.
|
| TestNamespace |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The namespace of the test class.
Apex tests are in the default namespace, so theTestNamespace value for Apex tests is null.
Flow tests are in the [FlowTesting](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_namespace_flowtesting.htm) namespace. If a flow test is in a namespaced package or org, the TestNamespace value is FlowTesting..
This field is available in API version 65.0 and later.
|
| TestTimestamp |
Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The start time of the test method.
|
## Usage
You can query the fields of the ApexTestResult record that corresponds to a test method executed as part of an Apex class execution.
Each ApexTestResult record represents a single test method execution. For example, if an Apex test class contains six test methods, six ApexTestResult records are created. These records are in addition to the ApexTestQueueItem record that represents the Apex class.
Each ApexTestResult record has an associated ApexTestResultLimits record, which captures the Apex limits used during execution of the test method.
For example code, see [ApexTestQueueItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestqueueitem.htm "Represents a single Apex class in the Apex job queue. Available in API version 30.0 and later.").
# ApexTestResultLimits
Captures the Apex test limits used for a particular test method execution. An instance of this object is associated with each ApexTestResult object. Available from API version 37.0 or later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update()
## Supported REST API HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| ApexTestResultId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the associated ApexTestResult object.
|
| AsyncCalls |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of asynchronous calls made during the test run.
|
| Callouts |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of callouts made during the test run.
|
| Cpu |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The amount of CPU used during the test run, in milliseconds.
|
| Dml |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of DML statements made during the test run.
|
| DmlRows |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of rows accessed by DML statements during the test run.
|
| Email |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of email invocations made during the test run.
|
| LimitContext |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Indicates whether the test run was synchronous or asynchronous.
|
| LimitExceptions |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Indicates whether your org has any limits that differ from the default limits.
|
| MobilePush |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of mobile push calls made during the test run.
|
| QueryRows |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of rows queried during the test run.
|
| Soql |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of SOQL queries made during the test run.
|
| Sosl |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The number of SOSL queries made during the test run.
|
## Usage
The ApexTestResultLimits object is populated for each test method execution, and it captures the limits used between the Test.startTest() and Test.stopTest() methods. If startTest() and stopTest() aren’t called, limits usage is not captured. Note the following:
- The associated test method must be run asynchronously.
- Limits for asynchronous Apex operations (batch, scheduled, future, and queueable) that are called within test methods are not captured.
- Limits are captured only for the default namespace.
# ApexTestRunResult
Contains summary information about all the test methods that were run in a particular Apex job. Available from API version 37.0 or later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update()
## Supported REST API HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| AsyncApexJobId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The parent Apex job ID for the result.
|
| ClassesCompleted |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The total number of classes executed during the test run.
|
| ClassesEnqueued |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The total number of classes enqueued during the test run.
|
| EndTime |
Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The time at which the test run ended.
|
| IsAllTests |
Type
boolean
Properties
Create, Filter, Group, Sort, Update
Description
Indicates whether all Apex test classes were run.
|
| JobName |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
**Reserved for future use.**
|
| MethodsCompleted |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The total number of methods completed during the test run. This value is updated after each class is run.
|
| MethodsEnqueued |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The total number of methods enqueued for the test run. This value is initialized before the test runs.
|
| MethodsFailed |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The total number of methods that failed during this test run. This value is updated after each class is run.
|
| Source |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The source of the test run, such as the Developer Console.
|
| StartTime |
Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The time at which the test run started.
|
| Status |
Type
picklist
Properties
Create, Filter, Group, Sort, Update
Description
The status of the test run. Can be one of these values:
- Queued
- Preparing
- Processing
- Aborted
- Completed
- Failed
|
| TestSetupTime |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The time it took the setup methods to run, in milliseconds.
|
| TestTime |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The time it took the test to run, in milliseconds.
|
| UserId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The user who ran the test run.
|
# ApexTestSuite
Represents a suite of Apex classes to include in a test run. A TestSuiteMembership object associates each class with the suite. Available in the ens namespace in Tooling API version 36.0 and later. Also, available in the mns namespace in Tooling API version 38.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields (ens Namespace)
| Field Name | Description |
| --- | --- |
| TestSuiteName |
Type
string
Properties
Create, Filter, Group, Sort, Unique, Update
Description
The name of the Apex test suite. This label appears in the user interface.
This value is case-sensitive and must be unique.
|
## Fields (mns Namespace)
| Field Name | Field Type | Description |
| --- | --- | --- |
| testClassName | string\[\] | A list of Apex test classes, specified by name, to include in this test suite. |
## Usage
Insert a TestSuiteMembership object using an API call to associate an Apex class with an ApexTestSuite object. (ApexTestSuite and TestSuiteMembership aren’t editable through Apex DML.) To remove the class from the test suite, delete the TestSuiteMembership object. If you delete an Apex test class or test suite, all TestSuiteMembership objects that contain that class or suite are deleted.
The following SOQL query returns the membership object that relates this Apex class to this test suite.
SELECT Id FROM TestSuiteMembership WHERE ApexClassId = '01pD0000000Fhy9IAC'
AND ApexTestSuiteId = '05FD00000004CDBMA2'
# ApexTrigger
Represents the saved copy of an Apex trigger. ApexTrigger uses the cached version of the class unless one is unavailable. Available from API version 28.0 or later.
To edit, save, or compile Apex triggers, use [ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm "Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer.").
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| ApiVersion |
Type
double
Properties
Create, Filter, Sort, Update
Description
The API version for this trigger. Every trigger has an API version specified at creation.
|
| Body |
Type
string
Properties
Create, Nillable, Update
Description
The Apex trigger definition. Limit: 1 million characters.
|
| BodyCrc |
Type
double
Properties
Create, Defaulted on create, Filter, Nillable, Sort, Update
Description
The CRC (cyclic redundancy check) of the class or trigger file.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The Id of the EntityDefinition object associated with this object.
|
| IsValid |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether any dependent metadata has changed since the trigger was last compiled (true) or not (false).
|
| LengthWithoutComments |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
Length of the trigger without comments.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
ApexTriggerMetadata
Properties
None
Description
An object that describes the version, status, and packaged versions of the corresponding Apex trigger.
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.
|
| Status |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the Apex trigger. The following string values are valid:
- Active—The trigger is active.
- Inactive—The trigger is inactive, but not deleted.
- Deleted—The trigger is marked for deletion. This status is useful for managed packages, because it allows a class to be deleted when a managed package is updated.

#### Note
Apex triggers cannot be deactivated using Tooling API. You can deactivate Apex triggers using Metadata API. Consider using custom metadata records and include logic in your trigger to bypass trigger configuration logic. For more information, see the [Metadata API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/ "HTML (New Window)").
|
| UsageAfterDelete |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is an after delete trigger (true) or not (false).
|
| UsageAfterInsert |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is an after insert trigger (true) or not (false).
|
| UsageAfterUndelete |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is an after undelete trigger (true) or not (false).
|
| UsageAfterUpdate |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is an after update trigger (true) or not (false).
|
| UsageBeforeDelete |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is a before delete trigger (true) or not (false).
|
| UsageBeforeInsert |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is an before insert trigger (true) or not (false).
|
| UsageBeforeUpdate |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is an before update trigger (true) or not (false).
|
| UsageIsBulk |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether the trigger is defined as a bulk trigger (true) or not (false).
|
## Usage
To retrieve information about an Apex trigger, create an ApexTrigger object that references it. For example code, see [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_soap_overview.htm).
To edit, save, or compile Apex triggers, use [ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm "Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer.").
Although Apex classes and triggers have the Create and Update field properties, a runtime exception occurs if you try to create, update, or delete them using the API. Instead, use the Salesforce Extensions for Visual Studio Code or the Ant Migration Tool to create or update Apex classes or triggers. Apex classes and triggers can’t be created, edited, or deleted in a production org. See [Deploying Apex](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_deploying.htm).
# ApexTriggerMember
Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
As of the Spring '20 release, to access ApexTriggerMember you must have both the View All Data and the Author Apex user permissions.
## Fields
| Field Name | Details |
| --- | --- |
| Body |
Type
string
Properties
Create, Update
Description
The data for the Apex trigger.
The Body field is the only field you can update() or PATCH.
|
| Content |
Type
string
Properties
None
Description
A string representation of ApexTriggerMetadata that lists the version, status, and packaged versions of the corresponding Apex trigger.
|
| ContentEntityId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to an Apex trigger.
There can be only one ContentEntityId per ApexTriggerMember, otherwise, an error is reported.
This field is required if FullName is not specified.
|
| FullName |
Type
string
Properties
Group, Nillable
Description
The full name of the associated object in the Metadata API. Use to avoid race conditions on create, before you have IDs.
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.
This field is required if ContentEntityId is not specified.
|
| LastSyncDate |
Type
dateTime
Properties
Filter, Sort
Description
The date that this ApexTriggerMember Body was replicated from the underlying entity.
When you deploy a MetadataContainer, this value is compared with the LastModifiedDate of the underlying Apex trigger. If LastSyncDate is older than LastModifiedDate, the deployment fails with an error.
|
| Metadata |
Type
ApexTriggerMetadata
Properties
None
Description
An object that describes the version, status, and packaged versions of the corresponding Apex trigger.
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.
|
| MetadataContainerId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") or [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
As part of a successful deployment, this field is reset from the ID of the deployed [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") to the ID of the corresponding [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
This field is required.
|
| SymbolTable |
Type
[SymbolTable](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_symboltable.htm "A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body.")
Properties
Nillable
Description
A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body.
This field is null if the symbol table cannot be created. A symbol table can’t be created if the content referenced by the ContentEntityId field doesn’t use a symbol table. Compiler errors for the last deployment of the [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") in the MetadataContainerId field also prevent a symbol table from being created.
|
## Usage
To edit, save, or compile an Apex trigger, create an ApexTriggerMember object that references it. To create a trigger, use REST API or the Metadata API.

#### Note
Once an ApexTriggerMember is successfully deployed in a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together."), the MetadataContainerId is changed to the ID of the [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization."), and the ApexTriggerMember can’t be modified or reused.
Apex triggers and classes are often dependent on each other for functionality. For example, a method in one class can call a method in another class. If source file A is dependent on modified source file B and you try to save and compile source file A before you’ve saved the changes to source file B, the compiler throws an error. To successfully save and compile a group of related source files, put the corresponding ApexTriggerMember and ApexClassMember objects in a single MetadataContainer object. Use ContainerAsyncRequest to send the MetadataContainer to the application server.
Each ApexTriggerMember object can only refer to a single MetadataContainer object. Multiple ApexTriggerMember objects can refer to the same MetadataContainer object.
#### See Also
- [REST API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/ "REST API Developer Guide - HTML (New Window)")
- [Metadata API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/ "Metadata API Developer Guide - HTML (New Window)")
# API End-of-Life Policy
See which Tooling REST and SOAP API versions are supported, unsupported, or unavailable.
Salesforce is committed to supporting each API version for a minimum of 3 years from the date of first release. To improve the quality and performance of the API, versions that are over 3 years old sometimes are no longer supported.
Salesforce notifies customers who use an API version scheduled for deprecation at least 1 year before support for the version ends.
If you request any resource or use an operation from a retired API version, REST API returns the 410:GONE error code.
If you request any resource or use an operation from a retired API version, SOAP API returns 500:UNSUPPORTED\_API\_VERSION error code.
To identify requests made from old or unsupported API versions, use the [API Total Usage](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_apitotalusage.htm) event type.
# ApiFault Element
An ApiFault element contains information about a fault that occurs when processing a service request.
The ApiFault element has the following properties.
## exceptionCode
- **Type**: fns:ExceptionCode
- **Description**: A code that characterizes the exception. The full list of exception codes is available in the Tooling API WSDL file for your org.
## exceptionMessage
- **Type**: string
- **Description**: The message text associated with the exception code.
## extendedErrorDetails
- **Type**: tns:ExtendedErrorDetails
- **Description**: Reserved for future use.
## upgradeURL
- **Type**: string
- **Description**: A URL giving the location for more information about the upgrade.
## upgradeMessage
- **Type**: string
- **Description**: Message text describing why an upgrade is needed.
## Tooling API Faults
The following API fault elements represent all the Tooling API faults that can occur. In API version 37.0 and later, these elements are in the Tooling API fns namespace (fault.tooling.soap.sforce.com).
- **ApiQueryFault**: The row and column numbers identifying where the problem occurred.
- **InvalidFieldFault**: An invalid field in a retrieve() or query() call.
- **InvalidIdFault**: A specified ID was invalid in a setPassword() or resetPassword() call.
- **InvalidNewPasswordFault**: The new password specified doesn’t conform to the org’s password requirements. Password requirements can include length, character mix, reuse of old passwords, and so on.
- **InvalidOldPasswordFault**: The password specified doesn’t match the old password.
- **InvalidQueryLocatorFault**: A problem in the queryLocator passed in a queryMore() call.
- **InvalidSObjectFault**: An invalid sObject in a describeSObject(), describeSObjects(), describeLayout(), describeDataCategoryGroups(), describeDataCategoryGroupStructures(), create(), update(), retrieve(), or query() call.
- **LoginFault**: An error occurred during the login() call.
- **MalformedQueryFault**: A problem in the queryString passed in a query() call.
- **MalformedSearchFault**: A problem in the search passed in a search() call.
- **UnexpectedErrorFault**: An unexpected error occurred. The error is not associated with any other API fault.
# AssignmentRule
Don’t use this object.
This object is exposed in API version 35.0, however AssignmentRule is reserved for future use.
# AuraDefinition
Represents an Aura component definition, such as component markup, a client-side controller, or an event. Available in API version 32.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| AuraDefinitionBundleId |
- Type
- reference
- Properties
- Create, Filter, Group, Sort
- Description
- The ID of the
bundle containing the definition. A bundle contains
a Lightning definition and all its related
resources.
|
| DefType |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist,
Sort, Update
- Description
-
The definition type. Valid
values are:
-
APPLICATION — Lightning Aura Components
app
-
CONTROLLER — client-side controller
-
COMPONENT
— component markup
-
EVENT —
event definition
-
HELPER —
client-side helper
-
INTERFACE
— interface definition
-
RENDERER
— client-side renderer
-
STYLE —
style (CSS) resource
-
PROVIDER
— reserved for future use
-
MODEL —
deprecated, do not use
-
TESTSUITE
— reserved for future use
-
DOCUMENTATION — documentation
markup
-
TOKENS —
tokens collection
-
DESIGN —
design definition
-
SVG — SVG
graphic resource
-
MODULE —
reserved for future use
|
| Format |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort, Update
- Description
- The format of the definition. Valid values are:
-
XML for
component markup
-
JS for
JavaScript code
-
CSS for
styles
-
TEMPLATE_CSS reserved for future
use
-
SVG for an
SVG graphic
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| Source |
- Type
- textarea
- Properties
- Create, Update
- Description
- The contents of the
definition. This is all the markup or code for the
definition.
|
## Usage
For more information, see the [Lightning Aura Components Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.lightning.meta/lightning/ "HTML (New Window)").
# AuraDefinitionBundle
Represents a Lightning Aura component definition bundle, such as a component or application bundle. A bundle contains a Lightning Aura component definition and all its related resources. Available in API version 32.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| ApiVersion |
- Type
- double
- Properties
- Filter, Sort
- Description
- The API version for this bundle. Every bundle has an API version specified
at creation.
|
| Description |
- Type
- textarea
- Properties
- Filter, Group, Sort
- Description
- The text description of the bundle. Maximum size of 255 characters.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The unique name of the record in the API. This name can contain only
underscores and alphanumeric characters, and must be unique in your org. It
must begin with a letter, not include spaces, not end with an underscore, and
not contain two consecutive underscores. This field is automatically generated
but you can supply your own value if you create the record using the
API.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The unique name used as the AuraDefinitionBundle identifier for API access.
The fullName can contain only underscores and
alphanumeric characters. It must be unique, begin with a letter, not include
spaces, not end with an underscore, and not contain two consecutive
underscores.
- 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.
|
| Language |
- Type
- picklist
- Properties
- Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
- Description
- The language of the MasterLabel.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Create, Filter, Group, Sort, Update
- Description
- Master label for the Lightning bundle. This internal label doesn’t get
translated.
|
| Metadata |
- Type
- mns:AuraDefinitionBundle
- Properties
- Create, Nillable, Update
- Description
- The AuraDefinitionBundle metadata.
- 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, Sort
- Description
- The namespace prefix that is associated with this object. Each Developer
Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set
to the namespace prefix of the org for all objects that support it, unless
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 org of the package
developer.
- In orgs that are not Developer Edition orgs,
NamespacePrefix is set only for objects that are
part of an installed managed package. All other objects have no namespace
prefix.
|
## Usage
For more information, see the [Lightning Aura Components Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.lightning.meta/lightning/ "HTML (New Window)").
# AuthorizedEmailDomain
Represents an authorized domain for email verification. This object is available in API version 64.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To create or modify authorized email domains, users must have the Email Administration permission.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the record in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated but you can supply your own value if you create the record using the API.
Note these important considerations.
- When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance slows down while Salesforce generates one for each record.
- Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| DomainName |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The unique domain name.
Example
example.com
|
| Id |
Type
ID
Properties
Create, Filter, Group, Sort
Description
The ID of this authorized email domain. The ID starts with the string 1TB.
Example
1TB00000000000B
|
| IsDomainOwnershipVerified |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether Salesforce successfully verified ownership of this domain (true) or not (false).
The default value is false.
|
| IsEmailChangeVerfRqr |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether email address verification is required for updated user email addresses, user return email addresses, and organization-wide email addresses on this domain (true) or not (false).
The default value is true.
When IsDomainOwnershipVerified is false, then IsEmailChangeVerfRqr has no effect.
Available in API version 68.0 and later.
|
| IsEmailVerificationRequired |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether address verification is required before Salesforce can send email for new users and new organization-wide email addresses with email addresses on this domain (true) or not (false).
The default value is true.
When IsDomainOwnershipVerified is false, IsEmailVerificationRequired has no effect.
When IsDomainOwnershipVerified is true, IsEmailVerificationRequired and IsEmailChangeVerfRqr determine when address verification is required for updated user email addresses, user return email addresses, and organization-wide email addresses on this domain.
- If IsEmailVerificationRequired and IsEmailChangeVerfRqr are true, then email address verification is always required before Salesforce can send email for users and organization-wide email addresses with email addresses on this domain.
- If IsEmailVerificationRequired is true and IsEmailChangeVerfRqr is false, then address verification isn’t required for new user email addresses, new user return email addresses, and new organization-wide email addresses on this domain. However, address verification is required when an existing user email address, user return email address, or organization-wide email address is updated to an address on this domain.
- If IsEmailVerificationRequired and IsEmailChangeVerfRqr are false, then address verification is never required for user email addresses, user return email addresses, and organization-wide email addresses on this domain.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies the language of the authorized email domain. The value for this field is the language value of the org.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Master label for this object. This display value is the internal label that is not translated.
|
## Usage
Domain verification is required to bypass email verification for an authorized email domain.
To verify ownership of an authorized email domain, first create an AuthorizedEmailDomain with IsDomainOwnershipVerified set to false.
Then determine the verification code for the authorized email domain. Use the format orgId\=AuthorizedEmailDomainId where orgId is the 15-digit ID for your Salesforce org and AuthorizedEmailDomainId is the authorized email domain Id. You can also find the verification code on the Authorized Email Domains page in Setup.
Add a DNS TXT record for the DomainName with or without \_sfdv. as a prefix that points to a verification code.
Here’s an example of a DNS TXT record for an authorized email domain with a DomainName of example.com and an AuthorizedEmailDomainId of 1TB00000000000B in an org with ID 00D000000000P08.
Name TTL CLASS TYPE VALUE
--------------------------------------------------------------------
example.com. 600 IN TXT "00D000000000P08=1TB00000000000B”

#### Note
This example is a raw TXT record. The trailing dot in example.com. tells the DNS server that the name is absolute, stopping the provider from appending anything to the domain name. Check with your DNS provider to determine how to enter the name in their system to get this result.
Here’s an example of a DNS TXT record for the same domain with the \_sfdv. prefix.
Name TTL CLASS TYPE VALUE
--------------------------------------------------------------------
\_sfdv.example.com. 600 IN TXT "00D000000000P08=1TB00000000000B”
If a DNS TXT record already exists for DomainName and \_sfdv.DomainName, you can create a second TXT record for one of those names or you can append the verification code to the value list of an existing TXT record. To append a value, separate the values with a semicolon (;).

#### Note
Changes to DNS can take up to 48 hours to propagate across the internet.
To start the domain verification process after the required DNS TXT record exists, set IsDomainOwnershipVerified to true. If that verification process succeeds, IsDomainOwnershipVerified remains true. Otherwise, an error is returned and IsDomainOwnershipVerified is set to false.
For more information and examples, see [Set Up an Authorized Email Domain](https://help.salesforce.com/s/articleView?id=xcloud.security_email_auth_domain_setup.htm&type=5&language=en_US) in Salesforce Help.
# AutoResponseRule
Specifies whether the autoresponse rule is active (true).
Available in API version 35.0 and later.
## Supported SOAP API Calls
query()
## Supported REST API HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| Active |
Type
boolean
Properties
Defaulted on create Filter, Group, Sort
Description
If true, the autoresponse rule is active.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
Represents the object associated with this autoresponse rule.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Represents the name of the autoresponse rule.
|
## Usage
Use this object to query whether an autoresponse rule is active.
SELECT Name, Active
FROM AutoResponseRule
More information about the autoresponse rule is available by querying the metadata type AutoResponseRules.
# BrandingSet
Represents a set of branding properties for an Experience Builder site, as defined in the Theme panel in Experience Builder. This object is available in API version 40.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Nillable, Sort
Description
A description of the branding set.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Unique name of the branding set.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the branding set in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the branding set.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The manageable state of the branding set that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The user interface name of the branding set.
|
| Metadata |
Type
[BrandingSet](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_brandingset.htm)
Properties
Create, Nillable, Update
Description
The branding set's metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| Type |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of branding set.
Possible values are:
- b2b:branding-b2b
- b2c-lite-storefront:branding
- citizen:branding-citizen
- cpt:branding-cpt
- cypress:branding-cypress
- ember:branding-ember
- es-channel-menu
- helpCenter:branding-helpCenter
- identity:branding-identity
- insurance:branding-insurance
- jepson:branding-jepson
- koa:branding-koa
- kokua:branding-kokua
- login:branding-login
- login:branding-login2
- lpi:branding-lpi
- mfg:branding-mfg
- mortgage:branding-mortgage
- napili:branding-napili
- napili:branding-napili-merged
- prm:branding-prm-merged
- service:branding-service
- starter:branding-starter
- stella:branding-stella
- survey
- talon-template-byo:branding
- webster:branding-webster
|
## Usage
To work with branding set properties, use [BrandingSetProperty](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_brandingsetproperty.htm "Represents a branding set property in the Theme panel in Experience Builder. This object is available in API version 40.0 and later.").
# BrandingSetProperty
Represents a branding set property in the Theme panel in Experience Builder. This object is available in API version 40.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| BrandingSetId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the [BrandingSet](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_brandingset.htm "Represents a set of branding properties for an Experience Builder site, as defined in the Theme panel in Experience Builder. This object is available in API version 40.0 and later.").
|
| PropertyName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the branding set property, such as TextColor.
|
| PropertyValue |
Type
textarea
Properties
Create, Nillable, Update
Description
The value of the branding set property, such as #333.
|
# BriefcaseDefinition
Represents a briefcase definition. A briefcase makes selected records available for users and groups to view when they’re offline in the Salesforce Field Service mobile app for iOS and Android. This object is available in API version 50.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This object is available in orgs that have Briefcase Builder and Field service enabled.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Nillable, Sort
Description
Description of the briefcase definition. Limited to 1024 characters.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name used as the briefcase definition identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the briefcase is available for use (true) or not (false). The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language for the briefcase. This field defaults to the user's language unless the org is multi-language enabled. Specifies the language of the labels returned.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The unique label for the briefcase definition. This internal label doesn’t get translated.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The BriefcaseDefinition metadata, which includes rules and rule filters. 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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| Type |
Type
picklist
Properties
Aggregate, Filter, Group, Nillable, Restricted picklist, Sort
Description
- Standard: Standard briefcase that can be used with priming APIs.
- HighVolume: Increased-capacity briefcase that's used with performance priming in the Salesforce Field Service mobile app.
- MobileAppSync: Automatically generated briefcase that's used for performance priming in the Salesforce Field Service mobile app.
|
# Bulk API 2.0 Usage
Using Bulk API 2.0, you can query the MetadataComponentDependency Tooling API object and retrieve up to 100,000 records in a single query. Use SOQL queries to list the relationships between the metadata components in your org.
Bulk API 2.0 requests are returned in CSV format.
You can use the WHERE clause to filter your query.
{
"operation": "query",
"query": "select RefMetadataComponentName, RefMetadataComponentType, RefMetadataComponentId
FROM MetadataComponentDependency
WHERE RefMetadataComponentId = '01p0U000001ONbgQAG'"
}
**Create a Bulk API 2.0 Query Job**
| Description | URI | HTTP Method |
| --- | --- | --- |
| Creates a query job. | /services/data/vXX.X/tooling/jobs/query | POST |
This example creates a job that queries the Tooling API object MetadataComponentDependency.
curl --include --request POST \\
--header "Authorization: OAuth token " \\
--header "Accept: application/json " \\
--header "Content-Type: application/json" \\
--data '{
"operation": "query",
"query": "select MetadataComponentType FROM MetadataComponentDependency“
}' \\
"https://instance.salesforce.com/services/data/v49.0/tooling/jobs/query"
The response is:
HTTP/1.1 200 OK
{
"id" : "750R0000000$H8AAU",
"operation" : "query",
"object" : "MetadataComponentDependency",
"createdById" : "005xx000001X9JAAS",
"createdDate" : "2020-04-09T17:51:02.000+0000",
"systemModstamp" : "2020-04-09T17:51:02.000+0000",
"state" : "UploadComplete",
"concurrencyMode" : "Parallel",
"contentType" : "CSV",
"apiVersion" : 49.0,
"lineEnding" : "LF",
"columnDelimiter" : "COMMA"
}
**Get Information About a Query Job**
| Description | URI | HTTP Method |
| --- | --- | --- |
| Gets information about all query jobs in the org. | /services/data/vXX.X/tooling/jobs/query | GET |
| Gets information about one query job. | /services/data/vXX.X/tooling/jobs/query/queryJobId | GET |
| Gets the results for a query job. | /services/data/vXX.X/tooling/jobs/query/queryJobId/results | GET |
This example gets information about the job with ID 750R0000000$H8AAU.
curl --include --request GET \\
--header "Authorization: OAuth token" \\
"https://instance.salesforce.com/services/data/v49.0/tooling/jobs/query/750R0000000$H8AAU"
The response is:
{
"id" : "750R0000000$H8AAU",
"operation" : "query",
"object" : "MetadataComponentDependency",
"createdById" : "005xx000001X9JAAS",
"createdDate" : "2020-04-09T17:51:02.000+0000",
"systemModstamp" : "2020-04-09T17:51:02.000+0000",
"state" : "JobComplete",
"concurrencyMode" : "Parallel",
"contentType" : "CSV",
"apiVersion" : 49.0,
"jobType" : "V2Query",
"lineEnding" : "LF",
"columnDelimiter" : "COMMA",
"numberRecordsProcessed" : 145,
"retries" : 0,
"totalProcessingTime" : 272}
**Abort or Delete a Query Job**
| Description | URI | HTTP Method |
| --- | --- | --- |
| Aborts a query job. | /services/data/vXX.X/tooling/jobs/query/queryJobId | PATCH |
| Deletes a query job. | /services/data/vXX.X/tooling/jobs/query/queryJobId | DELETE |
This example aborts the job with ID 750R0000000$H8AAU:
curl --request PATCH \\
--header "Authorization: OAuth token" \\
--header "Content-Type: application/json" \\
--data '{
"state": "Aborted"
}' \\
"https://instance.salesforce.com/services/data/v49.0/tooling/jobs/query/750R0000000$H8AAU"
The response is:
{
"id": "750R0000000$H8AAU",
"operation": "query",
"object": "MetadataComponentDependency",
"createdById" : "005xx000001X9JAAS",
"createdDate" : "2020-04-09T17:51:02.000+0000",
"systemModstamp" : "2020-04-09T17:51:02.000+0000",
"state": "Aborted",
"concurrencyMode": "Parallel",
"contentType": "CSV",
"apiVersion": 49.0
}
## Additional Information
For more information, see [Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_bulk_v2.meta/api_bulk_v2/ "HTML (New Window)").
# BusinessProcess
Represents a business process.
This object is available in API version 33.0 and later.
## Supported SOAP Calls
- getDeleted(), getUpdated(), query(), retrieve(), and upsert() are available in API version 33.0 and later.
- create() and update() are available in API version 36.0 and later.
## Supported REST HTTP Methods
GET, PATCH, POST
## Special Access Rules
Access to this object requires the View Setup and Configuration permission.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The business process description, limited to 255 characters.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this business process is active (true) or not (false).
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Name |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The process name.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A unique string to distinguish this type from any others.
|
# BusinessProcessDefinition
Represents information about stages in a customer lifecycle map. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| BusinessProcessGroupId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Unique identifier of the customer lifecycle map that is associated with the stage.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Developer name of the stage.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the MasterLabel.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LU—German (Luxembourg)
- el—Greek
- en\_AU—English (Australian)
- en\_CA—English (Canadian)
- en\_GB—English (UK)
- en\_HK—English (Hong Kong)
- en\_IE—English (Ireland)
- en\_IN—English (Indian)
- en\_MY—English (Malaysian)
- en\_NZ—English (New Zealand)
- en\_PH—English (Philippines)
- en\_SG—English (Singapore)
- en\_US—English
- en\_ZA—English (South Africa)
- es—Spanish
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_LU—French (Luxembourg)
- ga—Irish
- gu—Gujarati
- hi—Hindi
- hr—Croatian
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- ja—Japanese
- ka—Georgian
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- no—Norwegian
- pl—Polish
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label of the stage.
|
| ProcessDescription |
Type
textarea
Properties
Create, Nillable, Update
Description
Description of the stage.
|
| SequenceNumber |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
Position of the stage in the associated customer lifecycle map.
|
# BusinessProcessFeedback
Represents information about the survey and the question associated with each stage in a customer lifecycle map. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| ActionName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Name of the survey used to gather feedback.
|
| ActionParam |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Name of the question used to gather feedback.
|
| ActionType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Method of collecting feedback.
Possible values are:
- PHONE\_CALL
- SURVEY
|
| BusinessProcessDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Unique identifier of the stage associated with the survey and question.
|
# BusinessProcessGroup
Represents information about the customer lifecycle maps. Customer lifecycle maps are used to track the scores provided by customers across their lifecycle using Salesforce Surveys. For example, the lifecycle stages for an Insurance business process group can include acquisition, onboarding, claims, routine services, and renewal. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| CustomerSatisfactionMetric |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Represents the question type that measures the customer’s Net Promote Score or satisfaction score across their lifecycle.
Possible values are:
- CSAT
- NPS
|
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
Description of the customer lifecycle map.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Developer name of the customer lifecycle map.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the MasterLabel.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LU—German (Luxembourg)
- el—Greek
- en\_AU—English (Australian)
- en\_CA—English (Canadian)
- en\_GB—English (UK)
- en\_HK—English (Hong Kong)
- en\_IE—English (Ireland)
- en\_IN—English (Indian)
- en\_MY—English (Malaysian)
- en\_NZ—English (New Zealand)
- en\_PH—English (Philippines)
- en\_SG—English (Singapore)
- en\_US—English
- en\_ZA—English (South Africa)
- es—Spanish
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_LU—French (Luxembourg)
- ga—Irish
- gu—Gujarati
- hi—Hindi
- hr—Croatian
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- ja—Japanese
- ka—Georgian
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- no—Norwegian
- pl—Polish
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label of the customer lifecycle map.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Namespace prefix associated with this object. Each Developer Edition org that creates a managed package has a unique namespace prefix.
|
# BusProcessFeedbackConfig
Represents information about the configuration for feedback collection. The feedback collection method triggers against pre-determined conditions on object to gather feedback. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API Methods
GET, HEAD, Query
## Fields
| Field | Details |
| --- | --- |
| ActionName |
Type
string
Properties
Filter, Group, Sort
Description
Name of the method used to gather feedback.
|
| ActionType |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Method of collecting feedback.
Possible values are:
- PHONE\_CALL
- SURVEY
|
| ConfigurationDescription |
Type
textarea
Properties
Nillable
Description
Describes the experience step configuration.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Unique name of the object.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Field |
Type
string
Properties
Filter, Group, Sort
Description
Represents the picklist field whose value triggers the feedback collection.
|
| FieldValue |
Type
string
Properties
Filter, Group, Sort
Description
Represents the field value that triggers the feedback collection.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the feedback configuration is active (true) or not (false).
|
| Language |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Language of the MasterLabel
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LU—German (Luxembourg)
- el—Greek
- en\_AU—English (Australian)
- en\_CA—English (Canadian)
- en\_GB—English (UK)
- en\_HK—English (Hong Kong)
- en\_IE—English (Ireland)
- en\_IN—English (Indian)
- en\_MY—English (Malaysian)
- en\_NZ—English (New Zealand)
- en\_PH—English (Philippines)
- en\_SG—English (Singapore)
- en\_US—English
- en\_ZA—English (South Africa)
- es—Spanish
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_LU—French (Luxembourg)
- ga—Irish
- gu—Gujarati
- hi—Hindi
- hr—Croatian
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- ja—Japanese
- ka—Georgian
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- no—Norwegian
- pl—Polish
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Name of the resource, limited up to 100 characters.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Namespace prefix associated with this object. Each Developer Edition org that creates a managed package has a unique namespace prefix.
|
| Object |
Type
string
Properties
Filter, Group, Sort
Description
Represents the entity on which the feedback collection triggering condition depends.
|
| Recipient |
Type
string
Properties
Filter, Group, Sort
Description
Represents the recipient who is contacted for the feedback collection.
|
| RecordType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Represents the record type of the entity on which the feedback collection triggering condition depends.
|
| TriggerAction |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Action available with the business process feedback object.
Possible values are:
- Create
- CreateAndUpdate
- Update
|
# Certificate
Represents a certificate used for digital signatures that verify requests are coming from your org. Certificates are used for either authenticated single sign-on with an external website or when using your org as an identity provider. This object is available in Tooling API version 37.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, Salesforce generates one for each record, which slows performance.
|
| ExpirationDate |
Type
date
Properties
Filter, Group, Nillable, Sort
Description
Read only. The date that this certificate expires and is no longer usable. For self-signed certificates, if KeySize is 2048 bits, the expiration date is automatically 1 year after you create the certificate. If KeySize is 4096 bits, the expiration date is automatically 2 years after you create the certificate. For CA-signed certificates, ExpirationDate is automatically updated to the signed certificate’s expiration date when a signed certificate chain is uploaded. The date format is YYYY-MM-DD.
|
| KeySize |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Certificate keys can be either 2048 bits or 4096 bits. A certificate with 4096-bit keys lasts 2 years, and a certificate with 2048-bit keys lasts 1 year. Certificates with 2048-bit keys are faster than certificates with 4096-bit keys. If KeySize isn’t specified when you create a certificate, the key size defaults to 2048 bits.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Required. A user-friendly name for the certificate that appears in the Salesforce user interface, such as in Certificate and Key Management. Limit: 64 characters.
|
| OptionsIsCaSigned |
Type
boolean
Properties
Filter
Description
Required. Indicates whether this certificate is signed by the issuer (true) or not (false).
|
| OptionsIsEncryptedWithPE |
Type
boolean
Properties
Filter
Description
Indicates whether this certificate is encrypted with Shield Platform Encryption.
|
| OptionsIsNewEncr |
Type
boolean
Properties
Filter
Description
Indicates whether this certificate is encrypted with the new algorithm for certificate encryption.
|
| OptionsIsPrivateKeyExportable |
Type
boolean
Properties
Filter
Description
Indicates whether this certificate’s private key is exportable.
|
| OptionsIsUnusable |
Type
boolean
Properties
Filter
Description
Indicates whether this certificate is waiting for import of the signed certificate chain.
|
| OptionIsUsingKMS |
Type
boolean
Properties
Filter
Description
Indicates whether this certificate is compatible with select BYOK key material that uses the Shield Key Management Service (true) or not (false). This field is available in API version 50.0 and later.
These certificates are only compatible with Database tenant secrets as part of the Shield Platform Encryption Database Encryption feature.
|
# CleanDataService
Represents a data service that adds and updates data in existing records in an org.
This object is available in API version 38.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
User-friendly text that describes the data service.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
A unique name for this data service. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Provides a globally unique identifier for the data service, which prevents conflicts with other data services that have the same MasterLabel.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the data service. The following values are supported:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Master label for this object. This display value is the internal label that is not translated.
|
| MatchEngine |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A key that maps to the internal data service identifier.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix associated with the data service, which is assigned to the Lightning Platform AppExchange package. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. The namespace helps differentiate custom objects and fields from those in use by other data services.
|
# CleanRule
Represents a data integration rule that controls how a data service adds and updates data for existing records in an org.
This object is available in API version 38.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| CleanDataServiceId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A foreign key reference to the CleanDataService that processes this CleanRule.
|
| DataAssessmentStatus |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable
Description
The status of the data assessment. The following are valid values:
- Hidden (default)
- Not Started
- In Progress
- Pending Aggregation
- Aggregation Complete
- Failed Aggregation
- Aborted
This field is read only.
|
| Description |
Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
User-friendly text that describes the data integration rule.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, , Sort, Update
Description
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This unique name prevents conflicts with rules from other packages that have the same MasterLabel.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| IsBulkEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If this flag is set to true, the system automatically applies the rule to existing records whenever the rule is updated or saved. If the flag is set to false, the system doesn’t automatically apply the rule to existing records. You can always apply the rule manually.
|
| IsSilentSaveEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If false, updates don’t modify LastModifiedDate and LastModifiedById when it applies this rule; otherwise, updates insert the current date and the current user.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the data integration rule. The following values are permitted:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| MatchConfidence |
Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
Indicates how closely a Lightning Data record matches a Salesforce record. The higher the minimum value is set, the more precise the matches. This field is used in packages that support match scores for third-party data. Valid values include an integer determined by the data service provider. If the value is null, the default value from the data service provider is used. Available in API version 45.0 and later.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Master label for this object. This display value is the internal label that is not translated.
|
| MatchRule |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
An internal label for the matching rule in the data service that’s associated with this CleanRule.
|
| ShouldBypassTriggers |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, indicates that the system does not apply triggers when it applies this rule; otherwise, the system applies the triggers.
|
| ShouldBypassWorkflow |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, the system bypasses workflow rules when it applies the data integration rule; otherwise, the system applies workflow rules.
|
| SobjectType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The standard or custom object in your org that’s acted on by this CleanRule. The possible values are:
- Account
- Address
- Contact
- CustomEntityDefinition
- Lead
- ResourceAbsence
- ServiceAppointment
- ServiceTerritory
- ServiceTerritoryMember
- WorkOrder
- WorkOrderLineItem
In addition, custom objects with data integration rules are possible.

#### Note
The standard objects are installed with default data integration rules, but only the default rules for account, contact, and lead can be modified.
|
| SourceSobjectType |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
A data service object associated with this CleanRule. The set of picklist values includes all the object types defined in the data service. However, if you specify a non-existent object, the API call returns an error. If you enable the Salesforce data services, the following values appear.
CustomEntityDefinition
Information retrieved from an external source in the form of an external object to enrich an account, contact, or lead. We map the external object fields to the account, contact, and lead lookup and details.
DataCloudAddress
Geolocation data service.
DatacloudDandBCompany
Data.com data service. This service is only available in the Professional, Enterprise, Unlimited, and Performance Editions, and only with a Premium Clean license. Your administrator must enable this data service by enabling the data integration rules for account and lead.
If you install Marketplace packages that contain data services, their object names also appear in the set of picklist values.
|
| Status |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Status of the data integration rule. Valid values are Active and Inactive.
|
# ColorDefinition
Represents color metadata for a tab. Available in API version 43.0 and later.

#### Note
In API version 45.0 and later, only users with the “View Setup and Configuration” permission can access ColorDefinition.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| Color |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The color specified in web color RGB format—for example, 00FF00.
|
| Context |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The color context, which determines whether the color is the main color (or primary) for the tab.
|
| 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. To simplify queries, use this field.
|
| TabDefinitionId |
Type
string
Properties
Filter, Nillable, Sort
Description
The ID of the tab this definition belongs to. Defaults to null.
|
| Theme |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The user interface theme this definition is associated with.
|
# CommunityWorkspacesNode
Represents a node used in Experience Workspaces. Available in Tooling API version 39.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
A description of the field.
|
| DevName |
Type
string
Properties
Filter, Group Nillable, Sort
Description
API name of the chart. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization.
|
| ExternalId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A unique system-generated numerical identifier for the user.
|
| HelpLocator |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The URL for the help page.
|
| Label |
Type
string
Properties
Filter, Group Nillable
, Sort
Description
The display label of the Workspaces component.
|
| Locator |
Type
string
Properties
Filter, Nillable, Sort
Description
The aura component list (aura page) or page URL (aloha page).
|
| NetworkID |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the Experience Cloud site.
|
| PageType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Type of page accessed within Experience Workspaces.
|
| Parent |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The devName of the parent node.
|
| Workspace |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The devName of the workspace the node belongs to.
|
# CompactLayout
Represents the values that define a compact page layout.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), delete(), getDeleted(), getUpdated(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The developer’s internal name for the compact layout
(for example, “CL_c”) used in the API.
-
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The unique name used as the compact layout identifier
for API access. The
fullName can contain only underscores
and alphanumeric characters. It must be unique, begin with a
letter, not include spaces, not end with an underscore, and not
contain two consecutive underscores.
- 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.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The name of the compact layout in Setup.
|
| Metadata |
- Type
-
mns:CompactLayout
- Properties
- Create, Nillable, Update
- Description
- The compact layout metadata.
- 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 of the package of which the compact layout
is a part.
|
| SobjectType |
- Type
- Restricted picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- The type of object used in the layout, such as an
Account or Lead.
|

#### Note
CompactLayout is exposed in Tooling API to user profiles with the View Setup and Configuration permission.
# CompactLayoutInfo
Represents the metadata for a custom or standard compact layout.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
query()
## 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 |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The developer’s internal name for the compact layout (for example, CL\_c) used in the API.
|
| DurableId |
Type
string
Properties
Filter, Group, 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. To simplify queries, use this field.
|
| EntityDefinition |
Type
EntityDefinition
Properties
Filter, Group, Sort
Description
Required. Available starting with version 32.0. The entity definition for the object associated with this CompactLayoutInfo.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Required. ID of the record associated with this CompactLayoutInfo. The record’s object type is in EntityDefinition.
|
| FullName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name used as the compact layout identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| IsDefault |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, this compact layout is the default for the associated object.
|
| Items |
Type
[QueryResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_queryresult.htm "Represents the results of a query. For example, if you query on the object EntityDefinition, all the layouts for that entity are returned as an array of QueryResult objects in the Layouts field. Available in Tooling API version 34.0 and later.")
Properties
Filter, Group, Sort
Description
A foreign key field pointing to CompactLayoutItemsInfo. Because this field represents a relationship, use only in subqueries.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The compact layout’s label.
|
| Metadata |
Type
mns: [CompactLayout](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_compactlayout.htm "Represents the values that define a compact page layout.")
Properties
Create, Nillable, Update
Description
Metadata that defines compact layouts.
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, 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|

#### Note
CompactLayoutInfo is exposed in Tooling API to user profiles with the View Setup and Configuration permission.
# CompactLayoutItemInfo
Represents a field selected for a compact layout, and the order of that field in the compact layout.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
query()
## 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 |
| --- | --- |
| CompactLayoutInfo |
Type
CompactLayoutInfo
Properties
Filter, Group, Nillable, Sort
Description
The compact layout associated with this CompactLayoutItemInfo.
|
| CompactLayoutInfoId |
Type
Id
Properties
Filter, Group, Nillable, Sort
Description
ID of the compact layout associated with this field.
|
| DurableId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
This field reserved for future use. Do not use.
|
| FieldDefinition |
Type
[FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm "Represents a standard or custom field, providing row-based access to field metadata. Contrast FieldDefinition with EntityParticle, which represents each element of a field that can be presented in a user interface. FieldDefinition has parity with metadata type Field.")
Properties
Filter, Group, Nillable, Sort
Description
Required. The definition of this field.
|
| FieldDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Required. ID of this field.
|
| SortOrder |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The order of the field in the compact layout. 1 is first.
|
# Composite Request Body
Describes a collection of subrequests to execute with the /composite resource.
## Composite Collection Input
The request body contains an allOrNone flag that specifies how to roll back errors and a compositeRequest collection that includes subrequests to execute.
### allOrNone
- **Type**: Boolean
- **Description**: Specifies what to do when an error occurs while processing a subrequest. If the value is true, the entire composite request is rolled back.
If the value is false, the remaining subrequests that don’t depend on the failed subrequest are executed. Dependent subrequests aren’t executed.
In either case, the top-level request returns HTTP 200 and includes responses for each subrequest.
- **Required or Optional**: Optional
### compositeRequest
- **Type**: [Composite Subrequest](#reference_hdd_43v_rkc)\[\]
- **Description**: Collection of subrequests to execute.
- **Required or Optional**: Required
### JSON Example
{
"allOrNone" : true,
"compositeRequest" : \[{
Composite Subrequest
},{
Composite Subrequest
},{
Composite Subrequest
}\]
}
## Composite Subrequest
Contains the resource, method, headers, body, and reference ID for the subrequest.
### body
- **Type**: The type depends on the request specified in the url property.
- **Description**: The input body for the subrequest.
- **Required or Optional**: Optional
### httpHeaders
- **Type**: Map
- **Description**: Request headers and their values to include with the subrequest. You can include any header supported by the requested resource, except for the following headers because the subrequests inherit their values from the top-level request.
- Accept
- Authorization
- Content-TypeIf you specify these headers in a subrequest, the top-level request fails and returns an HTTP 400 response.
- **Required or Optional**: Optional
### method
- **Type**: String
- **Description**: The method to use with the requested resource. Possible values are POST, PUT, PATCH, GET, and DELETE (case sensitive). For a list of valid methods, see the documentation for the requested resource.
- **Required or Optional**: Required
### referenceId
- **Type**: String
- **Description**: Reference ID that maps to the subrequest’s response and can be used to reference the response in later subrequests.
You can include the referenceId in either the body or URL of a subrequest. Use this syntax to include a reference: @{referenceId.FieldName}.
The referenceId is case sensitive.
You can use two operators with the reference ID.
The . operator references a field on a JSON object in the response. The \[\] operator indexes a JSON collection in the response. You can use each operator recursively as long as it makes sense in the context of the response.
- **Required or Optional**: Required
### url
- **Type**: String
- **Description**: The resource to request.
- The URL can include any query string parameters that the subrequest supports. The query string must be URL-encoded.
- The URL must start with /services/data/vXX.X/tooling.
- You can use parameters to filter response bodies.
- **Required or Optional**: Required
## Usage
Because referenceId is case sensitive, make sure that the case of the field that you’re referring to is correct. The same field can use different cases in different contexts.

#### Note
You can have up to 25 subrequests in a single call. Up to five of these subrequests can be query operations.
# Composite Response Body
Describes the result of a /composite request.
## Composite Results
### compositeResponse
- **Type**: [Composite Subrequest Result](#subrequest_result)\[\]
- **Description**: Collection of subrequest results
### JSON Example
{
"compositeResponse" : \[{
Composite Subrequest Result
},{
Composite Subrequest Result
},{
Composite Subrequest Result
}\]
}
## Composite Subrequest Result
### body
- **Type**: The type depends on the response type of the subrequest.
- **Description**: The response body of this subrequest. If the subrequest returns an error, the body includes the error code and message.
### httpHeaders
- **Type**: Map
- **Description**: Response headers and their values for this subrequest. The /composite resource doesn’t support the Content-Length header, so subrequest responses don’t include this header and neither does the top-level response.
### httpStatusCode
- **Type**: Integer
- **Description**: An HTTP status code for this subrequest. If allOrNone is set to true in the composite request and a subrequest returns an error, all other subrequests return the 400 HTTP status code.
### referenceID
- **Type**: String
- **Description**: The reference ID specified in the subrequest. Use this property to associate subrequests with their results.
### JSON Example
{
"body" : {
"id" : "001R00000033I6AIAU",
"success" : true,
"errors" : \[ \]
},
"httpHeaders" : {
"Location" : "/services/data/v40.0/tooling/sobjects/apexclassmember/001R00000033I6AIAU"
},
"httpStatusCode" : 201,
"referenceId" : "apexclassmember\_reference\_id"
}
# ConnectedApplication
For internal use only.
# Considerations for CRUD Operations in Active Orgs
CRUD operations on most Tooling API objects are allowed in active orgs in API version 41.0 and later, just as they are in other kinds of orgs. However, for performance reasons you can’t perform CRUD operations in an active org for some Tooling API objects.
CRUD operations on the following Tooling API objects in an active org generate the error Save or update not supported in active organizations.
- ApexClass
- ApexComponent
- ApexPage
- ApexTrigger
- CustomField
- CustomObject
# ContactCenterChannel
Represents a junction object that relates a Bring Your Own Channel for Contact Center as a Service (CCaaS) messaging channel to a CallCenter object for Bring Your Own Channel for CCaaS. This object also represents the routing details for a voicemail configuration. This object is available in API version 56.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access this object, Service Cloud Voice with Amazon Connect, Service Cloud Voice with Partner Telephony, Service Cloud Voice with Partner Telephony from Amazon Connect, or Bring Your Own Channel for CCaaS must be enabled.
To access this Tooling object, you must be a SysAdmin user or have ViewSetup user permissions.
## Fields
| Field | Details |
| --- | --- |
| ChannelId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
For Bring Your Own Channel for CCaaS, this field represents the unique ID of the Bring Your Own Channel messaging channel (MessagingChannel) that’s associated with the contact center (CallCenterId). Available in API version 60.0 and later.
This field is a relationship field.
Relationship Name
Channel
Refers To
MessagingChannel
|
| ContactCenterId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
This field is a relationship field. For Bring Your Own Channel for CCaaS, this field represents the unique ID of the contact center (CallCenterId) that’s associated with the Bring Your Own Channel messaging channel (MessagingChannel). Available in API version 60.0 and later.
This field is a relationship field.
Relationship Name
ContactCenter
Relationship Type
Master-detail
Refers To
CallCenter (the master object)
|
| UserId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Available in API version 63.0 only. For internal use.
|
| VoicemailFallbackQueueId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
If voicemail routing is configured for the contact center, this field represents the unique ID of the fallback queue to use if voicemail routing fails. This field is a relationship field. Don't change the value in this field. Instead, configure voicemail routing in Lightning Experience.
This field is a relationship field.
Relationship Name
VoicemailFallbackQueue
Refers To
Group
|
| VoicemailHandler |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
If voicemail routing is configured for the contact center, this field represents the unique ID of the flow used to route voicemails. Don't change the value in this field. Instead, configure voicemail routing in Lightning Experience.
|
# ContainerAsyncRequest
Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.
## Supported SOAP API Calls
create(), describeSObjects(), query(), retrieve()
## Supported REST API HTTP Methods
Query, GET, POST
## Special Access Rules
As of the Spring '20 release, to access ContainerAsyncRequest you must have both the View All Data and Customize Application user permissions.
## Fields
| Field Name | Details |
| --- | --- |
| DeployDetails |
Type
[DeployDetails](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_deploydetails.htm "A complex type that contains detailed XML for any compile errors reported in the asynchronous request defined by a ContainerAsyncRequest object. Replaces the JSON field CompilerErrors in Tooling API version 31.0 and later.")
Properties
Nillable
Description
Provides detailed XML for any compile errors reported during an asynchronous request. Includes componentFailures. Replaces the JSON field CompilerErrors in Tooling API version 31.0 and later.
|
| ErrorMsg |
Type
textarea
Properties
Nillable
Description
Errors reported during an asynchronous request.
|
| IsCheckOnly |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
Indicates whether the asynchronous request compiles the code without making any changes to the organization (true) or compiles and saves the code (false).
This field is required.
You can compile without saving but you can’t save without compiling.
|
| IsRunTests |
Type
boolean
Properties
None
Description
Reserved for future use.
|
| MetadataContainerId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") object.
Specify a MetadataContainerId or a MetadataContainerMemberId, but not both.
|
| MetadataContainerMemberId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of an [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm "Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer."), [ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm "Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer."), [ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm "Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer.") or [ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm "Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.") object.
Specify a MetadataContainerId or a MetadataContainerMemberId, but not both.
|
| State |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The state of the request. Valid values are:
- Queued—the job is in the queue.
- Invalidated—Salesforce canceled the job because the results might not be valid. This state occurs if someone changes the container members while IsCheckOnly=true, or if a newer compile request is added to the queue.
- Completed—the compilation or deployment finished. The SymbolTable fields for the specified object(s) were successfully updated. If IsCheckOnly is false, the Body for each object was saved and the MetadataContainerId field for each object was reset from the ID of the deployed [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") to the ID of the corresponding [ContainerAsyncRequest](# "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object.
- Failed—the compilation or deployment failed for the reasons stated in the CompilerError field.
- Error—an unexpected error occurred. The messages in the ErrorMsg field can be provided to Salesforce support if the issue persists.
- Aborted—use this value to delete a queued deployment.
This field is required.
|
## Usage
When you deploy a ContainerAsyncRequest, you must specify whether to save the compiled entities:
- To compile entities without saving, set the request to IsCheckOnly=true. This option is only supported if a MetadataContainerMember is specified. A single MetadataContainerMemberId can’t be compiled without saving.
- To compile and save entities to your organization, set the request to IsCheckOnly=false.
If the compile succeeds, the SymbolTable field is updated on each object in the specified MetadataContainer. If the save or compile fails and a SymbolTable field cannot be updated, the field is cleared. If there is an outstanding save request, all updates, inserts, and deployments fail.
To terminate a queued deployment, set the State field to Aborted.
# ConversationChannelDefinition
Represents a configurable definition of a conversation channel that’s implemented for Interaction Service for Bring Your Own Channel for Messaging and Bring Your Own Channel for CCaaS messaging channels. This object is available in API version 60.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access this object, Interaction Service must be configured. Access to tooling objects requires Salesforce admin privileges or the Customize Application permission.
## Fields
| Field | Details |
| --- | --- |
| CapabilitiesSupportsCustomChannelParameters |
Type
boolean
Properties
Filter
Description
Indicates whether admins can configure custom parameters and parameter mappings for messaging channels. Custom parameters and parameter mappings are used to pass additional information at runtime to Omni-Channel flows. The default value is false. Available in API version 61.0.
|
| CapabilitiesSupportsDoubleOptInConsent |
Type
boolean
Properties
Filter
Description
Indicates whether the channel supports (true) the Double Opt-In consent level. The default value is false. If set to true, then capabilitiesSupportsExplicitConsent must also be set to true. This field is optional and isn’t supported for Bring Your Own Channel for Messaging. It's only supported for Bring Your Own Channel for CCaaS.
|
| CapabilitiesSupportsExplicitConsent |
Type
boolean
Properties
Filter
Description
Indicates whether the channel supports (true) the Explicit Opt-In consent level. This field is optional.
|
| CapabilitiesSupportsImplicitConsent |
Type
boolean
Properties
Filter
Description
Indicates whether the channel supports (true) the Implicit Opt-In consent level. This value is required and must always be set to true. The default value is false.
|
| CapabilitiesSupportsIsoCountryCode |
Type
boolean
Properties
Filter
Description
Indicates whether the channel supports (true) ISO country codes. The default value is false.
|
| CapabilitiesSupportsKeywords |
Type
boolean
Properties
Filter
Description
Indicates whether the channel supports (true) keywords. The default value is false.
|
| ConnectedAppOauthLink |
Type
string
Properties
Filter, Group, Sort
Description
DO NOT SET OR CHANGE THIS VALUE. This value is automatically generated. This field represents the OAuth link for the external client app (ECA) or connected app if the ConnectedAppType is Partner. This is a string identifier to the ECA or connected app containing the partner Org ID and the consumer ID minus the key prefixes.
|
| ConnectedAppType |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The owner of the external client app (ECA) or connected app used to manage authentication between Salesforce Interaction Service and the Messaging or CCaaS partner’s system.
Possible values are:
- Partner
- Customer
The default value is Partner.
If set to Partner, the partner creates the ECA or connected app and includes it in their managed package. If set to Customer, the admin creates the ECA or connected app.
Available in API version 62.0.
|
| ConsentOwner |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The system the customer uses to manage consent levels.
Possible values are:
- Partner
- Salesforce
The default value is Salesforce.
For example, if set to Salesforce, consent levels are managed by the Salesforce system. If set to Partner, consent levels are managed by the partner’s telephony or Contact Center as a Service system.
For Bring Your Own Channel for Messaging, this value must be set to Salesforce.
|
| ConversationVendorInfo |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ConversationVendorInfo.developerName used to link this record to the ConversationVendorInfo record. For example, PartnerName.
|
| customEventChnlAddrIdField |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The mapping field that points to the custom field used to point to the ChannelAddressIdentifier field.
This field is deprecated in API version 60.0 and will be removed in API version 61.0. Use a combination of customEventTypeField and customEventPayloadField instead.
|
| CustomEventPayloadField |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The mapping field that points to the custom field used to point to the Payload field in the format \_\_\_\_c. This is the API name of the custom Payload field in the custom platform event. For example, devorg\_\_Payload\_\_c.
|
| customEventRecipientField |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The mapping field that points to the custom field used to point to the Recipient field.
This field is deprecated in API version 60.0 and will be removed in API version 61.0. Use a combination of customEventTypeField and customEventPayloadField instead.
|
| CustomEventTypeField |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The mapping field that points to the custom field used to point to the Platform event type (EventType) field, in the format \_\_\_\_c. This is the API name of the custom EventType field in the custom platform event. For example, devorg\_\_EventType\_\_c.
|
| CustomIconId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
For Bring Your Own Channel for Messaging and Bring Your Own Channel for CCaaS, this field represents the name of the status resource image used to identify the channel integration, such as a channel logo. For the best results, set the image size to 50px x 50px and save the image in SVG file format. This field is optional. Available in API version 61.0 and later.
This field is a relationship field.
Relationship Name
CustomIcon
Refers To
StaticResource
|
| CustomerConnectedAppOauthLink |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
DO NOT SET OR CHANGE THIS VALUE. This value is automatically generated. This field represents the OAuth link for the external client app (ECA) or connected app created by an admin if the ConnectedAppType is Customer. Available in API version 62.0.
|
| CustomPlatformEvent |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The API name of the custom platform event created for the Interaction Service API in the format \_\_\_\_e. For example, devorg\_\_TestEvent\_\_e.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the custom metadata type object in the API in the format \_, where Prefix matches the prefix you gave to the name of the Interaction Service external client app or connected app. For example, Partner1\_ChannelDefinition1, where Partner1 is the prefix and ChannelDefinition1 is the given name.
|
| EventCapabilitiesIsInboundAcknwOptionExposed |
Type
boolean
Properties
Filter
Description
Indicates whether the partner supports read receipts and delivery receipts for inbound messages (true) or whether the partner doesn’t support these inbound acknowledgments and the functionality is hidden from the Salesforce admin in the Messaging settings (false). The default value is false.
This field is available in API version 65.0 and later. Use this field instead of IsInboundReceiptsEnabled.
|
| EventCapabilitiesIsProgressIndicatorOptExposed |
Type
boolean
Properties
Filter
Description
Indicates whether the partner supports progress indicators for AI agents (true) or whether the partner doesn’t support them and the functionality is hidden from the Salesforce admin in the Messaging settings (false). The default value is false.
This field is available in API version 65.0 and later.
|
| EventCapabilitiesIsRoutingWorkResultSupported |
Type
boolean
Properties
Filter
Description
Indicates whether the Routing Work Result event is sent as a Custom Platform event (true) or not (false). The default value is false.
This field is available in API version 65.0 and later. Use this field instead of IsRoutingWorkResultEnabled.
|
| EventCapabilitiesIsTypingIndicatorOptionHidden |
Type
boolean
Properties
Filter
Description
Indicates whether the partner doesn’t support typing indicators for outbound messages and the functionality is hidden from the Salesforce admin in the Messaging settings (true) or whether outbound typing indicators are supported by the partner (false). The default value is false, meaning the outbound typing indicator feature is supported by default. To disable the outbound typing indicator feature, set this value to true.
This field is available in API version 65.0 and later. Use this field instead of IsTypingIndicatorDisabled.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated ConversationChannelDefinition object in Metadata API. The full name is in the format ???\_??? and can include a namespace prefix.
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.
|
| IsConferenceSupported |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the partner supports conferencing for Bring Your Own Channel (true), or not (false). With conferencing, more than two participants are allowed in a messaging session. The default is false.
This field is available in API version 64.0 and later.
|
| IsInboundReceiptsEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the partner supports read receipts and delivery receipts for inbound messages (true) or whether the partner doesn’t support these inbound acknowledgements and the functionality is hidden from the Salesforce admin in the Messaging settings (false). The default value is false.
Available in API versions 63.0 to 65.0. In API version 66.0 and later, this field is removed. Use EventCapabilitiesIsInboundAcknwOptionExposed instead.
|
| IsRoutingWorkResultEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the Routing Work Result event is sent as a Custom Platform event or not.
The default value is false.
Available in API versions 64.0 and 65.0. In API version 66.0 and later, this field is removed. Use EventCapabilitiesIsRoutingWorkResultSupported instead.
|
| IsTypingIndicatorDisabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the partner doesn’t support typing indicators for outbound messages and the functionality is hidden from the Salesforce admin in the Messaging settings (true) or whether outbound typing indicators are supported by the partner (false). The default value is false, meaning the outbound typing indicator feature is supported by default. To disable the outbound typing indicator feature, set this value to true.
Available in API versions 63.0 to 65.0. In API version 66.0 and later, this field is removed. Use EventCapabilitiesIsTypingIndicatorOptionHidden instead.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The UI label name for the custom metadata type object in the API. This name appears in several places in the UI, so include the partner channel name for easy identification. For example, Channel Definition 1.
|
| MaxParticipantsForCnfrOverride |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Specifies the limit for how many participants can be in a messaging conference. If set, this field overrides the platform limit for the number of participants in a conference. If not set, the limit defaults to the messaging platform limit of how many participants can be in a messaging conference at one time.
This field is available in API version 64.0 and later.
|
| Metadata |
Type
complexvalue
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
NamespacePrefix is null if the publisher is Salesforce.
|
| RoutingOwner |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The system the customer uses to manage routing for Bring Your Own Channel for Messaging or Bring Your Own Channel for CCaaS.
Possible values are:
- Partner
- Salesforce
The default value is Salesforce.
For example, if set to Salesforce, routing is managed by the Salesforce system. If set to Partner, routing is managed by the partners telephony system or partner CCaaS system.
For Bring Your Own Channel for Messaging, this value must be set to Salesforce.
|
# ConversationVendorInfo
This setup object connects the partner vendor system to the Service Cloud feature. For example, for Service Cloud Voice, this object contains information about the partner telephony or Contact Center as a Service (CCaaS) partner system. For Bring Your Own Channel for Messaging this object contains information about the partner messaging system, and for Bring Your Own Channel for CCaaS, this object contains information about the CCaaS partner system. This object is available in API version 52.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This object requires an add-on license for Service Cloud Voice for Partner Telephony or Digital Engagement.
## Fields
The fields in the ConversationVendorInfo object apply to all Service Cloud features unless otherwise stated in the field description. For example, if a field applies to just one Service Cloud Voice telephony model setup or is applied differently by different partner systems, this is stated in the field description.
| Field | Details |
| --- | --- |
| BridgeComponent |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The Lightning component used to communicate between the telephony or messaging system and other Lightning components.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| CapabilitiesSupportsAgentSSO |
Type
boolean
Properties
Filter
Description
If set to true, agents can single sign-on (SSO) into their contact center using Salesforce as the identity provider (IdP). Behind the scenes, Salesforce is used as the SAML IdP in the Single Sign-On external client app for the contact center. If set to false, an IdP other than Salesforce is used or an IdP isn’t used at all. The default value is false.
If this value is set to false and you want to use Salesforce as the IdP for your contact center, set this value and the namedCredentialSupported value to true and configure the service\_cloud\_voice.PartnerSSO interface in your Apex integration class.
Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| CapabilitiesSupportsEinsteinConversationInsights |
Type
boolean
Properties
Filter
Description
If set to true, Einstein Conversation Insights is turned on. The default value is false. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
|
| CapabilitiesSupportsIntelligence |
Type
boolean
Properties
Filter
Description
If set to true, Salesforce ingests real-time signals sent from a partner telephony system. If set to false, Salesforce won't ingest real-time intelligence signals from a partner telephony system. The default value is false. Available in API version 59.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
|
| CapabilitiesSupportsKeyProvisioning |
Type
boolean
Properties
Filter
Description
If set to true, key provisioning and renewal are automated. The default value is false. Available in API version 54.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
|
| CapabilitiesSupportsNamedCredential |
Type
boolean
Properties
Filter
Description
A sample-named credential that can be used for Apex callouts to the partner system. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| CapabilitiesSupportsPartnerContactCenterList |
Type
boolean
Properties
Filter
Description
If set to true, enables the customer to select one contact center from a list of multiple contact centers to connect with Salesforce. The default value is false. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| CapabilitiesSupportsPartnerPhoneNumbers |
Type
boolean
Properties
Filter
Description
If set to true, displays a list of phone numbers used to create contact center channels. The default value is false. Available in API version 54.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
|
| CapabilitiesSupportsPartnerTransferDestinations |
Type
boolean
Properties
Filter
Description
If set to true, allows Salesforce to fetch contact center queues so that Salesforce and contact center queues can be mapped. The default value is false. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| CapabilitiesSupportsQueueManagement |
Type
boolean
Properties
Filter
Description
If set to true, support queue management. The default value is false. Available in API version 56.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| CapabilitiesSupportsUnifiedRouting (Beta) |
Type
boolean
Properties
Create, Filter, Update
Description
Indicates whether unified routing is supported (true) or not supported (false) for voice calls in voice channels. The default value is false. Once this value is set to true, it can’t be changed to false.
Available in API version 63.0 and later.
Applies to the following implementation:
- Service Cloud Voice with Partner Telephony
|
| CapabilitiesSupportsUniversalCallRecordingAccess |
Type
boolean
Properties
Filter
Description
If set to true, Universal Call Recording Access is turned on. The default value is false.
If this value is set to false and you want to turn on Universal Call Recording, set this value to true and configure the service\_cloud\_voice.RecordingMediaProvider interface in your Apex integration class.
Available in API version 54.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
|
| CapabilitiesSupportsUserSyncing |
Type
boolean
Properties
Filter
Description
If set to true, supports automated user syncing whenever a user is added to or removed from a contact center. The default value is false. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| ConnectorUrl |
Type
url
Properties
Filter, Group, Nillable, Sort
Description
The URL that hosts your Service Cloud Voice or Bring Your Own Channel for CCaaS connector. This value could be a Visualforce page or a public URL.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| CustomConfigId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The foreign key to the CustomEntityDefinition, which contains partner-specific custom settings. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
Relationship Name
CustomConfig
Refers To
CustomObject
|
| CustomIconId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the static resource used to identify the contact center integration, such as a Contact Center as a Service (CCaaS) provider logo. The static resource must be in SVG format. This field is optional. Available in API version 62.0 and later.
This field is a relationship field.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Bring Your Own Channel for CCaaS
Relationship Name
CustomIcon
Refers To
StaticResource
|
| CustomLoginUrl |
Type
url
Properties
Filter, Group, Nillable, Sort
Description
The URL that hosts your telephony system or CCaaS system login page.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS (supported when combined with a telephony CCaaS integration)
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This field is automatically generated, but you can supply your own value if you create the record using the API.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated ConversationVendorInfo type in Metadata API. The full name can include a namespaceprefix. 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.
|
| IntegrationClassId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The foreign key to the partner Apex class implementing supported interfaces. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
This field is a relationship field.
Relationship Name
IntegrationClass
Refers To
ApexClass
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the master label (MasterLabel) in the user interface.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The partner vendor's display name as it appears in the UI. This name appears in several places in the UI, so include the partner vendor name for easy identification. For Service Cloud Voice, this label also represents the telephony provider name in the contact center record.
For Service Cloud Voice with Amazon Connect, this field is always set to Service Cloud Voice.
|
| Metadata |
Type
[ConversationVendorInfo](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_conversationvendorinfo.htm)
Properties
Create, Nillable, Update
Description
The ConversationVendorInfo's metadata.
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.
|
| NamedCredentialId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
A sample-named credential that can be used for Apex callouts to the partner system. Available in API version 53.0 and later.
Applies to the following implementations:
- Service Cloud Voice with Partner Telephony
- Service Cloud Voice with Partner Telephony from Amazon Connect
- Bring Your Own Channel for CCaaS
This field is a relationship field.
Relationship Name
NamedCredential
Refers To
NamedCredential
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| TelephonySettingsComponent |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the Lightning Web Component (LWC) that is used to display additional agent settings in the Omni-Channel widget. This value is in the format mynamespace:componentName, where mynamespace is the namespace associated with the Service Cloud Voice package that was created, and componentName is the FQDN of the Lightning component.
Available in API version 54.0 and later.
Applies to the following implementation:
- Service Cloud Voice with Partner Telephony
|
| VendorType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The Service Cloud feature the partner vendor supports.
Possible values are:
- Amazon\_Connect — For Service Cloud Voice with Amazon Connect.
- BringYourOwnChannelPartner — For Bring Your Own Channel for Messaging. Available in API version 60.0 and later.
- BringYourOwnContactCenter — For Bring Your Own Channel for Contact Center as a Service (CCaaS). Available in API version 60.0 and later.
- ServiceCloudVoicePartner — For Service Cloud Voice with Partner Telephony or Service Cloud Voice with Partner Telephony from Amazon Connect.
Available in API version 53.0 and later.
|
# CspTrustedSite
Represents a trusted URL. For each CspTrustedSite, you can specify Content Security Policy (CSP) directives and permissions policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted URL access to a browser feature. In API version 58.0 and earlier, CspTrustedSite included only CSP directives and was referred to as CSP Trusted Sites in Salesforce Setup. Available in API version 39.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## 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
| CanAccessCamera |
boolean |
Indicates whether this CspTrustedSite can access the user’s
camera (true) or not (false). The default value is
false. This field takes
effect only when the
enablePermissionsPolicy field equals
true and the
grantCameraAccess field equals TrustedUrls in the SecuritySettings metadata API
type.
This field is available in API version 59.0 and
later.
|
| CanAccessMicrophone |
boolean |
Indicates whether this CspTrustedSite can access the user’s
microphone (true) or not
(false). The default value
is false. This field takes
effect only when the
enablePermissionsPolicy field equals
true and the
grantMicrophoneAccess field equals
TrustedUrls in the
SecuritySettings metadata API
type.
This field is available in API version 59.0 and
later.
|
| Context |
CspTrustedSiteContext (enumeration of type string) |
Declares the scope of the CSP directives for the trusted URL.
-
All—Apply the
CSP directives to all supported context types.
-
Communities—Apply the CSP directives to
Experience Builder sites only.
-
FieldServiceMobileExtension—Apply the
CSP directives to the Field Service Mobile Extensions only.
Available in API version 47.0 and later.
-
LEX—Apply the
CSP directives to Lightning Experience only.
-
LightningOut—Reserved
for future use. Available in API version 64.0 and later
-
VisualForce—Apply the CSP directives to
custom Visualforce pages only. Available in API version 55.0
and later.
For custom Visualforce pages, content is restricted to
trusted URLs only if the page’s cspHeader attribute is set to true.
This field is
available in API version 44.0 and later.
|
| Description |
string |
The description of this trusted URL. |
| EndpointUrl |
string |
Required. The URL for this CspTrustedSite.
Before February 2025, it was possible to save a malformed
URL. Malformed URLs are excluded from generated CSP HTTP
headers. To keep your Trusted URLs list accurate, remove any
malformed entries. You can use an Apex class to find all
malformed URLs. See the knowledge article, Identify Malformed Trusted
URLs.
|
| IsActive |
boolean |
Indicates whether this CspTrustedSite is active (true) or not (false). The default value is true. |
| IsApplicableToConnectSrc |
boolean |
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load URLs using script interfaces from
this trusted URL (true) or not
(false). This field has a
default value of false. This
field is available in API version 48.0 and later.
|
| IsApplicableToFontSrc |
boolean |
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load fonts from this trusted URL (true) or not (false). This field is available in
API version 48.0 and later. |
| IsApplicableToFrameSrc |
boolean |
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load resources contained in <iframe> elements from this
trusted URL (true) or not
(false). This field has a
default value of false. This
field is available in API version 48.0 and later.
|
| IsApplicableToImgSrc |
boolean |
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load images from this trusted URL (true) or not (false). This field has a default
value of false. This field is
available in API version 48.0 and later.
|
| IsApplicableToMediaSrc |
boolean |
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load audio and video from this trusted URL
(true) or not (false). This field has a default
value of false. This field is
available in API version 48.0 and later.
|
| IsApplicableToStyleSrc |
boolean |
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load style sheets from this trusted URL
(true) or not (false). This field has a default
value of false. This field is
available in API version 48.0 and later.
|
| MobileExtension |
string |
Reserved for future use. |
## Usage
For each CSPTrustedSite, at least one field starting with grantAccess or isApplicableTo must be set to true.
In API versions 50.0 to 58.0, if all isApplicable fields are false, the isApplicableToImgSrc field is set to true. In API version 49.0 and earlier, if all isApplicable fields are false, those fields all default to true.
To ensure smooth integration across Salesforce products, Salesforce includes URLs in each of the CSP directives that correspond to the isApplicable fields, even though those URLs aren’t defined as CspTrustedSite components. Salesforce regularly updates those URLs based on the latest requirements.
# CustomApplication
Represents a custom or standard application. An application is a list of tab references, a description, and a logo. It also includes access to the associated CustomApplication type and related fields in Metadata API. Available in Tooling API version 42.0 or later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update()
## Supported REST HTTP Methods
Query, GET, POST, PATCH
## Fields
| Field Name | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The optional description of the application.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The developer name of the application.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the application.
|
| IsNavAutoTempTabsDisabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the navigation automatically creates temporary tabs settings. Defaults to false. Available in API version 43.0 and later.
|
| IsNavPersonalizationDisabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether navigation personalization is disabled. Defaults to false. Available in API version 43.0 and later.
|
| IsNavTabPersistenceDisabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether workspace tabs are cleared for each new console session (true) or not (false). Defaults to false. Available in API version 54.0 and later.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The label of the application.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
[mns:CustomApplication](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_customapplication.htm "HTML (New Window)")
Properties
Create, Nillable, Update
Description
Provides access to the associated CustomApplication type and related fields in Metadata API.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix of the application.
|
| NavType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Not updateable. The type of navigation the application uses. Valid values are:
- Console
- Standard
|
| UiType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of user interface that the application uses. Valid values are:
- Aloha
- Lightning
|
| UtilityBar |
Type
[FlexiPage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flexipage.htm "Represents a Lightning page. A Lightning page is a customizable page composed of regions containing Lightning components.")
Properties
Filter, Group, Nillable, Sort
Description
The Lightning page used as the utility bar for the application.
|
| UtilityBarId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the utility bar associated with this application.
|
# CustomField
Represents a custom field on a custom object that stores data unique to your organization. Includes access to the associated CustomField object and related fields in Salesforce Metadata API. Available from API version 28.0 or later.
## Supported SOAP Calls
create(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
Query, GET, POST, PATCH
## Fields
| Field Name | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer’s internal name for the custom field. For example, the internal name for the custom field CF\_\_c is CF.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
CustomFieldMetadata
Properties
Create, Nillable, Update
Description
CustomFieldMetadata includes these fields. For more information, see [CustomField](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/customfield.htm "HTML (New Window)") in the Metadata API Developer Guide.
- caseSensitive
- complianceGroup
- defaultValue
- deleteConstraint
- deprecated\*
- description
- displayFormat
- displayLocationInDecimal
- elementType\*
- escapeMarkup
- externalDeveloperName
- externalId
- formula
- formulaTreatBlanksAs
- inlineHelpText
- isAIPredictionField
- isFilteringDisabled
- isNameField
- isSortingDisabled
- label
- length
- maskChar
- maskType
- picklist
- populateExistingRows
- precision
- readOnlyProxy
- referenceTo
- relationshipLabel
- relationshipName
- relationshipOrder
- reparentableMasterDetai
- required
- restrictedAdminField
- scale
- startingNumber
- stripMarkup
- summarizedField
- summaryFilterItems
- summaryForeignKey
- summaryOperation
- trackFeedHistory
- trackHistory
- type
- unique
- visibleLines
- writeRequiresMasterRead
\* Reserved for future use.
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 of the custom field. A custom field can be in an extension namespace different than the object.
|
| creationType |
Type
DefinitionCreationType (enumeration of type string)
Properties
Filter, Group, Nillable, Sort
Description
Describes whether this field was added by the user or as part of a standard taxonomy.
Available in API version 67.0 and later:
- Ad\_Audience\_Insights
- Auxiliary
- Clean\_Room
- Deletion\_Records
- Problem\_Records
|
| TableEnumOrId |
Type
Restricted picklist
Properties
Filter, Group, Sort
Description
The enum (for example, Account) or ID of the object this field is on.
|
# CustomFieldDisplay
Represents the view type assigned to product attribute custom fields. This object is available in API version 63.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
CustomFieldDisplay is available only if the B2B or D2C Commerce license is enabled.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.
|
| DisplayType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The view type of the product attribute custom fields.
Possible values are:
- ColorSwatch
- Dropdown
- Pill
The default value is Dropdown.
|
| FieldApiName |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The unique name of the product attribute, for example, color\_c.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the CustomFieldDisplay.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for the CustomFieldDisplay. In the UI, this field is Custom Field Display.
|
| 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.
|
# CustomFieldMember
Represents the working copy of a field for editing or saving in a MetadataContainer. This object is available in API version 33.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
To access CustomFieldMember, you must have both the View All Data and Customize Application user permissions.
## Fields
| Field Name | Details |
| --- | --- |
| Content |
Type
string
Properties
None
Description
A string representation of CustomField that contains the field’s metadata.
|
| ContentEntityId |
Type
ID
Properties
Create, Filter, Group, Sort
Description
A reference to a custom field.
There can be only one ContentEntityId per CustomField, otherwise, an error is reported.
|
| FullName |
Type
string
Properties
Group, Nillable
Description
The full name of the associated object in the Metadata API. Use to avoid race conditions on create, before you have IDs.
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.
|
| IsDeleted |
Type
boolean
Properties
Group, Nillable
Description
Indicates whether the object is marked as deleted (true) or not (false).
|
| LastSyncDate |
Type
dateTime
Properties
Filter, Sort
Description
The date that this CustomField was replicated from the underlying entity.
|
| Metadata |
Type
CustomField
Properties
None
Description
An object that describes the version, status, and packaged versions of the corresponding CustomField.
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.
|
# CustomHelpMenuSection
Represents a section of the Lightning Experience help menu that the admin added to display custom, org-specific help resources. Available in API version 45.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
Query, DELETE, GET, POST, PATCH
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the custom help section in the API. This name can contain only underscores and alphanumeric characters and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. The label corresponds to section title in the user interface. Limit: 80 characters.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance slows down while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Fullname |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Required. Language of the label.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The name of the resource. Specify up to 100 characters.
|
| Metadata |
Type
mns:CustomHelpMenuSection
Properties
Create, Nillable, Update
Description
Metadata for the item contained in the custom help section, including label, URL, and sort order.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
# CustomHttpHeader
Represents a custom HTTP header used with OData 2.0 or OData 4.0 external data sources. Custom HTTP headers provide context information from Salesforce such as region, org details, or the role of the person viewing the external object. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Filter, Nillable, Sort, Update
Description
A text description of the header field’s purpose.
|
| HeaderFieldName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Name of the header field. The name must contain at least one alphanumeric character or underscore. It can also include: ! # $ % & ' \* + - . ^ \_ \` | ~
|
| HeaderFieldValue |
Type
string
Properties
Create, Filter, Sort, Update
Description
A formula that resolves to the value for the header. The values in the formula must evaluate to a string. If the formula resolves to null and an empty string, the header isn’t sent.
|
| IsActive |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the custom HTTP header is available to use (true) or unavailable (false).
|
| ParentId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the entity to which this custom HTTP header is related.
|
# CustomMsgChannel
Represents a custom conversation channel and stores event-driven Messaging settings. Custom conversation channels are implemented for Bring Your Own Channel for Messaging and Bring Your Own Channel for CCaaS Messaging channels. This object is available in API version 63.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
## Fields
| Field | Details |
| --- | --- |
| ChannelDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
Specifies the ConversationChannelDefinition for the custom channel.
This field is a relationship field.
Relationship Name
ChannelDefinition
Refers To
ConversationChannelDefinition
|
| EventCapabilitiesIsInboundAcknowledgementEnabled |
Type
boolean
Properties
Create, Filter, Update
Description
Indicates whether the Salesforce admin has enabled read receipts and delivery receipts for inbound messages in the Messaging settings (true) or whether the admin hasn’t enabled these inbound acknowledgments (false). The default value is false, meaning inbound acknowledgments are disabled by default even if supported by the partner.
This field is available in API version 65.0 and later. Use this field instead of HasInboundReceipts.
|
| EventCapabilitiesIsProgressIndicatorEnabled |
Type
boolean
Properties
Create, Filter, Update
Description
Indicates whether the Salesforce admin has enabled AI agent progress indicators in the Messaging settings (true) or whether the admin hasn’t enabled progress indicators (false). The default value is false, meaning progress indicators for AI agents are disabled by default even if supported by the partner.
This field is available in API version 65.0 and later.
|
| EventCapabilitiesIsTypingIndicatorDisabled |
Type
boolean
Properties
Create, Filter, Update
Description
Indicates whether the Salesforce admin has enabled typing indicators for outbound messages in the Messaging settings (false) or whether the admin hasn’t enabled outbound typing indicators (true). The default value is false, meaning the outbound typing indicators are enabled by default.
This field is available in API version 65.0 and later. Use this field instead of HasTypingIndicator.
|
| HasInboundReceipts |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Available in API versions 63.0 to 65.0. In API version 66.0 and later, this field is removed. Use EventCapabilitiesIsInboundAcknowledgementEnabled instead.
The default value is false.
|
| HasTypingIndicator |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Available in API versions 63.0 to 65.0. In API version 66.0 and later, this field is removed. Use EventCapabilitiesIsTypingIndicatorDisabled instead.
|
# CustomNotifActionDef
Represents the metadata associated with a mobile action group notification definition. This object is available in API version 66.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
## Fields
| Field | Details |
| --- | --- |
| ActionGroupId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Unique identifier for the field.
This field is a relationship field.
Relationship Name
ActionGroup
Relationship Type
Master-detail
Refers To
CustomNotificationActionGroup (the master object)
|
| ActionName |
Type
string
Properties
Create, Filter, Group, Sort
Description
Name of the mobile action group. Use a unique name per custom notification type. The field can contain only underscores and alphanumeric characters. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| ActionOrder |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
Order in which this action appears in the mobile action group. Select a number between 1 and 3, as there are 3 maximum actions in a group.
|
| ActionType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Possible values are:
- NotificationApiAction
- Share
|
| Label |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for the action.
|
| TargetId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
This relationship field is the name of the ApexClass that implements handling of the action. TargetId is used only when the ActionType is set to NotificationApiAction.
Relationship Name
Target
Refers To
ApexClass
|

#### Note
CustomNotifActionDef is exposed in Tooling API to user profiles with the View Setup and Configuration permission. To create and edit mobile action groups, the Customize Application permission is required.
# CustomNotificationActionGroup
Stores information about custom notification action groups. This object is available in API version 66.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Fields
| Field | Details |
| --- | --- |
| CustomNotificationTypeId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
This field is a relationship field.
Relationship Name
CustomNotificationType
Relationship Type
Master-detail
Refers To
CustomNotificationType (the master object)
|
| GroupName |
Type
string
Properties
Create, Filter, Group, Sort
Description
Name of the mobile action group. Use a unique name per custom notification type.
|

#### Note
CustomNotificationActionGroup is exposed in Tooling API to user profiles with the View Setup and Configuration permission. To create and edit mobile action groups, the Customize Application permission is required.
# CustomNotificationType
Stores information about custom notification types. This object is available in API version 46.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Fields
| Field | Details |
| --- | --- |
| CustomNotifTypeName |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Unique, Update
Description
Specifies a notification type name. The notification type name is unique within your organization. Maximum number of characters: 80.
|
| Description |
Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Specifies a general description of the notification type, which is displayed with the notification type name. Maximum number of characters: 255.
|
| Desktop |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the desktop delivery channel is enabled (true) or not (false). The default value is false.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Specifies the API name of the notification type.
|
| IsSlack |
Type
boolean
Properties
Reserved for future use.
Description
Reserved for future use.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies the language of the custom notification type. The value for this field is the language value of the org.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Specifies the notification type label.
|
| Mobile |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the mobile delivery channel is enabled (true) or not (false). The default value is false.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies the namespace of the notification type, if installed with a managed package.
|

#### Note
CustomNotificationType is exposed in Tooling API to user profiles with the View Setup and Configuration permission. To create and edit notification types, the Customize Application permission is required.
# CustomObject
Represents a custom object that stores data unique to your organization. Includes access to the associated CustomObject object and related fields in Salesforce Metadata API. Available from API version 31.0 or later.
## Supported SOAP Calls
query(), retrieve(), search()
## Supported REST HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| CustomHelpId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
The control that contains the help content if this custom object has customized help content.
|
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
The object’s description. This can be useful to describe the reason for creating the object or its intended use.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer’s internal name for the custom object. For example, the internal name for the custom object CO\_\_c is CO.
|
| ExternalName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Maps to a table in the external data source. If you created the external object using Validate and Sync for the data source, this name is automatically created.
|
| ExternalRepository |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Maps to a table in the external data source. If you created the external object using Validate and Sync for the data source, this name is automatically created; do not modify it.
|
| Language |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
The language of the action. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package of which the custom object is a part.
|
| creationType |
Type
DefinitionCreationType (enumeration of type string)
Properties
Filter, Group, Nillable, Sort
Description
Describes whether this object was added by the user or as part of a standard taxonomy.
Available in API version 67.0 and later:
- Ad\_Audience\_Insights
- Auxiliary
- Clean\_Room
- Deletion\_Records
- Problem\_Records
|
| SharingModel |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The sharing model. Values are:
- Edit
- ControlledByparent
- None
- Read
|
# CustomTab
Represents a custom tab.
This object is available in the Tooling API version 33.0 and later.
## Supported Calls
create(), delete(), query(), retrieve(), update()
## Fields
| Field | Details |
| --- | --- |
| ContentId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Read-only. The ID of the item that the custom tab points to. For Lightning components, this is the ID of the component bundle. For custom object tabs, this field is null.
|
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
The tab’s description.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The developer’s internal name for the custom tab.
|
| EncodingKey |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Read-only. Type of encoding assigned to the URL called by the tab. The default encoding setting is Unicode: UTF-8. Change it if you are passing information to a URL that requires data in a different format. This option is available when the value URL is selected in the tab type. Valid values are:
- UTF-8—Unicode (UTF-8)
- ISO-8859-1—General US & Western Europe (ISO-8859–1, ISO-LATIN-1)
- Shift\_JIS—Japanese (Shift-JIS)
- ISO-2022-JP—Japanese (JIS)
- EUC-JP—Japanese (EUC-JP)
- x-SJIS\_0213—Japanese (Shift-JIS\_2004)
- ks\_c\_5601-1987—Korean (ks\_c\_5601-1987)
- Big5—Traditional Chinese (Big5)
- GB2312—Simplified Chinese (GB2312)
- Big5-HKSCS—Traditional Chinese Hong Kong (Big5–HKSCS)
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The name of the tab. The value of this field depends on the type of tab, and the API version.
- For custom object tabs, the fullName is the developer-assigned name of the custom object (MyCustomObject\_\_c, for example).
- For Web tabs, the fullName is the developer-assigned name of the tab (MyWebTab, for example).
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.
|
| HasSidebar |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the tab displays the sidebar panel.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, idLookup, Nillable, Sort
Description
Required. The label for the custom tab, which displays in Setup.
|
| Metadata |
Type
CustomTabMetadata
Properties
Create, Nillable, Update
Description
Custom tab metadata.
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.
|
| MotifName |
Type
string
Properties
Filter, Group, Sort
Description
Read-only. The name of the tab style assigned to the custom tab.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package of which the custom tab is a part.
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of custom tab. Valid values are:
- apexPage
- aura
- customObject
- flexiPage
- sControl
- url
|
| Url |
Type
string
Properties
Filter, Nillable, Sort
Description
The URL for the external web-page to embed in this tab.
|
# DataAssessmentConfigItem
Represents a saved configuration for a specific vendor’s package for data assessment. This object is available in API version 40.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| DataAssessmentConfigField |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
A list of fields on the external object that a specific data package supports.
|
| DataAssessmentConfigValue |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The configuration value selected for a field in DataAssessmentConfigField.
|
| SobjectType |
Type
picklist
Properties
Create, Filter, Group, Nillable
Description
The object’s API name.
|
## Usage
The following example adds a new configuration for the configuration field on the external data source.
{
"SobjectType" : "01Ixx0000003S4f", //External object Id or api name
"DataAssessmentConfigField" : "00Nxx000001DRL8", //Custom field Id or api name
"DataAssessmentConfigValue" : "Salesforce" // value
}
# DataIntegrationRecordPurchasePermission
Represents Lightning Data purchase credits that a Salesforce admin has granted to users. Available in Tooling API version 42.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, HEAD, and POST
For operations on a specific object, DataIntegrationRecordPurchasePermission supports GET, PATCH, DELETE, and HEAD.
## Special Access Rules
As of Spring ’20 and later, only your Salesforce org's internal users can access this object.
## Fields
| Field | Details |
| --- | --- |
| ExternalObject |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
This field can hold a single value: the name of the data service record matched to the Salesforce record.
|
| UserId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of a user to whom purchase credits are assigned.
|
| UserRecordPurchaseLimit |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The number of purchase credits assigned to a user.
|
## Usage
Sample GET response:
{
"attributes" : {
"type" : "DataIntegrationRecordPurchasePermission",
"url" : "/services/data/v42.0/tooling/sobjects/DataIntegrationRecordPurchasePermission/0GyR0000000009xKAA"
},
"Id" : "0GyR0000000009xKAA",
"IsDeleted" : false,
"CreatedDate" : "2017-11-02T22:02:36.000+0000",
"CreatedById" : "005R0000000F4ItIAK",
"LastModifiedDate" : "2017-12-12T18:22:35.000+0000",
"LastModifiedById" : "005R0000000F4ItIAK",
"SystemModstamp" : "2017-12-12T18:22:35.000+0000",
"UserId" : "005R0000000F4ItIAK",
"ExternalObject" : "managedPackageNamespace\_\_CustomObject\_\_x",
"UserRecordPurchaseLimit" : 300
}
# DataSourceBundleDefinition
Represents the bundle of streams that a user adds to a data kit. This object is available in API version 52.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
You need Data 360 permission to access this object.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A description of the associated data source bundle. This field is available in API version 55.0 and later.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Unique name for the data source bundle. Identical value to FullName.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
|
| Icon |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The icon used in the deployment flow. This field is available in API version 55.0 and later.
|
| IsMultiDeploymentSupported |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the bundle can be deployed multiple times or not. The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Languages supported in the deployment.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cac—Chuj
- cak—Kaqchikel
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LU—German (Luxembourg)
- el—Greek
- el\_CY—Greek (Cyprus)
- en\_AE—English (United Arab Emirates)
- en\_AU—English (Australian)
- en\_BE—English (Belgium)
- en\_CA—English (Canadian)
- en\_CH—English (Switzerland)
- en\_CY—English (Cyprus)
- en\_CZ—English (Czechia)
- en\_DE—English (Germany)
- en\_DK—English (Denmark)
- en\_ES—English (Spain)
- en\_FR—English (France)
- en\_GB—English (UK)
- en\_HK—English (Hong Kong)
- en\_HU—English (Hungary)
- en\_IE—English (Ireland)
- en\_IL—English (Israel)
- en\_IN—English (Indian)
- en\_IT—English (Italy)
- en\_NL—English (Netherlands)
- en\_NO—English (Norway)
- en\_NZ—English (New Zealand)
- en\_PH—English (Philippines)
- en\_PL—English (Poland)
- en\_RO—English (Romania)
- en\_SE—English (Sweden)
- en\_SG—English (Singapore)
- en\_SK—English (Slovakia)
- en\_US—English
- en\_ZA—English (South Africa)
- eo—Esperanto (Pseudo)
- es—Spanish
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_LU—French (Luxembourg)
- fr\_MA—French (Morocco)
- ga—Irish
- gu—Gujarati
- haw—Hawaiian
- hi—Hindi
- hmn—Hmong
- hr—Croatian
- ht—Haitian Creole
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- iw\_EO—Esperanto RTL (Pseudo)
- ja—Japanese
- ji—Yiddish
- ka—Georgian
- kk—Kazakh
- kl—Greenlandic
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- no—Norwegian
- pa—Punjabi
- pl—Polish
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- quc—Kiche
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- ru\_AM—Russian (Armenia)
- ru\_BY—Russian (Belarus)
- ru\_KG—Russian (Kyrgyzstan)
- ru\_KZ—Russian (Kazakhstan)
- ru\_LT—Russian (Lithuania)
- ru\_MD—Russian (Moldova)
- ru\_PL—Russian (Poland)
- ru\_UA—Russian (Ukraine)
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sm—Samoan
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_MY—Chinese (Malaysia)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the state of an entity in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Indicates the name of the bundle.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
Indicates additional information that's necessary for the data source bundle.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Namespace prefix associated with this object. Each Developer Edition org that creates a managed package has a unique namespace prefix.
|
# DataStreamTemplate
Represents metadata about the data stream that a user adds to a data kit. This object is available in API version 52.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
You need Data 360 permission to access this object.
## Fields
| Field | Details |
| --- | --- |
| DataSourceBundleDefinitionId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the DataSourceBundleDefinition, which refers to the data stream bundle to which a data stream template belongs.
This field is a relationship field.
**Relationship Name**
DataSourceBundleDefinition
**Relationship Type**
Look up
|
| DataSourceObjectId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the DataSourceObject, which represents the object from where the data was sourced.
This field is a relationship field.
**Relationship Name**
DataSourceObject
**Relationship Type**
Look up
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Unique name for the data stream template. Identical value to FullName.
|
| FilterCriteria |
Type
textarea
Properties
Nillable
Description
Describes the filter applied to the data stream before the information is sent to Data 360.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Languages supported in the deployment.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cac—Chuj
- cak—Kaqchikel
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LI—German (Liechtenstein)
- de\_LU—German (Luxembourg)
- el—Greek
- el\_CY—Greek (Cyprus)
- en\_AD—English (Andorra)
- en\_AE—English (United Arab Emirates)
- en\_AG—English (Antigua and Barbuda)
- en\_AL—English (Albania)
- en\_AT—English (Austria)
- en\_AU—English (Australian)
- en\_BA—English (Bosnia and Herzegovina)
- en\_BB—English (Barbados)
- en\_BE—English (Belgium)
- en\_BG—English (Bulgaria)
- en\_BS—English (Bahamas)
- en\_BZ—English (Belize)
- en\_CA—English (Canadian)
- en\_CH—English (Switzerland)
- en\_CY—English (Cyprus)
- en\_CZ—English (Czechia)
- en\_DE—English (Germany)
- en\_DK—English (Denmark)
- en\_DM—English (Dominica)
- en\_EE—English (Estonia)
- en\_ES—English (Spain)
- en\_FI—English (Finland)
- en\_FR—English (France)
- en\_GB—English (UK)
- en\_GD—English (Grenada)
- en\_GI—English (Gibraltar)
- en\_GR—English (Greece)
- en\_GY—English (Guyana)
- en\_HK—English (Hong Kong)
- en\_HR—English (Croatia)
- en\_HU—English (Hungary)
- en\_IE—English (Ireland)
- en\_IL—English (Israel)
- en\_IN—English (Indian)
- en\_IS—English (Iceland)
- en\_IT—English (Italy)
- en\_JM—English (Jamaica)
- en\_JP—English (Japan)
- en\_KN—English (St. Kitts and Nevis)
- en\_KR—English (South Korea)
- en\_LC—English (St. Lucia)
- en\_LI—English (Liechtenstein)
- en\_LT—English (Lithuania)
- en\_LU—English (Luxembourg)
- en\_LV—English (Latvia)
- en\_MC—English (Monaco)
- en\_ME—English (Montenegro)
- en\_MK—English (North Macedonia)
- en\_MT—English (Malta)
- en\_MY—English (Malaysian)
- en\_NL—English (Netherlands)
- en\_NO—English (Norway)
- en\_NZ—English (New Zealand)
- en\_PH—English (Phillipines)
- en\_PL—English (Poland)
- en\_PT—English (Portugal)
- en\_RO—English (Romania)
- en\_RS—English (Serbia)
- en\_SE—English (Sweden)
- en\_SG—English (Singapore)
- en\_SI—English (Slovenia)
- en\_SK—English (Slovakia)
- en\_TH—English (Thailand)
- en\_TR—English (Turkey)
- en\_TT—English (Trinidad and Tobago)
- en\_TW—English (Taiwan)
- en\_US—English
- en\_VC—English (St. Vincent and the Grenadines)
- en\_ZA—English (South Africa)
- eo—Esperanto (Pseudo)
- es—Spanish
- es\_AD—Spanish (Andorra)
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_HT—French (Haiti)
- fr\_LU—French (Luxembourg)
- fr\_MA—French (Morocco)
- ga—Irish
- gu—Gujarati
- haw—Hawaiian
- hi—Hindi
- hmn—Hmong
- hr—Croatian
- ht—Haitian Creole
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- iw\_EO—Esperanto RTL (Pseudo)
- ja—Japanese
- ji—Yiddish
- ka—Georgian
- kk—Kazakh
- kl—Greenlandic
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- nl\_SR—Dutch (Suriname)
- no—Norwegian
- pa—Punjabi
- pl—Polish
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- quc—Kiche
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- ru\_AM—Russian (Armenia)
- ru\_BY—Russian (Belarus)
- ru\_KG—Russian (Kyrgyzstan)
- ru\_KZ—Russian (Kazakhstan)
- ru\_LT—Russian (Lithuania)
- ru\_MD—Russian (Moldova)
- ru\_PL—Russian (Poland)
- ru\_UA—Russian (Ukraine)
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sm—Samoan
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sv\_FI—Swedish (Finland)
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_MY—Chinese (Malaysia)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the state of an entity in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Indicates the name of the bundle.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
Describes additional information that's necessary for the data stream template.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Namespace prefix associated with this object. Each Developer Edition org that creates a managed package has a unique namespace prefix.
|
| RefreshDayOfMonth |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The duration of the day of the month after which the data stream template must be refreshed.
|
| RefreshDayOfWeek |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The duration of the day of the week after which the data stream must be refreshed.
|
| RefreshFrequency |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The frequency with which the data stream must be refreshed.
Possible values are:
- BATCH—Batch
- DAILY—Daily
- EVERY\_12\_HOURS—Every 12 Hours
- EVERY\_4\_HOURS—Every 4 Hours
- HOURLY—Hourly
- MINUTES\_15—15 Minutes
- MINUTES\_30—30 Minutes
- MINUTES\_5—5 Minutes
- MONTHLY—Monthly
- NONE—None
- NOT\_APPLICABLE—Not Applicable
- STREAMING—Streaming
- WEEKLY—Weekly
|
| RefreshHours |
Type
multipicklist
Properties
Filter, Nillable
Description
The duration after which the data stream template must be refreshed.
Possible values are:
- 0
- 1
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 2
- 20
- 21
- 22
- 23
- 3
- 4
- 5
- 6
- 7
- 8
- 9
|
| RefreshMode |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The mode of refresh.
Possible values are:
- FULL\_REFRESH—Full Refresh
- INCREMENTAL—Incremental
- NEAR\_REAL\_TIME\_INCREMENTAL—Near Real-time Incremental
- NOT\_APPLICABLE—Not Applicable
- PARTIAL\_UPDATE—Partial Update
- REPLACE—Replace By Date
- UPSERT—Upsert
|
| RefreshStartDate |
Type
date
Properties
Filter, Group, Nillable, Sort
Description
The date to retrieve data based on the refresh frequency data. Available in API version 62.0 and later.
|
| SourceObjectName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the source object from which data is streamed. Available in API version 62.0 and later.
|
| StreamType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of data stream. Available in API version 62.0 and later.
Possible values are:
- DIRECT\_ACCESS—Direct Access
- DIRECT\_ACCESS\_ACCELERATED—Direct Access (Accelerated)
- INGEST—Ingest
|
| StreamingAppDataConnectorType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The connector app for data streaming. Available in API version 63.0 and later.
Possible values are:
- MobileApp—Mobile App
- WebApp—Web App
|
| TemplateVersion |
Type
int
Properties
Defaulted on create, Filter, Group, Nillable, Sort
Description
The version number of the template. Available in API version 62.0 and later.
|
# DataType
Represents the datatype of a field. Use this object with EntityDefinition, EntityParticle, or FieldDefinition to simplify queries. Available in Tooling API version 34.0 and later.
## Supported SOAP Calls
query()
## 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.")
## Special Access Rules
As of Spring ’20 and later, only authenticated internal and external users can access this object.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**.
|
| ContextServiceDataTypeId | Don’t use this field. It’s reserved for future use. Properties and behavior are likely to change. |
| ContextWsdlDataTypeId | Don’t use this field. It’s reserved for future use. Properties and behavior are likely to change. |
| 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. To simplify queries, use this field.
|
| IsComplex |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the datatype contains other datatypes, in contrast to a simple datatype like string.
|

#### Note
DataType fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for DataType 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. DataType is still exposed in Tooling API to User Profiles with the ViewSetup permission.
## Example
From an object, retrieve all the fields of one datatype.
SELECT DataType, QualifiedApiName
FROM EntityParticle
WHERE DataType = 'phone' AND
EntityDefinition.QualifiedApiName = 'Account'
## SOQL Limitations
This object doesn't support some SOQL operations.
GROUP BY
Example Query: SELECT COUNT(qualifiedapiname), isfeedenabled FROM EntityDefinition GROUP BY isfeedenabled
Error Returned: The requested operation is not yet supported by this SObject storage type, contact salesforce.com support for more information.
LIMIT, LIMIT OFFSET
Example Queries:
SELECT qualifiedapiname FROM EntityDefinition LIMIT 5
SELECT qualifiedapiname FROM EntityDefinition LIMIT 5 OFFSET 10
An incorrect result is returned because LIMIT and LIMIT OFFSET are ignored.
NOT
Example Query: SELECT qualifiedapiname FROM EntityDefinition WHERE qualifiedapiname!='Account'
Error Returned: Only equals comparisons permitted
OR
Example Query: SELECT qualifiedapiname, keyprefix FROM EntityDefinition WHERE isdeletable=true OR (isfeedenabled=false AND keyprefix='01j')
Error Returned: Disjunctions not supported
INCLUDES
Example Query: SELECT ComplianceGroup FROM FieldDefinition WHERE EntityDefinitionId = 'Account' AND ComplianceGroup includes('GDPR')
Error Returned: Unsupported filter type
# DebugLevel
Represents a set of log category levels to assign to a TraceFlag object. Multiple trace flags can use a debug level.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| ApexCode |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for Apex code. Includes information about Apex code. Can also include log messages generated by data manipulation language (DML) statements, inline SOQL or SOSL queries, the start and completion of triggers, the start and completion of test methods, and so on. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| ApexProfiling |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for profiling information. Includes cumulative profiling information, such as the limits for your namespace, the number of emails sent, and so on. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Callout |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for callouts. Includes the request-response XML that the server is sending and receiving from an external Web service. The request-response XML is useful when debugging issues related to SOAP API calls. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Database |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category for database activity. Includes information about database activity, including every DML statement or inline SOQL or SOSL query. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| dataAccess |
Type
ApexLogLevel (enumeration of type string)
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for rules and policy information for objects accessed from the UI, which can be used to determine why an object isn’t accessible.The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
\>
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer’s internal name for the debug level. Also displays in the Developer Console and in Setup.
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the MasterLabel. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Reserved for future use. However, this field is required and must contain a value. We suggest that you use the same value used for DeveloperName.
|
| nba |
Type
ApexLogLevel (enumeration of type string)
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for Einstein Next Best Action activity, including strategy execution details from Strategy Builder. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
\>
|
| System |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for calls to all system methods, such as the System.debug method. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Validation |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for validation rules. Includes information about validation rules, such as the name of the rule, or whether the rule evaluated true or false. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Visualforce |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for Visualforce. Includes information about Visualforce events, including serialization and deserialization of the view state or the evaluation of a formula field in a Visualforce page. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Wave |
Type
ApexLogLevel (enumeration of type string)
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for CRM Analytics. Includes information such as template processing errors and rules execution summaries. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
\>
|
| Workflow |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for workflow rules. Includes information for workflow rules, such as the rule name and the actions taken. This field is required. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
|
## Usage
If you delete a debug level, all the trace flags that use it are deleted.
# DelegateGroup
Represents a Delegate Group for queries. This object is available in Tooling API version 57.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique developer name for the delegate group.
|
| IsLoginAccessEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates login access is enabled for the developer group.
The default value is false.
|
| Name |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The label for the developer group.
|
# DelegateGroupGrant
Represents a Delegate Group Grant, indicating permissions granted to a delegate group. This object is available in Tooling API version 57.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DelegateGroupId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The id for the associated delegate group.
|
| GrantedId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The id for the associated object granted to the delegate group.
This field is a polymorphic relationship field.
Relationship Name
null
Relationship Type
Lookup
Refers To
CustomObject, Group, PermissionSet, PermissionSetGroup, Profile, User, UserRole
|
| KeyPrefix |
Type
string
Properties
Create, Defaulted on create, Filter, Group, Nillable, Sort
Description
The prefix of the object id that designates the object type.
|
# DelegateGroupMember
Represents users assigned to the delegate group This object is available in Tooling API version 57.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DelegateGroupId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The id of the associated delegate group.
|
| UserOrGroupId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The reference indicating the user id of the delegated administrator for the delegate group.

#### Note
User is the only valid value for this field. Group is reserved for future development.
This field is a polymorphic relationship field.
Relationship Name
null
Relationship Type
Lookup
Refers To
Group, User
|
# DeployDetails
A complex type that contains detailed XML for any compile errors reported in the asynchronous request defined by a ContainerAsyncRequest object. Replaces the JSON field CompilerErrors in Tooling API version 31.0 and later.
## Fields
| Field | Details |
| --- | --- |
| componentFailures |
Type
string
Description
The line number, component name and a short description for any compile errors. For example:
5
myApex
invalid name 'abc'
10
myApex2
invalid type 'hello'
|
# DeployRequest
Uses file representations of metadata components to create, update, or delete those components in a Salesforce org. This object is available in API version 49.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve().
## Supported REST HTTP Methods
GET, HEAD, Query
## Special Access Rules
Your client application must be logged in with the Modify Metadata Through Metadata API Functions OR Modify All Data permission.

#### Note
If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_modify_metadata_perm.htm) permission. Otherwise, enable the Modify All Data permission.
## Fields
| Field | Details |
| --- | --- |
| AllowMissingFiles |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If files that are specified in package.xml are not in the .zip file, specifies whether a deployment can still succeed (true) or not (false).Do not set this argument to true for deployment to production orgs.
The default value is false.
|
| AutoUpdatePackage |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If a file is in the .zip file but not specified in package.xml, specifies whether the file is automatically added to the package (true) or not (false). A retrieve() is issued with the updated package.xml that includes the .zip file. Do not set this argument to true for deployment to production orgs.
The default value is false.
|
| CanceledById |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the user who canceled the deployment. This is a relationship field.
Relationship Name
CanceledBy
Relationship Type
Lookup
|
| ChangeSetName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies the name of the change set for the deployment.
|
| CheckOnly |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether this deployment is being used to check the validity of the deployed files without making any changes in the organization (true) or not (false). A check-only deployment does not deploy any components or change the organization in any way.
The default value is false.
|
| CompletedDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the deployment process ended.
|
| DeployTestResults |
Type
QueryResult
Properties
Filter, Nillable, Sort
Description
Specifies the deployment test result.
|
| ErrorMessage |
Type
string
Properties
Filter, Nillable, Sort
Description
Message corresponding to the values in the ErrorStatusCode field, if any.
|
| ErrorStatusCode |
Type
QueryResult
Properties
Filter, Group, Nillable, Sort
Description
If an error occurred during the deploy() call, a status code is returned, and the message corresponding to the status code is returned in the ErrorMessagefield.For a description of each StatusCode value, see “StatusCode” in the [SOAP API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_quickstart_intro.htm).
|
| IgnoreWarnings |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether a deployment should continue even if the deployment generates warnings (true) or not (false).Do not set this argument to true for deployments to production organizations.
The default value is false.
|
| NumberComponentErrors |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of components that generated errors during this deployment.
|
| NumberComponentsDeployed |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of components deployed in the deployment process. Use this value with the NumberComponentsTotal value to get an estimate of the deployment’s progress.
|
| NumberComponentsTotal |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The total number of components in the deployment. Use this value with the NumberComponentsDeployed value to get an estimate of the deployment’s progress.
|
| NumberTestErrors |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of Apex tests that have generated errors during this deployment.
|
| NumberTestsCompleted |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of completed Apex tests for this deployment. Use this value with the NumberTestsTotal value to get an estimate of the deployment’s test progress.
|
| NumberTestsTotal |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The total number of Apex tests for this deployment. Use this value with the NumberTestsCompleted value to get an estimate of the deployment’s test progress. The value in this field is not accurate until the deployment has started running tests for the components being deployed.
|
| PurgeOnDelete |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether to purge on delete (true) or not (false).
The default value is false.
|
| RollbackOnError |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether any failure causes a complete rollback (true) or not (false). If false, whatever set of actions can be performed without errors are performed, and errors are returned for the remaining actions.
This parameter must be set to true if you are deploying to a production organization.
The default value is false.
|
| RunTestsEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether Apex tests were run as part of this deployment (true) or not (false). Tests are either automatically run as part of a deployment or can be set to run in DeployOptions for the deploy() call. For information on when tests are automatically run, see Running Tests in a Deployment.
The default value is false.
|
| SinglePackage |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether to deploy as a single package (true) or not (false)
The default value is false.
|
| StartDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Timestamp for when the deployment process began.
|
| StateDetail |
Type
string
Properties
Filter, Nillable, Sort
Description
Indicates which component is being deployed or which Apex test class is running.
|
| Status |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The current state of the deployment. Possible values are:
- Canceled
- Canceling
- Failed
- InProgress
- Pending
- Succeeded
- SucceededPartial
|
| TestLevel |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates which tests to run. Possible values are:
- NoTestRun
- RunAllTestsInOrg
- RunLocalTests
- RunSpecifiedTests
|
| Type |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The type of deployment to perform. Possible values are:
- Api (default)
- Changeset
|
# DocProcDefinition
Represents an Intelligent Document Processing (IDP) definition, which holds the identity and type of the definition. The versioned processing payload is stored on the child DocProcDefinitionVer object. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update()
## Special Access Rules
This object is available only if your org has one of these:
- The FlowDocumentProcessing platform license
- The FlowDocumentProcessingAddOn add-on license
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
The description of the document processing definition.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the document processing definition in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| LastUsedVersionNumber |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The highest version number ever allocated for this definition. Used to allocate the next version number.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The label for the document processing definition.
|
| Type |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The definition type: data extraction or classification.
Possible values are:
- Classification
- DataExtraction—Data Extraction
|
# DocProcDefinitionVer
Represents an immutable version of an Intelligent Document Processing (IDP) definition (DocProcDefinition). Multiple versions of the same definition can be active at the same time. A version is identified by its parent definition and VersionNumber. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update()
## Special Access Rules
This object is available only if your org has one of these:
- The FlowDocumentProcessing platform license
- The FlowDocumentProcessingAddOn add-on license
## Fields
| Field | Details |
| --- | --- |
| DocProcDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The parent document processing definition that owns this version.
This field is a relationship field.
Relationship Name
DocProcDefinition
Relationship Type
Master-detail
Refers To
DocProcDefinition (the master object)
|
| ExternalServiceRegistrationId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The External Service Registration that backs this definition version.
This field is a relationship field.
Relationship Name
ExternalServiceRegistration
Refers To
ExternalServiceRegistration
|
| Metadata |
Type
textarea
Properties
Create, Nillable, Update
Description
A map of custom key-value pairs serialized as JSON.
|
| MlModelName |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The IDP model identifier used for this version. Maps to an LLM Gateway model through the supported-models mapping.
|
| SchemaDefinition |
Type
textarea
Properties
Create, Nillable, Update
Description
The schema definition in JSON format.
|
| Status |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The lifecycle status of the version: draft, active, or inactive.
Possible values are:
- Active
- Draft
- Inactive
|
| VersionNumber |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The version number, unique within a definition.
|
# Document
Represents a file that a user has uploaded. Unlike Attachment records, documents are not attached to a parent object. Available in Tooling API version 38.0 and later.
## Supported SOAP Calls
getDeleted(), getUpdated(), query(), retrieve(), search()
## Supported REST HTTP Methods
GET
## Limitations
[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 |
| --- | --- |
| AuthorId |
Type
reference
Properties
Filter, Group, Sort
Description
ID of the user who is responsible for the document.
|
| Body |
Type
base64
Properties
Nillable
Description
Required. Encoded file data. If specified, then do not specify a URL.
|
| BodyLength |
Type
int
Properties
Filter, Group, Sort
Description
Size of the file (in bytes). If specified, then do not specify a URL.
|
| ContentType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Type of content. Label is **Mime Type**. Limit: 120 characters.
If the Don't allow HTML uploads as attachments or document records security setting is enabled for your organization, you cannot upload files with the following file extensions: .htm, .html, .htt, .htx, .mhtm, .mhtml, .shtm, .shtml, .acgi, .svg.
|
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
Text description of the document. Limit: 255 characters.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Document Unique Name**.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FolderId |
Type
reference
Properties
Filter, Group, Sort
Description
Required. ID of the folder that contains the document.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API. 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.
|
| IsBodySearchable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the contents of the object can be searched using a SOSL FIND call. The ALL FIELDS search group includes the content as a searchable field.
|
| IsInternalUseOnly |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the object is only available for internal use (true) or not (false). Label is **Internal Use Only**.
|
| IsPublic |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the object is available for external use (true) or not (false). Label is **Externally Available**.
|
| Keywords |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Keywords. Limit: 255 characters.
|
| LastReferencedDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed a record related to this record.
|
| LastViewedDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp for when the current user last viewed this record. If this value is null, this record might only have been referenced (LastReferencedDate) and not viewed.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The metadata for this object as defined in the Metadata API. 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.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Required. Name of the document. Label is **Document Name**.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| Type |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
File type of the document. In general, the values match the file extension for the type of document (such as pdf or jpg). Label is **File Extension**.
|
| Url |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
URL reference to the file (used instead of storing it in the database). If specified, do not specify the Body or BodyLength.
|
# DomainProvision
Represents provisioned changes to custom domains. This object is available in API version 50.0 and later.
Custom domains are domains that you own, such at https://www.example.com, that serve your site content. When you save a change to a custom domain, Salesforce provisions the updated domain and a corresponding DomainProvision record is created. The latest DomainProvision record for a [Domain](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_domain.htm) represents the current state of the domain.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API Methods
GET, HEAD, Query
## Special Access Rules
Only users with the Salesforce Integration user permission can access this object.
## Fields
| Field | Details |
| --- | --- |
| CnameTarget |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Represents the canonical name (CNAME) of the external host or server for this domain. If you use a non-Salesforce provider, such as your own external server or CDN provider, to serve your domain, this field points to the CNAME of the external provider.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Represents whether the provisioning for this domain is processing or complete (true) or not (false). When you activate a provisioned domain, this field is set to false.
The default value is false.
|
| ProvisionEndDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents when the provisioning process was finished.
|
| ProvisionFinalizeDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents when the provisioning process was canceled or when the provisioned domain was activated.
|
| ProvisionStartDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents when the provisioning process started.
|
| TargetCdnCertificate |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If the domain is served on the Salesforce Content Delivery Network (CDN), represents the certificate that serves this domain.
If your domain uses another domain configuration option, this field is null.
|
| TargetDomainName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Represents the domain name, such as www.example.com.
|
# DuplicateJobDefinition
Setup object defining a job that identifies duplicate record items globally. Available in Tooling API version 42.0 and later.
## Supported SOAP Calls
create(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET and POST
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The developer name of the DuplicateJobDefinition.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language in the user’s personal settings.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label of the DuplicateJobDefinition.
|
| SobjectSubtype |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The object subtype. Valid values are PersonAccount and None.
|
| SobjectType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The object type:Account, Contact, or Lead.
|
# DuplicateJobMatchingRuleDefinition
Setup object specifying a MatchingRule to use with DuplicateJob instances that share a DuplicateJobDefinition. Available in Tooling API version 42.0 and later.
## Supported SOAP Calls
create(), query(), retrieve()
## Supported REST HTTP Methods
GET and POST
## Fields
| Field | Details |
| --- | --- |
| DuplicateJobDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the duplicate job definition.
|
| MatchingRuleId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the matching rule specified for a duplicate job.
|
# EmailTemplate
Represents a template for an email, mass email, list email, or Sales Engagement email. Supported in first-generation managed packages only.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), getDeleted(), getUpdated(), query(), retrieve(), search()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| ApiVersion |
Type
double
Properties
Filter, Nillable, Sort
Description
The API version if this is a Visualforce email template. Every Visualforce email template has an API version specified at creation.
|
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
The email template description. This can be useful to describe the reason for creating the template or its intended use.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name used as the template identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
EmailTemplateMetadata
Properties
Create, Nillable, Update
Description
Email template metadata.
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.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The email template name.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A unique string to distinguish this template from any others. For example, if this template is being using by a flow, use the NamespacePrefix to uniquely identify the templates in multiple flow instances.
|
| RelatedEntityType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
When UIType is 2 (Lightning Experience) or 3 (Lightning ExperienceSample), RelatedEntityType indicates which entities this template can be used with. Valid values are the entity API name: "Account" for account, "Contact" for contact, "Opportunity" for opportunity, "Lead" for lead, and so on. The value can be any entity the user has read access to (including custom entities) but not virtual entities, setup entities, or platform entities.
No restrictions exist at the schema level.
|
| Subject |
Type
string
Properties
Group, Nillable, Sort
Description
The email subject.
The limit is 1,000 characters for Lightning email templates and 230 characters for Classic email templates.
|
| UIType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
Indicates the user interface where this template is usable. Valid values are: 1 (Salesforce Classic), 2 (Lightning Experience), and 3 (Lightning Experience Sample).
|
# EmbeddedServiceBranding
Represents branding for each Embedded Service deployment. Available in Tooling API version 39.0 and later.
## Supported SOAP Calls
create(), delete(), describe(), query(), retrieve(), update()
## Supported REST HTTP Methods
DELETE, GET, HEAD, PATCH, POST, PUT, Query
## Fields
| Field | Details |
| --- | --- |
| ContrastInvertedColor |
Type
string
Properties
Filter, Group, Nillable Sort
Description
Accent branding color used in the embedded component, displayed as a hexadecimal value. Changes made to this field in the API aren’t reflected in the embedded component. Available in API version 43.0 and later.
|
| ContrastPrimaryColor |
Type
string
Properties
Filter, Group, Nillable Sort
Description
Accent branding color used in the embedded component, displayed as a hexadecimal value.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the branding component.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Font |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Font used in the text of the embedded component.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated EmbeddedServiceBranding in Metadata API. The full name can include a namespaceprefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the embedded component.
Possible values are:
- ar—Arabic
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- fi—Finnish
- fr—French
- iw—Hebrew
- ja—Japanese
- ko—Korean
- nl\_BE—Dutch (Belgium)
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- ur—Urdu
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the embedded component.
|
| Metadata |
Type
[EmbeddedServiceBranding](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_embeddedservicebranding.htm)
Properties
Create, Nillable, Update
Description
The embedded service branding's metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| NavBarColor |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Color used for the navigation bar in the embedded component.
|
| NavBarTextColor |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Color used for the text and icons in the header in the embedded component, displayed as a hexadecimal value. Available in API version 49.0 and later.
|
| PrimaryColor |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Primary branding color used in the embedded component.
|
| SecondaryColor |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Secondary branding color used in the embedded component.
|
| SecondaryNavBarColor |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Secondary branding color used for the header in the embedded component, displayed as a hexadecimal value. It applies to the header in the chat feature when it's trying to reconnect because of lost internet connection. Available in API version 49.0 and later.
|
# EmbeddedServiceConfig
Represents a setup node for creating an Embedded Service deployment. Available in API version 38.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), describeLayout(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, POST, PATCH, DELETE
## Fields
| Field | Details |
| --- | --- |
| AreGuestUsersAllowed |
Type
boolean
Properties
Defaulted on Create, Filter, Group, Sort
Description
Specifies whether a user must be logged in to access an embedded component. Available in API version 45.0 and later.
|
| AuthMethod |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type of login method selected for this Embedded Service deployment. Valid values are:
- CommunitiesLogin
- CustomLogin
Available in API version 43.0 and later.
|
| BrandingId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The developer name of the associated BrandingSet. Used only for Embedded Service Deployments of the Messaging type. Used only when DeploymentFeature is EmbeddedMessaging. Available in API version 52.0 and later.
This is a relationship field.
Relationship Name
Branding
Relationship Type
Lookup
Refers To
BrandingSet
|
| CustomMinimizedComponentId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Removed. The custom Lightning component that’s used for the minimized state for this Embedded Chat deployment. Available in API version 38.0 to 45.0.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Unique name for the Embedded Service configuration setup node.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| DeploymentFeature |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Where the Embedded Service deployment is used. After the value is set, it can’t be updated. Available in API version 52.0 and later.
Possible values are:
- EmbeddedMessaging
- FieldService
- Flows
- LiveAgent
- None
|
| DeploymentType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Set a conversation type for your embedded deployment. This field is available in version 51.0 and later.
Possible values are:
- Mobile
- Web
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name used for this Embedded Service deployment. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| IsEnabled |
Type
boolean
Properties
Defaulted on Create, Filter, Group, Sort
Description
Specifies if the Embedded Service Deployment is enabled for use. Available in API version 52.0 and later.
|
| isTermsAndConditionsEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether Terms and Conditions are displayed. Displaying Terms and Conditions is supported if the deploymentFeature is either EmbeddedMesssaging or LiveAgent. Available in API version 59.0 and later.
The default value is false.
|
| isTermsAndConditionsRequired |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether acceptance of the Terms and Conditions is required before starting a chat. Displaying Terms and Conditions is supported if the deploymentFeature is either EmbeddedMesssaging or LiveAgent. Available in API version 59.0 and later.
The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Languages supported in the Embedded Service deployment.
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Name of the embedded service configuration node.
|
| Metadata |
Type
mns:EmbeddedServiceConfig
Properties
Create, Nillable, Update
Description
The Embedded Service configuration metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| ShouldHideAuthDialog |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether the prompt that the customer login again during a flow is hidden (true) or not (false). When it’s hidden, the customer is taken directly to your login page. This field is set to false by default. Available in API version 43.0 and later.
|
# EmbeddedServiceCustomComponent
Represents a custom component created for an Embedded Service feature. The custom components can be an Aura or Lightning Web Component. This object is available in API version 44.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This type is available only if Salesforce Experiences and Salesforce Sites are enabled in your org. To access this type, you need the Customize Application user permission.
## Fields
| Field | Details |
| --- | --- |
| CustomComponentId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The unique ID of the [LightningComponentBundle](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_lightningcomponentbundle.htm "Represents a Lightning web component bundle. A bundle contains a Lightning web component and its related resources. Available in API version 45.0 and later.") or [AuraDefinitionBundle](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_auradefinitionbundle.htm "Represents a Lightning Aura component definition bundle, such as a component or application bundle. A bundle contains a Lightning Aura component definition and all its related resources. Available in API version 32.0 and later.") component to be used in the Embedded Service.
|
| CustomComponentType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The embedded component type associated with the chosen Feature that you want to customize. The possible values are:
- LA\_ChatHeader—Not supported for [AuraDefinitionBundle](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_auradefinitionbundle.htm "Represents a Lightning Aura component definition bundle, such as a component or application bundle. A bundle contains a Lightning Aura component definition and all its related resources. Available in API version 32.0 and later.") components
- LA\_Minimized
- LA\_PlainTextChatMessage—Not supported for [AuraDefinitionBundle](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_auradefinitionbundle.htm "Represents a Lightning Aura component definition bundle, such as a component or application bundle. A bundle contains a Lightning Aura component definition and all its related resources. Available in API version 32.0 and later.") components
- LA\_Prechat
|
| EmbeddedServiceConfigId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The unique ID of the [EmbeddedServiceConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceconfig.htm "Represents a setup node for creating an Embedded Service deployment. Available in API version 38.0 and later.") object that this custom component is associated with.
|
| Feature |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The Embedded Service feature that uses the custom component. The possible values are:
- Base
- ChannelMenu
- FieldService
- Flows
- LiveAgent
- NotInUse
|
## Usage
Each Embedded Service feature has a defined set of components that can be customized. You can customize the feature using your own Lightning Web Components or Aura Components. Right now, you can only customize components of the Embedded Service Chat feature. For example, you can customize the prechat form, minimized state, chat bubble, and chat header of a Chat widget.
To customize a component, link the Lightning Web Component or Aura Component to an Embedded Service Custom Component object. Then link an Embedded Service Configuration to this object. The Embedded Service Configuration represents the Chat widget that you want to customize.
# EmbeddedServiceCustomization
Represents a mapping between the EmbeddedServiceCustomization record parent and the EmbeddedServiceConfiguration or EmbeddedServiceMenuSettings, for a set of Embedded Service resources. Each resource is set of customizations applied via an uploaded static resource for your Embedded Chat. This object is available in API version 52.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| CustomizationName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the custom set of resources you create for your embedded component.
|
| Description |
Type
textarea
Properties
Create, Filter, Nillable, Sort, Update
Description
Used to describe a set of custom resources.
|
| ParentId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the EmbeddedServiceConfig or EmbeddedServiceMenuSettings parent record. This is a polymorphic relationship field.
Relationship Name
Parent
Relationship Type
Lookup
Refers To
EmbeddedServiceConfig, EmbeddedServiceMenuSettings
|
# EmbeddedServiceCustomLabel
Represents a customized label that appears in the embedded component for a particular Embedded Service deployment. Labels can be customized for both Embedded Chat and embedded Appointment Management (beta). Available in API version 44.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, POST, PUT, PATCH
## Fields
| Field | Details |
| --- | --- |
| CustomLabel |
Type
CustomLabel
Properties
Filter, Group, Nillable, Sort
Description
The developer name of the custom label that appears in the embedded component.
|
| CustomLabelId |
Type
ID
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The label record ID for the custom label.
|
| EmbeddedServiceConfig |
Type
EmbeddedServiceConfig
Properties
Filter, Group, Nillable, Sort
Description
The EmbeddedServiceConfig setup associated with the Embedded Service deployment.
|
| EmbeddedServiceConfigId |
Type
ID
Properties
Create, Filter, Group, Nillable, Sort
Description
Unique ID for the Embedded Service deployment.
|
| LabelKey |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of label for this embedded component. The value corresponds to the label within a label group (substate of chat state or page type).
|
# EmbeddedServiceFieldService
Represents a setup node for creating an embedded Appointment Management (beta) deployment. Available in Tooling API version 43.0 and later.
## Supported Calls
create(), delete() describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, POST, PATCH, DELETE
## Fields
| Field | Details |
| --- | --- |
| AppointmentBookingFlowName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Name of the appointment booking flow for this Embedded Service deployment.
|
| CancelApptBookingFlowName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Name of the appointment cancellation flow for this embedded Appointment Management (beta) deployment.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Unique name for the embedded Appointment Management configuration setup node.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EmbeddedServiceConfigId |
Type
EmbeddedServiceConfig
Properties
Create, Filter, Group, Sort, Update
Description
Unique ID for the embedded Appointment Management (beta) deployment.
|
| Enabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether Field Service is enabled for this Embedded Service deployment (true) or not (false).
|
| FieldServiceConfirmCardImg |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
URL of the image used for the confirmation card in embedded Appointment Management (beta).
|
| FieldServiceHomeImg |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
URL of the image used for the home screen in embedded Appointment Management (beta).
|
| FieldServiceLogoImg |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
URL of the logo used for the home screen in embedded Appointment Management (beta).
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name used for this Embedded Service deployment. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Languages supported in the Embedded Service deployment.
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Name of the Embedded Service deployment.
|
| Metadata |
Type
mns:EmbeddedServiceFieldService
Properties
Create, Nillable, Update
Description
The embedded Appointment Management (beta) metadata.
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.
|
| ModifyApptBookingFlowName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Name of the appointment modification flow for this embedded Appointment Management (beta) deployment.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| ShouldShowExistingAppointment |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether to display a button on the home screen for customers to access their existing appointments (true) or not (false) for embedded Appointment Management (beta).
|
| ShouldShowNewAppointment |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether to display a button on the home screen for customers to create a new appointment (true) or not (false) for embedded Appointment Management (beta).
|
# EmbeddedServiceFlow
Represents a Flow Definition used by an Embedded Service deployment. This object is available in API version 45.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access this type, you need the Customize Application user permission.
## Fields
| Field | Details |
| --- | --- |
| EmbeddedServiceConfigId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The unique ID of [EmbeddedServiceConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceconfig.htm "Represents a setup node for creating an Embedded Service deployment. Available in API version 38.0 and later.") (the Embedded Service deployment).
|
| Feature |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The Embedded Service feature that uses this flow. This is a read-only field.
Possible values are:
- FieldService
- Flows
- LiveAgent
|
| Flow |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The flow definition name. Use one of the listed standard flows or an ID of a [FlowDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flowdefinition.htm "The parent of a set of flow versions.") that you created.
Possible standard flow values are:
- runtime\_sales\_see\_\_SEE
- setup\_service\_experience\_\_Create\_Case
- setup\_service\_experience\_\_Verify\_Cust
|
| FlowType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The flow type used in a Flow (FL), Appointment Booking (FS), or Chat (LA) feature of Embedded Service.
Possible values are:
- FL\_Flow
- FS\_CancelAppointment
- FS\_ModifyAppointment
- FS\_NewAppointment
- LA\_Survey
|
| IsAuthenticationRequired |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Specifies whether authentication is required for this flow (true) or not (false). Authentication is required if the FlowType is an Appointment Booking type. Default is false.
|
## Usage
The EmbeddedServiceFlow specifies which FlowDefinitions are used by the Embedded Service features Appointment Booking, Chat, and Flow. A [FlowDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flowdefinition.htm "The parent of a set of flow versions.") executes a [Flow](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flow.htm "Use the Flow object to retrieve and update specific flow versions.") object. A FlowDefinition can have more than one version of a Flow object but only the active one is executed.
Only certain ProcessType values of the Flow object are supported depending on which FlowType you select in the EmbeddedServiceFlow object.
- Appointment Booking features, where the FlowType starts with “FS”, only support FieldServiceWeb and Appointments values for ProcessType.
- Chat features, where the FlowType starts with “LA”, only support the Flow value for ProcessType.
- Flow features, where the FlowType starts with “FL”, only support the Survey value for ProcessType.
# EmbeddedServiceFlowConfig
Represents whether an Embedded Service Flow feature is enabled or not. This object is available in API version 45.0 and later.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access this type, you need the Customize Application user permission.
## Fields
| Field | Details |
| --- | --- |
| EmbeddedServiceConfigId |
Type
reference
Properties
Filter, Group, Sort
Description
The unique ID of an [EmbeddedServiceConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceconfig.htm "Represents a setup node for creating an Embedded Service deployment. Available in API version 38.0 and later.") (the Embedded Service deployment) that the flow config is associated with.
|
| Enabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether the embedded flow is enabled (true) or not (false). Defaults to false.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the parent object [EmbeddedServiceConfig in Metadata API](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_embeddedserviceconfig.htm "HTML (New Window)"). The full name can include a namespaceprefix.
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.
|
| Metadata |
Type
[EmbeddedServiceFlowConfig](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_embeddedserviceconfig.htm)
Properties
Create, Nillable, Update
Description
The embedded service flow config's metadata.
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.
|
## Usage
To get a Flow feature working, you need three things: an [EmbeddedServiceConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceconfig.htm "Represents a setup node for creating an Embedded Service deployment. Available in API version 38.0 and later.") deployment, an EmbeddedServiceFlowConfig record, and an [EmbeddedServiceFlow](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceflow.htm "Represents a Flow Definition used by an Embedded Service deployment. This object is available in API version 45.0 and later.") record with the type set to FL\_Flow. The EmbeddedServiceFlowConfig record controls whether the Flow feature associated with this deployment is enabled or disabled.
# EmbeddedServiceLiveAgent
Represents a setup node for creating an Embedded Chat deployment. Available in Tooling API version 38.0 and later.
## Supported Calls
create(), delete() describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, HEAD, PATCH, POST, PUT, Query
## Special Access Rules
To access EmbeddedServiceLiveAgent, your org must have Service Cloud with Chat enabled.
## Fields
| AvatarImg |
- Type
- url
- Properties
- Filter, Group, Nillable, Sort
- Description
- URL of the image used as the agent avatar image.
Available in API version 43.0 and later.
|
| CustomPrechatComponent |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- Removed. The ID of the custom Lightning Component that’s
used for the pre-chat page in this embedded deployment.
Available in API versions 38.0 to 45.0. Removed in API
version 46.0 and later.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The unique name for the EmbeddedServiceLiveAgent
object.
- This name can contain only underscores and alphanumeric
characters, and must be unique in your org. It must
begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
This field is automatically generated, but you can
supply your own value if you create the record using the
API.
|
| EmbeddedServiceConfigId |
- Type
- reference
- Properties
- Filter, Group, Sort
- Description
- Unique name for the embedded chat deployment ID.
|
| Enabled |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Indicates whether this embedded chat deployment is
enabled (true).
Available in API version 43.0 and later.
|
| FontSize |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- Font size for the chat window. Available in API version
43.0 and later.
Possible values are:
Available in API version 43.0 and
later.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The unique name used for this embedded chat deployment.
The fullName can contain only
underscores and alphanumeric characters. It must be
unique, begin with a letter, not include spaces, not end
with an underscore, and not contain two consecutive
underscores.
- 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.
|
| HeaderBackgroundImg |
- Type
- url
- Properties
- Filter, Group, Nillable, Sort
- Description
- Removed. URL of the image used for the header background
in the embedded chat window. Available in API version
43.0. Removed in API version 49.0 and later.
|
| IsOfflineCaseEnabled |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Specifies whether offline support is enabled for this
embedded chat deployment (true) or not (false). Available in API version 43.0 and
later.
|
| IsQueuePositionEnabled |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Specifies whether queue position (displaying the
customer’s place in line while they wait for an agent)
is enabled for this embedded chat deployment (true) or not (false). Available in
API version 43.0 and later.
|
| Language |
- Type
- picklist
- Properties
- Defaulted on create, Filter, Group, Nillable, Restricted
picklist, Sort
- Description
- Languages supported in the embedded chat deployment.
- Chinese (Simplified): zh_CN
- Chinese (Traditional): zh_TW
- Danish: da
- Dutch: nl_NL
- English: en_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es_MX Spanish (Mexico) defaults to
Spanish for customer-defined translations.
- Swedish: sv
- Thai: th
The Salesforce user interface is fully translated
to Thai, but Help is in English.
|
| LiveAgentChatUrl |
- Type
- url
- Properties
- Filter, Group, Nillable, Sort
- Description
- The REST endpoint for Chat. Available in API version
43.0 and later.
|
| LiveAgentContentUrl |
- Type
- url
- Properties
- Filter, Group, Nillable, Sort
- Description
- The REST endpoint for Chat content. Available in API
version 43.0 and later.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified
component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
Available in API version 43.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Name of the embedded chat deployment.
|
| Metadata |
- Type
-
mns:EmbeddedServiceLiveAgent
- Properties
- Create, Nillable, Update
- Description
- The embedded chat metadata.
- 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 that is associated with this
object. Each Developer Edition org 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 the
following values.
- In Developer Edition orgs,
NamespacePrefix is set to the
namespace prefix of the org for all objects that
support it, unless 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 org of the package
developer.
- In orgs that are not Developer Edition orgs,
NamespacePrefix is set only
for objects that are part of an installed managed
package. All other objects have no namespace
prefix.
-
Available in API version 43.0 and later.
|
| OfflineCaseBackgroundImg |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- URL of the image used for the background for the offline
support case form in an embedded chat window. Available
in API version 43.0 and later.
|
| PrechatBackgroundImg |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- URL of the image used for the background for the
pre-chat form in an embedded chat window. Available in
API version 43.0 and later.
|
| PreChatEnabled |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Indicates whether the
pre-chat form is enabled for this embedded chat
deployment.
|
| PrechatJson |
- Type
- string
- Properties
- Nillable
- Description
- JSON object of all the fields of the selected pre-chat
form in Chat setup. Available in API version 43.0 and
later.
|
| Scenario |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
-
The type of use case that is
selected for the pre-chat form. Valid values are:
|
| SmallCompanyLogoImg |
- Type
- url
- Properties
- Filter, Group, Nillable, Sort
- Description
- URL of the logo image used with embedded chat. Available
in API version 43.0 and later.
|
| WaitingStateBackgroundImg |
- Type
- url
- Properties
- Filter, Group, Nillable, Sort
- Description
- URL of the image used for the background image in an
embedded chat window while the customer waits to be
connected with a support agent. Available in API version
43.0 and later.
|
## Usage
EmbeddedServiceLiveAgent represents a Chat configuration that is added to your web page. The EmbeddedServiceLiveAgent record contains a unique combination of a Chat button and the Chat deployment that the administrator selects during setup.
To create an EmbeddedServiceLiveAgent record, create a Chat Deployment, a Chat Button, and an EmbeddedServiceConfig record. Then, set the fields for these records as references on the EmbeddedServiceLiveAgent record.
# EmbeddedServiceMenuItem
Represents the information needed to configure a Channel Menu item. This object is available in API version 47.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This type is available only if Salesforce Experiences and Salesforce Sites are enabled in your org. To access this type, you need the Customize Application user permission.
## Fields
| Field | Details |
| --- | --- |
| ChannelId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The unique ID of an [EmbeddedServiceConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceconfig.htm "Represents a setup node for creating an Embedded Service deployment. Available in API version 38.0 and later.") (the Embedded Service deployment) if ChannelType is one of the following. Otherwise, this field is null.
- EmbeddedServiceConfig
- MessagingChannel
|
| ChannelType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The channel the customer uses to contact your business. The possible values are:
- CustomURL
- EmbeddedServiceConfig
- MessagingChannel
- Phone
|
| CustomUrl |
Type
url
Properties
Create, Filter, Nillable, Sort, Update
Description
The custom URL of the menu item if ChannelType is CustomURL. Otherwise, this field is null.
|
| DisplayOrder |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The order that the menu items are displayed in the UI. Only positive values are supported.
|
| EmbeddedServiceMenuId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. The unique ID of the parent record [EmbeddedServiceMenuSettings](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicemenusettings.htm "Represents a setup node for creating a channel menu deployment. Channel menus list the ways in which customers can contact your business. This object is available in API version 47.0 and later.").
|
| IconUrl |
Type
url
Properties
Create, Filter, Nillable, Sort, Update
Description
The URL of the icon used for the menu item.
|
| IsDisplayedOnPageLoad |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Specifies whether the menu item is dynamically displayed (true) or hidden (false) during runtime. The default value is false.
|
| ItemName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name used on the Setup for admins to identify the Channel Menu item. Conforms to the same properties as a developer name.
|
| OsOptionsHideInIOS |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether to hide the menu item on iOS platforms (true) or not (false).
|
| OsOptionsHideInLinuxOS |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether to hide the menu item on Linux platforms (true) or not (false).
|
| OsOptionsHideInMacOS |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether to hide the menu item on macOS platforms (true) or not (false).
|
| OsOptionsHideInOtherOS |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether to hide the menu item on any other platforms not mentioned here (true) or not (false).
|
| OsOptionsHideInWindowsOS |
Type
boolean
Properties
Create, Filter, Update
Description
Specifies whether to hide the menu item on Windows platforms (true) or not (false).
|
| PhoneNumber |
Type
phone
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The phone number of menu items with ChannelType value Phone. Otherwise, the value is null.
|
| ShouldOpenUrlInSameTab |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Specifies whether a URL is opened in the same tab (true) or not (false). This field only applies for menu items with ChannelType value CustomURL.
|
## Usage
The EmbeddedServiceMenuItem object provides configuration information for a Channel Menu. A channel menu lists the ways in which customers can contact your business. A channel menu deployment is tied to a [EmbeddedServiceMenuSettings](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicemenusettings.htm "Represents a setup node for creating a channel menu deployment. Channel menus list the ways in which customers can contact your business. This object is available in API version 47.0 and later.") record, which can have one or more EmbeddedServiceMenuItem objects associated with it.
# EmbeddedServiceMenuSettings
Represents a setup node for creating a channel menu deployment. Channel menus list the ways in which customers can contact your business. This object is available in API version 47.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This type is available only if Salesforce Experiences and Salesforce Sites are enabled in your org. To access this type, you need the Customize Application user permission.
## Fields
| Field | Details |
| --- | --- |
| BrandingId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The developer name of the associated BrandingSet.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the embedded service menu settings.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated EmbeddedServiceMenuSettings in Metadata API. The full name can include a namespaceprefix.
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.
|
| IsEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether the channel menu is deployed (true) or not (false).
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the embedded service menu. Possible values are:
- ar—Arabic
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- fi—Finnish
- fr—French
- iw—Hebrew
- ja—Japanese
- ko—Korean
- nl\_BE—Dutch (Belgium)
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- ur—Urdu
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the embedded service menu setting. In the UI, this field is Channel Menu Deployment Name.
|
| Metadata |
Type
[EmbeddedServiceMenuSettings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_embeddedservicemenusettings.htm)
Properties
Create, Nillable, Update
Description
The EmbeddedServiceMenuSettings's metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
## Usage
An EmbeddedServiceMenuSettings record creates a channel menu. A channel menu lists the ways in which customers can contact your business. A channel is created using EmbeddedServiceMenuItem and is a child record of EmbeddedServiceMenuSettings. Here you can specify the Site name, BrandingSet name, and whether the channel menu is deployed or not. The Site field is not exposed in the Tooling API but you can edit it using the following Metadata block.
{
"FullName" : "embeddedServiceMenuSettingsName",
"Metadata" : {
"branding" : "brandingSetRecordDevName",
"isEnabled" : true,
"masterLabel" : "embeddedServiceMenuSettingsName",
"site" : "siteRecordDevName"
}
}
# EmbeddedServiceQuickAction
Returns a quick action that is associated with an EmbeddedServiceLiveAgent setup. The quick action includes the pre-chat form fields that the embedded chat window displays and shows the order in which the fields are displayed. Available in Tooling API version 39.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, POST, PUT, PATCH
## Fields
| Field | Details |
| --- | --- |
| EmbeddedServiceLiveAgentId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Reference to the embedded chat deployment.
|
| Order |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
Order in which this quick action appears in the embedded chat pre-chat form.
|
| QuickActionDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
Reference to a quick action.
|
| QuickActionType |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Quick action type. One of the following values:
- Prechat–Pre-chat
- OfflineCase–Offline support (Cases)
Available in API version 43.0 and later.
|
# EmbeddedServiceResource
Represents a mapping from an EmbeddedServiceCustomization record parent to a set of resources. Each resource is a set of customizations applied via an uploaded static resource for your Embedded Chat. This object is available in API version 50.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| ParentId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the EmbeddedServiceCustomization parent record. This is a relationship field.
Relationship Name
Parent
Relationship Type
Lookup
Refers To
EmbeddedServiceCustomization
|
| ResourceId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of an uploaded static resource. This is a relationship field.
Relationship Name
Resource
Relationship Type
Lookup
Refers To
StaticResource
|
| ResourceType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The resource type to be customized.
Possible values are:
- ChatInvitation
- SettingsFile
|
# EngagementInsightType
Represents the configuration for engagement insight types for voice and video call insights. This object is available in API version 66.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported Calls
create(), describeSObjects(), query(), retrieve(), update(), upsert()
## Fields
| Field | Details |
| --- | --- |
| ActivatedDateTime |
Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The timestamp when the insight type was activated.
|
| AdditionalConfig |
Type
textarea
Properties
Create, Nillable, Update
Description
The additional configuration information specific to the insight type. For example, timing configurations for time-based insights and prompt-based configurations for generative insights.
|
| Category |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Required. The category of the insight type.
Possible values are:
- CUSTOM—Custom insights are created by the admin.
- SYSTEM—System insights are provided out-of-the-box by Salesforce.
The default value is CUSTOM.
|
| ChannelType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The engagement channel used to generate the insight.
Possible values are:
- Emails
- VideoCalls
- VoiceCalls
The default value is VoiceCalls.
|
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
The description of the insight type.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Required. The unique name for the EngagementInsightType object.
|
| ExternalIdentifier |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID generated for each insight type.
|
| InsightModel |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Required. The computational model that the user selects to generate the insight.
Possible values are:
- FOUNDTIONAL—Foundational
- GENERATIVE—Generative
- KEYWORD—Keyword
- SITUATIONAL—Situational
- TIME\_BASED—Time-Based
The default value is KEYWORD.
|
| InsightName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Required. The name of the insight.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language used in the insight type.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Required. Label for the insight type.
|
| SpeakerType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies if the participant is internal (internal rep), external (customer), or either (not sure). It indicates the 'Said by' field in the UI.
Possible values are:
- EITHER
- EXTERNAL
- INTERNAL
- NONE
The default value is INTERNAL.
|
| Status |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The status of the insight type.
Possible values are:
- ENABLED
- USER\_DISABLED
The default value is ENABLED.
|
| SupportedLanguageList |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The list of languages supported for the insight type.
|
| UsageType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The industry where the insight type is applicable.
Possible values are:
- SALES
- SALES\_SERVICE
- SERVICE
The default value is SALES.
|
# EnrichedField
Represents a field selected for Change Data Capture Enrichment for a channel and channel member. A non-empty enriched field is added to an update or delete change event even when not changed. Available in API version 51.0 and later.
## Supported SOAP API Calls
delete(), describeSObjects(), query(), retrieve()
## Supported REST API HTTP Methods
DELETE, GET, HEAD, Query
## Special Access Rules
- This object is part of Change Data Capture Enrichment.
- Use the EnrichedField object to query, retrieve, or delete enriched fields. Add an enriched field as part of PlatformEventChannelMember. For more information about Change Data Capture Enrichment and adding enriched fields, see [Enrich Change Events with Extra Fields When Subscribed with CometD](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_enrich_intro.htm "HTML (New Window)") and [Example: Add Event Enrichment Fields with Tooling API](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_enrich_tooling_api.htm "HTML (New Window)") in the Change Data Capture Developer Guide.
- To retrieve or query this object, you must have the View Setup and Configuration permission.
- To delete this object, you must have the Customize Application permission.
## Fields
| Field | Details |
| --- | --- |
| ChannelMemberId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the PlatformEventChannelMember that this field is part of. For example, if a field is added to the AccountChangeEvent, which is part of PlatformEventChannelMember, ChannelMemberId is the ID of the PlatformEventChannelMember record.
|
| Field |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The name of the field to enrich change events with. For a list of supported field types, see [Enrich Change Events with Extra Fields When Subscribed with CometD](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_enrich_intro.htm "HTML (New Window)") in the _Change Data Capture Developer Guide_.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
## Usage
To find out which channel members and fields you configured, query the EnrichedField object. For example, this query returns the channel member ID and the selected enriched field on that channel.
SELECT ChannelMemberId,Field FROM EnrichedField ORDER BY ChannelMemberId
In these query results, the rows returned are ordered by the channel member ID. The first two rows contain two enriched fields on the same channel: the Industry field and a custom field, whose value is an ID. The last row is for a different channel member and contains the Phone enriched field.
| ChannelMemberId | Field |
| --- | --- |
| 0v8RM00000000JsYAI | Industry |
| 0v8RM00000000JsYAI | 00NRM000001gEx32AE |
| 0v8RM00000000fIYAQ | Phone |
# EntityDefinition
Provides row-based access to metadata about standard and custom objects.

#### 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
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.
|
# EntityLimit
Represents the limits for an object as displayed in the Setup UI.
This object is available in API version 34.0 and later.
## Supported SOAP Calls
query()
## 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 |
| --- | --- |
| 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. Use this field to simplify queries.
|
| EntityDefinition |
Type
EntityDefinition
Properties
Filter, Group, Sort
Description
The object to which these limits apply.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
ID of the object to which these limits apply.
|
| Label |
Type
string
Properties
Filter, Group, Sort
Description
The label of the object to which these limits apply.
|
| Max |
Type
int
Properties
Filter, Group, Sort
Description
The maximum number of objects that the organization is allowed to have.
|
| Remaining |
Type
int
Properties
Filter, Group, Sort
Description
The number of objects still available. For example, if the limit on custom objects is 100, and you create 75, this value is 25.
|
| Type |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
What type of component the limit applies to:
- ActiveLookupFilters
- ActiveRules
- ActiveValidationRules
- ApprovalProcesses
- CbsSharingRules
- CustomFields
- CustomRelationship
- RollupSummary
- SharingRules
- TotalRules
- VLookup
|
# EntityParticle
Represents each element of a field that can be presented in a user interface. Contrast EntityParticle with FieldDefinition, which represents each element of a field defined in the Metadata API. EntityParticle has parity with describe, which returns API accessible fields only for an entity. Available in Tooling API version 34.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP Calls
query()
## 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 |
| --- | --- |
| ByteLength |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The maximum length of the field represented by this EntityParticle, in bytes.
|
| DataType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Data type of the field, for example textarea or datetime. The values are defined similar to the values in the user interface, not the corresponding API data type names.
For example, from an object, retrieve all the fields of one data type.
SELECT DataType, QualifiedApiName
FROM EntityParticle
WHERE DataType = 'phone' AND
EntityDefinition.QualifiedApiName = 'Account'
|
| DefaultValueFormula |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The default value specified for the field when a formula isn’t specified. If no default value is specified, this field isn’t returned.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s org. Label is **Record Type Name**.
|
| Digits |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Maximum number of digits for a field of type int. If an integer value exceeds the number of digits, the API returns an error.
|
| 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. To simplify queries, use this field.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID for the object defined in the DurableId field.
|
| ExtraTypeInfo |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Represents further definition of a type.
- For type textarea:
- plaintextarea
- richtextarea
- For type URL:
- image
- For type reference:
- externallookup
- indirectlookup
- For Account:
- switchablepersonname
- personname
|
| FieldDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the field definition associated with this EntityParticle.
|
| InlineHelpText |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Represents the content of field-level help. Available in Tooling API starting version 35.0.
|
| IsApiFilterable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field represented by this EntityParticle can be specified in the WHERE clause of a query string.
Restrictions
You can’t sort or filter compound fields. This field’s value is always false for compound fields.
|
| IsApiGroupable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field represented by this EntityParticle can be included in the GROUP BY clause of a SOQL query.
|
| IsApiSortable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, a query can sort on the field represented by this EntityParticle.
Restrictions
You can’t sort or filter compound fields. This field’s value is always false for compound fields.
|
| IsAutoNumber |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field’s value is assigned when the record is created. Available in Tooling API starting version 35.0.
|
| IsCalculated |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field represented by this EntityParticle is calculated.
|
| IsCaseSensitive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field represented by this EntityParticle is case sensitive. Available in Tooling API starting version 35.0.
|
| IsCompactLayoutable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field can be included in a compact layout.
|
| IsComponent |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field is a component of a compound field. The default value is false. Available in Tooling API starting version 40.0.
|
| IsCompound |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field is a compound of other fields. The default value is false. Available in Tooling API starting version 38.0.
|
| IsCreatable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, a value for the field represented by this EntityParticle can be created. Available in Tooling API starting version 35.0.
|
| IsDefaultedOnCreate |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, and if no other value is supplied, a default value is applied when the record is created. Available in Tooling API starting version 35.0.
|
| IsDependentPicklist |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field is a dependent picklist. Available in Tooling API starting version 35.0.
|
| IsDeprecatedAndHidden |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Reserved for future use.
|
| IsDisplayLocationInDecimal |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, and if the field represented by this EntityParticle is a Geolocation custom field, the value appears in decimal notation. If false, the value appears as degrees, minutes, and seconds. Available in Tooling API starting version 35.0.
Restrictions
This field has no effect on custom fields that aren’t Geolocation fields.
|
| IsEncrypted |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field is marked for Classic Encryption. Available in Tooling API starting version 35.0.
|
| IsFieldHistoryTracked |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field’s history can be tracked.
|
| IsHighScaleNumber |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the field stores numbers to eight decimal places regardless of what’s specified in the field details (true) or not (false). Used to handle currencies for products that cost fractions of a cent, in large quantities. If high-scale unit pricing isn’t enabled in your org, this field isn’t returned.
|
| IsHTMLFormatted |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field contains HTML.
|
| IsIdLookup |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, you can use the field to specify a record for upsert. Available in Tooling API starting version 35.0.
|
| IsLayoutable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field can be assigned to a layout. Available in Tooling API starting version 35.0.
|
| IsListVisible |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field can be included in a related list.
|
| IsNameField |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field is a name field.
|
| IsNamePointing |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field represents a polymorphic relationship. Determine the object type at runtime for dynamic queries when this value is true. Available in Tooling API starting version 35.0.
|
| IsNillable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field can be left out of queries on the object.
|
| IsPermissionable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, you can specify field permissions for the field. Available in Tooling API starting version 35.0.
|
| IsUnique |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field is unique. Available in Tooling API starting version 35.0.
|
| IsUpdatable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, you can update the field. Available in Tooling API starting version 35.0.
|
| IsWorkflowFilterable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the field can be filtered for a workflow.
|
| IsWriteRequiresMasterRead |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, writing to the detail object requires read sharing instead of read-write sharing of the parent. Available in Tooling API starting version 35.0.
|
| Label |
Type
string
Properties
Filter, Group, Sort
Description
The label that corresponds to the field in the user interface. If the label has translations, the label returned is in the user’s language.
|
| Length |
Type
int
Properties
Filter, Group, Sort
Description
The maximum number of bytes available to store the value in the field represented by this EntityParticle.
|
| Mask |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Reserved for future use.
|
| MaskType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Reserved for future use.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Primary label for this object. This display value is the internal label that isn’t translated. Limit: 40 characters.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Name of the object for the field represented by this EntityParticle. This field is available in API version 35.0 and later.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Sort
Description
The namespace prefix associated with this object. Each Developer Edition org 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 a Developer Edition org, the namespace prefix is set to the namespace prefix of the org 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 org of the package developer.
- In an org other than a Developer Edition org, NamespacePrefix is only set for objects that are part of an installed managed package. There’s no namespace prefix for all other objects.
|
| Precision |
Type
int
Properties
Filter, Group, Sort
Description
The maximum number of digits allowed for the field represented by this EntityParticle.
|
| QualifiedApiName |
Type
string
Properties
Filter, Group, Sort
Description
A unique external name for the field.
|
| ReferenceTargetField |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies the custom field on the parent object to match against this indirect lookup relationship field, whose values come from an external data source. The specified custom field on the parent object must have both IsIdLookup and IsUnique set to true. This field is available in API version 35.0 and later.
Restrictions
Available only if the field represented by this EntityParticle is an indirect lookup relationship field on an external object.
|
| ReferenceTo |
Type
[RelationshipReferenceTo](#RelationshipReferenceTo)
Properties
Nillable
Description
The array of values in this field represents the possible object types of the referenced objects. For example, if EntityParticle represents a field on Events, the values are Contact, Lead, and custom objects with a relationship to Events.
|
| RelationshipName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If the field represented by this EntityParticle is a master-detail relationship field, this field’s value is the relationship name.
|
| RelationshipOrder |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
A value of 0 represents a primary relationship, and a value of 1 represents a secondary relationship. This field is relevant only for relationship fields.
|
| Scale |
Type
int
Properties
Filter, Group, Sort
Description
The number of digits to the right of the decimal in an integer. For example, 3.00 has a scale of 2.
|
| ValueTypeId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the value type, if any, for the field represented by this EntityParticle.
|

#### Note
EntityParticle fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for EntityParticle 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. EntityParticle is still exposed in Tooling API to User Profiles with the ViewSetup permission.
## RelationshipReferenceTo Type
Represents the set of objects that this EntityParticle can have a relationship with.
| referenceTo |
string[] |
The name of an object that can be referenced. For example, if
EntityParticle represents Event.WhoId (the
WhoId field on Event), the value of
this field would be at least [Contact, Lead].
|
## Usage
When querying or searching the EntityParticle object, you must filter using this syntax: WHERE EntityDefinition.QualifiedApiName ='\[ObjectAPIName\]'
Example Query:
SELECT EntityDefinitionId, QualifiedAPIName, FieldDefinitionId
FROM EntityParticle
WHERE EntityDefinition.QualifiedApiName ='Case'
Example Query: Retrieve All Account Fields
SELECT DataType, FieldDefinition.QualifiedApiName
FROM EntityParticle
WHERE EntityDefinition.QualifiedApiName ='Account'
Example Query: Find Parent Object Types
Some fields can have more than one type of object in a relationship (polymorphic). For example, Task and Event can have relationships with Contact or Lead.
Use this query to retrieve a list of objects that can have a relationship with Event.WhoId (represented by EntityParticle).
SELECT QualifiedApiName, RelationshipName, ReferenceTo, ReferenceTargetField
FROM EntityParticle
WHERE EntityDefinition.QualifiedApiName = 'Event' AND QualifiedApiName = 'WhoId'
# EventDelivery
Represents how an event instant maps to a target payload. Removed in API version 46.0. Available in API version 41.0 to 45.0.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, POST, PUT, PATCH, HEAD
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer’s internal name for the event delivery used in the API.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EventSubscriptionId |
Type
reference
Properties
Filter, Group, Sort
Description
Required. The ID of the subscription to deliver the data to.
|
| FullName |
Type
string
Properties
Create, GroupGroup, Nillable
Description
The unique name used as the event delivery identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, GroupGroup, Nillable, Restricted picklist, Sort,
Description
The language of the MasterLabel.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Master label for the event delivery. This internal label doesn’t get translated.
|
| Metadata |
Type
[mns:EventDelivery](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_eventdelivery.xml "HTML (New Window)")
Properties
Create, Nillable, Update
Description
The event delivery’s metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| ReferenceData |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
User-defined non-unique identifier.
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. Determines what action occurs when the event is delivered to the listeners on behalf of the subscribers.
Valid values are:
- StartFlow—When the event occurs, it’s delivered to a flow of type CustomEvent. Those flows are built through Process Builder.
- ResumeFlow—Reserved for future use.
|
# EventRelayConfig
Represents the configuration of an event relay, which relays platform events and change data capture events from Salesforce to Amazon EventBridge. This object is available in API version 56.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
- To retrieve or query this object, you must have the View Setup and Configuration permission.
- To create, update, or delete this object, you must have the Customize Application permission.
- You can update only the state and relayOption fields and not eventChannel or destinationResourceName. Update the state and relayOption fields through the Metadata field.
## Fields
| Field | Details |
| --- | --- |
| DestinationResourceName |
Type
string
Properties
Filter, Group, Sort
Description
The developer name of the named credential, which stores the AWS account information. The destinationResourceName value contains the callout: prefix. For example: callout:MyRelayNamedCredential
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| EventChannel |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The full name of the event channel used in the event relay. For example: MyRelayChannel\_\_chn
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated EventRelayConfig in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the EventRelayConfig.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The label for the event relay, which corresponds to the label of the EventRelayConfig metadata type. The label is displayed in the user interface.
If the label isn't provided in the metadata type, MasterLabel is the DeveloperName value.
|
| Metadata |
Type
[EventRelayConfig](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_eventrelayconfig.htm)
Properties
Create, Nillable, Update
Description
The EventRelayConfig’s metadata.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| RelayOption |
Type
textarea
Properties
Nillable
Description
A JSON-encoded string that contains an option for resuming an event relay after the system recovers from an error. This option is used if the event relay can't resume after the last relayed event. The options available are:
- "{"ReplayRecovery":"LATEST"}"—(Default) Start relaying events from new events received in the event bus. Use this option if you aren’t interested in missed events while the relay was down.
- "{"ReplayRecovery":"EARLIEST"}"—Resend all events stored in the event bus and relay new events thereafter. The event bus stores events for up to three days. Use this option if you want to reprocess all stored events and catch up on missed events.
|
| State |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The execution state of the event relay. Possible values are:
- RUN—The event relay is running and actively relaying event messages from Salesforce to Amazon EventBridge.
- PAUSE—An administrator paused the event relay. No events are relayed to Amazon EventBridge during this status. All current state information is saved.
- STOP—(Default) The event relay is stopped and no events are relayed to Amazon EventBridge. All current state information is deleted.
- DELETE—Reserved for future use.
|
| UsageType |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Reserved for future use.
|
## Usage
This JSON example is the body of a REST API POST request that creates an event relay named MyEventRelay. It includes the optional fields relayOption and state. The corresponding REST endpoint is /services/data/v68.0/tooling/sobjects/EventRelayConfig.
{
"FullName": "Carbon\_Comparison\_Relay",
"Metadata": {
"destinationResourceName": "callout:AWS\_Account",
"eventChannel": "Carbon\_Comparison\_Channel\_\_chn",
“label”: “Carbon Comparison Relay”,
"relayOption": "{"ReplayRecovery":"LATEST"}",
"state": "STOP"
}
}
# EventSubscription
Represents a subscription to an event type. Removed in API version 46.0. Available in API version 41.0 to 45.0.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, POST, PUT, PATCH, HEAD
## Fields
| Field | Details |
| --- | --- |
| Active |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If the subscription isn’t active, it never receives any events.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer’s internal name for the event delivery used in the API.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EventType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of event to subscribe to. Valid values are:
- AlarmEvent—An alarm that’s offset from an absolute time (supported only if the EventDelivery type is ResumeFlow)
- CustomEvent—Reserved for future use
- DateRefAlarmEvent—An alarm that’s offset from a date/time field value (supported only if the EventDelivery type is ResumeFlow)
- EventObject—A custom platform event
- StandardPlatformEvent—A standard platform event
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name used as the event delivery identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the MasterLabel.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Master label for the event subscription. This internal label doesn’t get translated.
|
| Metadata |
Type
[mns:EventSubscription](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_eventsubscription.htm "HTML (New Window)")
Properties
Create, Nillable, Update
Description
The event subscription’s metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| ReferenceData |
Type
string
Properties
Filter, Group, Sort
Description
If the subscriber is a flow of type CustomEvent, referenceData is flowName\_versionNumber. For example, Printer\_Management\_2.
|
# ExtConvParticipantIntegDef
Represents the integration configuration for external conversation participants, used for communication between Salesforce and external messaging platforms. This object is available in API version 66.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Fields
| Field | Details |
| --- | --- |
| AccountKey |
Type
textarea
Properties
Create, Nillable, Update
Description
The encrypted JSON format key for secure storage of authentication credentials for external bot API calls.
|
| BotProvider |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The provider of bot integration that handles authentication and request and response logic.
Possible value:
- Custom
|
| ChannelMode |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
Possible values for channel type are:
- Messaging
- Voice
The default value is Messaging.
|
| ClientIdentifier |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The API client ID of the bot provider.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the MasterLabel.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The manageable state of the specified component that’s contained in a package.
Possible values are:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label for this object.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If it's part of a managed package, the namespace of the package that contains integration definition for the external conversation participant.
|
| ProjectIdentifier |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the project in the provider framework to scope API calls and resource access.
|
| Status |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The status of the integration.
Possible values are:
- Active
- Deleted
- Inactive
The default value is Active.
|
# ExternalAuthIdentityProvider
Represents an external authentication (auth) identity provider. An external auth identity provider links to an external credential and obtains OAuth tokens for outbound callouts to external systems.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Only users with the Customize Application permission or the Manage Named Credentials permission can access this object.
## Fields
| Field | Details |
| --- | --- |
| AuthenticationFlow |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Authentication flow to get tokens to call protected APIs.
Possible values are:
- AuthorizationCode
- ClientCredentials
- SalesforceDefined
|
| AuthenticationProtocol |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The authentication protocol that’s required to access the external system.
Possible values are:
- OAuth
- SalesforceDefined
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A meaningful description of the external auth identity provider.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique internal name for the named credential used in the API.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated type in Tooling API. The full name can include a namespace prefix. 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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the external auth identity provider.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the external auth identity provider. In the UI, this field is **Label**.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
Provides access to the associated metadata type and related fields in Tooling API.
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 that is associated with this object. Each Developer Edition org 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.
|
## ExternalAuthIdentityProviderParameter
Represents the parameters that configure an external auth identity provider.
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A human-readable description of the external auth identity provider parameter.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| ParameterName |
Type
string
Properties
Filter, Group, Sort
Description
The name of the external auth identity provider parameter.
|
| ParameterType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of external auth identity provider parameter. The value of this field drives the behavior of the parameter.
Possible values are:
- AuthorizeRequestQueryParameter
- AuthorizeUrl
- ClientAuthentication
- CreatedByNamespace
- IdentityProviderOptions
- ManagedByComponent
- ManagedByFeature
- RefreshRequestBodyParameter
- RefreshRequestHttpHeader
- RefreshRequestQueryParameter
- StandardExternalIdentityProvider
- TokenRequestBodyParameter
- TokenRequestHttpHeader
- TokenRequestQueryParameter
- TokenUrl
- UserInfoUrl
|
| ParameterValue |
Type
textarea
Properties
Nillable
Description
If the parameterType field describes a literal value then the literal value is stored in this field.
|
| SequenceNumber |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Specifies the order of parameters to apply when an external auth identity provider has more than one parameter. Priority is from lower to higher numbers (for example, 1 is the highest priority).
|
# ExternalClientAppSettings
For internal use only.
# ExternalCredential
Represents the details of how Salesforce authenticates to the external system. This object is available in API version 56.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

#### Note
All credentials stored within this entity are encrypted under a framework that is consistent with other encryption frameworks on the platform. Salesforce encrypts your credentials by auto-creating org-specific keys. Credentials encrypted using the previous encryption scheme have been migrated to the new framework.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| AuthenticationProtocol |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required.
The authentication protocol that’s required to access the external system. Valid values are:
- AwsSv4 — AWS Signature Version 4
- Basic — Authentication using a static username and password
- Custom — User-created authentication. Specify the permission set, sequence number, and authentication parameters. Each authentication parameter requires a name and value.
- Jwt — Reserved for future use
- JwtExchange— Reserved for future use
- NoAuthentication — Reserved for future use
- Oauth — Oauth 2.0
- Password — Reserved for future use
For connections to Amazon Web Services using Signature Version 4, use AwsSv4.
For connections using a direct token system, use Jwt. If using an intermediary authorization provider to process JWTs and return access tokens, use JwtExchange.
For Simple URL data sources, select NoAuthentication.
For connections using a static username and password, use Basic.
For cloud-based Files Connect external systems, select Oauth. For on-premises systems, select Password.
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A meaningful description of the external credential.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the external credential object.
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| ExternalCredentialParameters |
Type
[ExternalCredentialParameter\[\]](#subtype_ExternalCredentialParameter)
Properties
Nillable
Description
One or more sets of parameters that further configure the external credential.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of ExternalCredential in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the external credential.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The main label for the external credential. In the UI, this field is **Label**.
|
| Metadata |
Type
[ExternalCredential](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_externalcredential.htm "html (New Window)")
Properties
Create, Nillable, Update
Description
The external credential’s metadata.
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 that is associated with this object. Each Developer Edition org 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.
|
## ExternalCredentialParameter
Represents the parameters that configure an external credential. External credential parameters are used to configure external credential callouts through a combination of the type, name, and value/lookup fields. Available in API version 56.0 and later.
These parameters are used internally to provide a flexible architecture and are exposed here for packaging reasons.
| Field | Description |
| --- | --- |
| AuthProvider |
Type
string
Description
Reference to an authentication provider that the AuthProvider component represents, which defines the service that provides the login process and approves access to the external system.
|
| Certificate |
Type
string
Description
If the value of the ParameterType field is SigningCertificate, then this field references the certificate.
|
| Description |
Type
string
Description
A human-readable description of this external credential parameter.
|
| ExtlAuthIdentityProvider |
Field Type
string
Description
Reference to an external authentication identity provider that the ExternalAuthIdentityProvider component represents. The ExternalAuthIdentityProvider defines the service that provides the login process and approves access to the external system.
To simplify the configuration process for the authentication providers used by your named credentials, use an ExternalAuthIdentityProvider instead of an AuthProvider. Link the external auth identity provider to an external credential.
|
| ParameterGroup |
Type
string
Description
Groups a parameter along with its respective principal. For example, with dynamic scopes the user can apply a scope AuthParameter only when authenticated against a specific principal with a matching ParameterGroup value.
If a value for ParameterGroup isn’t provided, ParameterGroup defaults to the ParameterName value for PER\_USER and NAMED\_PRINCIPAL. For all other parameters ParameterGroup defaults to DEFAULT\_GROUP.
|
| ParameterName |
Type
string
Description
Required.
The name of the external credential parameter.
|
| ParameterType |
Type
ExternalCredentialParamType (enumeration of type string)
Description
Required.
The type of external credential parameter. The value of this field drives the behavior of the parameter. Valid values are:
- AdditionalRefreshStatusCode: Allows the user to specify 4xx, 6xx, 7xx, 8xx, and 9xx HTTP status codes that trigger Salesforce to refresh expired or invalid access tokens, in addition to the standard 401 HTTP status code response.
- AuthHeader: Allows the user to specify custom authentication headers to be added to the callout at run time. When using AuthHeader, the ParameterName field must be the header name as a string, and ParameterValue must be a formula of a header value that is evaluated at run time. SequenceNumber determines the order in which headers are sent out in the callout. Headers with lower numbers are sent out first.
- AuthParameter: Allows the user to add additional authentication settings. ParameterName defines the parameter to set. For example, AwsRegion sets the AWS Region parameter to apply for an AWS Signature V4 authentication protocol and ParameterValue is the value for the AWS Region.
- AuthProtocolVariant: Used to specify a variant of an authentication protocol. For example, Aws Sts as a variant when the ParameterName is AwsSv4 and the ParameterValue is AwsSv4\_STS.
- AuthProvider: Specifies that this parameter configures an authentication provider referenced by the AuthProvider field.
- AuthProviderUrl: Specifies the authentication endpoint URL. For example, if the authentication type is OAuth with JWT Bearer Flow, then ParameterValue is an authentication token endpoint.
- AuthProviderUrlQueryParameter: Allows the user to specify custom query parameters to be added to the callout to the authentication provider at run time. Currently, supported only for AWS Signature V4 with STS. The allowed AuthProviderUrlQueryParameter values are AwsExternalId and AwsDuration, used with AWS STS.
- AwsStsPrincipal: Configures AWS Signature V4 along with STS. ParameterName is AwsStsPrincipal and ParameterValue isn’t specified.
- CreatedByNamespace: Reserved for internal use.
- CustomPrincipal: Reserved for internal use.
- ExternalAuthIdentityProvider: Specifies that this parameter configures an authentication provider referenced by the ExtlAuthIdentityProvider field.
- GlobalNamedPrincipal: Reserved for internal use.
- JwtBodyClaim: Specifies a JWT (JSON Web Token) body claim, where ParameterName is the key and ParameterValue is the value. For example, the parameter name for a JWT audience is aud.
- JwtHeaderClaim: Specifies a JWT header claim, where ParameterName is the key and ParameterValue is the value. For example, the parameter name for a JWT key identifier is kid.
- ManagedByComponent: Reserved for internal use.
- ManagedByFeature: Reserved for internal use.
- NamedPrincipal: Specifies that the parameter uses the same set of user credentials for all users who access the external system.
- PerUserPrincipal: Provides access control at the individual user level.
- PrincipalIdentityAlias: Reserved for internal use.
- SfHttpRequestExtensionName: Reserved for internal use.
- SigningCertificate: Specifies the certificate used for an authentication signature. Use the Certificate field to specify the certificate name. Used for OAuth with JWT Bearer Flow and AwsSv4 STS with RolesAnywhere authentication.
- SystemUserPrincipal: Reserved for internal use.
|
| ParameterValue |
Type
string
Description
If the ParameterType field describes a literal value then the literal value is stored in this field.
|
| Principal |
Type
string
Description
If the value of the ParameterType field is either NamedPrincipal or PerUserPrincipal, this field points to a permission set. That value then determines the set of users that are allowed to use credentials provided by the credential provider. The value of the ParameterName field specifies the name of this principal.
**First available in API version 56.0, this field is removed in API version 58.0 and later.**
|
| SequenceNumber |
Type
int
Description
Specifies the order of principals to apply when a user participates in more than one principal. For example, a user could be part of multiple permission sets that are applicable for a credential provider. Priority is from lower to higher numbers.
You can set this field only when ParameterType is NamedPrincipal.
|
#### See Also
- [_Salesforce Help_: Named Credentials](https://help.salesforce.com/HTViewHelpDoc?id=named_credentials_about.htm&language=en_US "Salesforce Help: Named Credentials - HTML (New Window)")
- [_Named Credentials Developer Guide_: Get Started with Named Credentials](https://developer.salesforce.com/docs/platform/named-credentials/guide/get-started.html "Named Credentials Developer Guide: Get Started with Named
Credentials - HTML (New Window)")
- [_Named Credentials Developer Guide_: Named Credential API Links](https://developer.salesforce.com/docs/platform/named-credentials/references/named-credentials-reference/nc-api-links.html "Named Credentials Developer Guide: Named Credential API
Links - HTML (New Window)")
- [_Apex Developer Guide_: Invoking Callouts Using Apex](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_callouts.htm " Apex Developer Guide: Invoking Callouts Using
Apex - html (New Window)")
- [_Apex Developer Guide_: Named Credentials as Callout Endpoints](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_callouts_named_credentials.htm " Apex Developer Guide: Named Credentials as Callout
Endpoints - HTML (New Window)")
# ExternalDataSource
Represents the metadata associated with an external data source. Create external data sources to manage connection details for integration with data and content that are stored outside your Salesforce org. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| CertificateId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
If you specify a certificate, your Salesforce org supplies it when establishing each two-way SSL connection with the external system. The certificate is used for digital signatures, which verify that requests are coming from your Salesforce org.

#### Note
For best performance, verify that your remote HTTPS encrypted sites have OCSP (Online Certificate Status Protocol) stapling turned on.
|
| CustomConfiguration |
Type
textarea
Properties
Nillable
Description
A string of configuration parameters that are specific to the external data source’s type.
- [Custom Configuration for the Salesforce Connect Cross-Org Adapter](#customconfig_xorg)
- [Custom Configuration for the Salesforce Connect OData 2.0 or 4.0 Adapter](#customconfig_odata)
- [Custom Configuration for the Salesforce Connect Custom Adapter](#customconfig_apex)
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer’s internal name for the external data source used in the API.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record by using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| Endpoint |
Type
textarea
Properties
Nillable
Description
The URL of the external system, or if that URL is defined in a named credential, the named credential URL. Corresponds to URL in the user interface.
A named credential URL contains the scheme callout:, the name of the named credential, and an optional path. For example: callout:My\_Named\_Credential/some\_path.
You can append a query string to a named credential URL. Use a question mark (?) as the separator between the named credential URL and the query string. For example: callout:My\_Named\_Credential/some\_path?format=json.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated type in Tooling API. The full name can include a namespace prefix. 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.
|
| IsWritable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Lets the Lightning Platform and users in this org create, update, and delete records for external objects associated with the external data source. The external object data is stored outside the org. By default, external objects are read only. Corresponds to Writable External Objects in the user interface.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the external data source. The value for this field is the language value of the org.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
A user-friendly name for the external data source. The label is displayed in the Salesforce user interface, such as in list views.
Examples include Acme Team Marketing Site, or Acme SharePoint.
|
| Metadata |
Type
[ExternalDataSource](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_externaldatasource.htm)
Properties
Create, Nillable, Update
Description
Provides access to the associated type and related fields in Tooling API.
|
| NamedCredentialId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The Salesforce ID of the referenced named credential for an external data source. Required for Salesforce Connect adapters for Amazon DynamoDB, Amazon Athena, GraphQL, and OData 4.01. For connecting to other external data sources, the field must be null.
This is a relationship field.
Relationship Name
NamedCredential
Relationship Type
Lookup
Refers To
NamedCredential
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the external data source. An external data source can be in an extension namespace different than the object.
|
| OauthRefreshToken |
Type
textarea
Properties
Nillable
Description
The OAuth refresh token. Used to obtain a new access token for an end user when a token expires.
|
| OauthScope |
Type
string
Properties
Filter, Nillable, Sort
Description
Specifies the scope of permissions to request for the access token.
|
| OauthToken |
Type
textarea
Properties
Nillable
Description
The access token issued by the external system.
|
| Password |
Type
textarea
Properties
Nillable
Description
The password to be used by your org to access the external system. Ensure that the credentials you use have adequate privileges to access the external system, perform searches, return data, and return information about the external system’s metadata.
|
| PrincipalType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Determines whether you're using one set or multiple sets of credentials to access the external system. Possible values are:
- Anonymous
- NamedCustomPrincipal
- NamedUser
- PerUser
|
| Protocol |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The authentication protocol that’s required to access the external system. Possible values are:
- AwsSv4
- Basic
- Custom
- Jwt
- JwtExchange
- NoAuthentication
- Oauth
- Password
|
| Repository |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Used for SharePoint Online. If metadata isn’t accessible, use this field to create tables and default table fields.
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
For Salesforce Connect, specifies the adapter that connects to the external system. The valid values are:
- AmazonAthena—Amazon Athena
- AmazonDynamoDB—Amazon DynamoDB
- GraphQl—GraphQL
- OData—OData 2.0 adapter
- OData4—OData 4.0 adapter
- OData401—OData 4.01 adapter
- SfdcOrg—cross-org adapter
- ApexClassId—DataSource.Provider class that defines the custom adapter created via the Apex Connector Framework
For Files Connect, specifies the data source type. The valid values are:
- ContentHubSharepoint—SharePoint 2010 or 2013
- ContentHubSharepointOffice365—SharePoint Online
- ContentHubSharepointOneDrive—OneDrive for Business
- ContentHubGDrive—Google Drive
- ContenHubIsotope—Isotope
If Chatter is enabled, you can also specify SimpleURL to access data hosted on a web server that doesn’t require authentication.
- outgoingemail—A data source used for sending an email through a quick action.
For Digital Lending Configurator, the valid value is:
- AFPPAttribute—The data source name for the Application Form Product Proposal Attribute virtual object.
For the federated search external data source type, the valid value is:
- OpenSearch
For Transaction Management in Revenue Cloud, the valid values are:
- ASPAttribute—The data source name for the Asset State Period Attribute virtual object. Available in API version 63.0 and later.
- OIAttribute—The data source name for the Order Item Attribute virtual object. Available in API version 63.0 and later.
- QLIAttribute—The data source name for the Quote Line Item Attribute virtual object. Available in API version 63.0 and later.
For SalesAgreement in Manufacturing Cloud, the valid values are:
- SAPAttribute—The data source name for the SalesAgreement Product Attribute virtual object. Available in API version 60.0 and later.
These values are reserved for internal use:
- AssetAttribute
- ClaimAttributeDS
- ClaimItemAttributeDS
- CryptoTrEnvChgLogSnp
- CtrtGrpPlnAttr
- CtrtGrpPlnGrpClsAttr
- FAAttribute
- FLAttribute
- IAItemProdtAttr
- Identity
- InsPolicyAttribute
- IPAAttribute
- IPCAttribute
- IPCvrBnftAttribute
- IPPAttribute
- SdbOvenPODataSource
- Wrapper
|
| Username |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The username to be used by your org to access the external system. Ensure that the credentials you use have adequate privileges to access the external system, perform searches, return data, and return information about the external system’s metadata.
|
| Version |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Reserved for future use.
|
## Custom Configuration for the Salesforce Connect Cross-Org Adapter
The following sample JSON-encoded configuration string defines parameters that apply when the external data source’s type is set to SfdcOrg.
{"apiVersion":"32.0","environment":"CUSTOM", "searchEnabled":"true","timeout":"120"}
The parameters correspond to these fields in the user interface:
- apiVersion—API Version
- environment—Connect to
- searchEnabled—Enable Search
- timeout—Connection Timeout
## Custom Configuration for the Salesforce Connect OData 2.0 or 4.0 Adapter
The following JSON-encoded configuration string defines parameters that apply when the external data source’s type is set to OData or OData4.
{"inlineCountEnabled":"true","csrfTokenName":"X-CSRF-Token",
"requestCompression":"false","pagination":"CLIENT",
"noIdMapping":"false","format":"ATOM",
"searchFunc":"","compatibility":"DEFAULT",
"csrfTokenEnabled":"true","timeout":"120",
"searchEnabled":"true"}
The parameters correspond to these fields in the user interface.
- compatibility—Special Compatibility
- csrfTokenEnabled—CSRF Protection
- csrfTokenName—Anti-CSRF Token Name
- format—Format
- inlineCountEnabled—Request Row Counts
- noIdMapping—High Data Volume
- pagination—Server Driven Pagination
- requestCompression—Compress Requests
- searchEnabled—Enable Search
- searchFunc—Custom Query Option for Salesforce Search
- timeout—Connection Timeout
## Custom Configuration for the Salesforce Connect Custom Adapter
The following sample JSON-encoded configuration string defines the parameter that applies when the external data source’s type is set to the ID of a DataSource.Provider class.
{"noIdMapping":"false"}
The noIdMapping parameter corresponds to the High Data Volume field in the user interface.
# ExternalDataSrcDescriptor
Contains the metadata information for the external schema of an external data source. Use the metadata to map attributes from an AWS data source, such as Amazon DynamoDB and Amazon Athena, to Salesforce external object fields. Also, use the metadata to customize the data retrieval queries to an AWS data source. This object is available in API version 55.0 and later for Amazon DynamoDB and in API version 56.0 and later for Amazon Athena.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| CustomObjectId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
If set, the ID of the external object associated with the descriptor.
This is a relationship field.
Relationship Name
CustomObject
Relationship Type
Lookup
Refers To
CustomObject
|
| Descriptor |
Type
base64
Properties
Nillable
Description
The descriptor document that contains the metadata information.
|
| DescriptorVersion |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If the external system supports schema versioning for the data source, the optional descriptor document version tracks the external system's schema version. Several descriptors with different document versions may be active.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the child-level setup entity.
|
| ExternalDataSourceId |
Type
reference
Properties
Filter, Group, Sort
Description
Salesforce ID of the external data source that defines the external system.
This is a relationship field.
Relationship Name
ExternalDataSource
Relationship Type
Lookup
Refers To
ExternalDataSource
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated type in Tooling API.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the descriptor document.
|
| | |
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The manageable state of the descriptor that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The external data source descriptor's metadata.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object.
|
| Subtype |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The subtype of the descriptor.
Possible values are:
- SchemaTableDDL—Used to store the metadata for the external data source.
- SchemaTableMetadata—Used to cache information about the external system.
- SchemaTableQualifiers—Used to customize the data retrieval query to the external system.
|
| SystemVersion |
Type
int
Properties
Filter, Group, Sort
Description
The version that defines the descriptor format and allows compatibility with descriptor formats between Salesforce releases.
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of the descriptor.
Possible value:
- Schema
|
# ExternalDataTransportFieldTemplate
Reserved for internal use.
# ExternalDataTransportObjectTemplate
Reserved for internal use.
# ExternalServiceRegistration
Represents the external service configuration for an org. Available in API version 39.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP Calls
create(), delete(), query(), retrieve(),update(), upsert()
## Supported REST HTTP Methods
GET, PUT, POST, and DELETE
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The description for the external service, defined when the service is created.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort
Description
The developer’s internal name for the external data source used in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| Language |
Type
string
Properties
Create, DefaultedOnCreate, Filter, Group, Nillable, RestrictedPicklist, Sort, Update
Description
The language of the external service configuration.
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for the external service.
|
| NamedCredential |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name reference of the named credential to be used for the service.
|
| NamedCredentialReferenceId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The name reference of the named credential to be used for the service. References NamedCredential. Available in API version 52.0 and later.
Relationship Name
NamedCredentialReference
Relationship Type
Lookup
Refers To
NamedCredential
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package of which the external service is a part.
|
| ProviderAssetEndpoint |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Location or ID of the latest schema or metadata at an external site. Currently applies only to MuleSoft assets. Available in API version 57.0 and later.
|
| RegistrationProvider |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A reference to the registration provider.
- If the registrationProviderType is ExternalConnector, this field contains the external connector name.
- If the registrationProviderType is Heroku, this field contains the HerokuAppLink ID.
- For any other registrationProviderType value, this field is blank and reserved for future use.
|
| RegistrationProviderAsset |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A polymorphic foreign key field that contains the name of the asset related to the external service registration.
- For an external service registration created for a named query, this field contains the named query API name.
- For an external service registration created for an Apex class that has methods exposed as REST resources or methods that are aura-enabled, this field contains the Apex class name.
Available in API version 66.0 and later.
|
| RegistrationProviderType |
Type
string
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of schema provider used to create this external service. Valid values are:
- AgentActionOutputs
- AgentToAgent
- Anypoint
- AnypointPublic
- ApexRest
- AuraEnabled
- CodeExtension
- Commerce
- ContextDef
- Custom
- CustomExternalConnector
- DocumentProcessing
- ExternalConnector
- Heroku
- MuleSoft
- NamedQuery
- SchemaInferred
- Standard
For API version 56.0 and later.
|
| Schema |
Type
textarea
Properties
Create, Nillable, Update
Description
The content of the OpenAPI 2.0 or OpenAPI 3.0 schema in JSON or YAML format.
|
| SchemaAbsoluteUrl |
Type
url
Properties
Create, Filter, Nillable, Sort, Update
Description
The full, absolute URL to the schema. For API version 56.0 and later, populated when a user selects **Absolute URL** during registration.
|
| SchemaType |
Type
picklist
Properties
Create, Filter, Group, Nillable, RestrictedPicklist, Sort, Update
Description
ID format of the schema. For API version 48.0 and later, the valid value is OpenApi.
For API version 47.0 and earlier, the valid values are InteragentHyperSchema and OpenApi.
|
| SchemaUploadFileExtension |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The file's extension. For API version 56.0 and later, populated when a user selects **Upload from local** during registration.
|
| SchemaUploadFileName |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The file's name without the file extension. For API version 56.0 and later, populated when a user selects **Upload from local** during registration.
|
| SchemaUrl |
Type
url
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The schema's URL defined when registering a service. The path must begin with “/” and be a relative path.
|
| ServiceBinding |
Type
string
Properties
Nillable
Description
Maps non-supported media types for this external service registration to supported media types. For API version 53.0 and later.
|
| ServiceName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the cataloged API service that this external service registration belongs to. Available in API version 63.0 and later. This field was removed in API version 65.0.
|
| Status |
Type
picklist
Properties
Filter, Group, Nillable, RestrictedPicklist, Sort
Description
Indicates whether the service registration is finished. Valid values are complete and incomplete.
|
| SystemVersion |
Type
integer
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Identifies the external service registration revision. For valid values, see [ExternalServiceRegistation](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_externalserviceregistration.htm "HTML (New Window)") in the Metadata API Developer Guide.
|
# ExternalString
Represents a custom label for a translatable UI component. Includes access to the associated label in the Metadata API. Available in API version 38.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Limitations
[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 |
| --- | --- |
| Category |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Text that categorizes the label, limited to 255 characters. Separate each category with a comma. This field can be used in filter criteria when creating custom label list views.
|
| IsProtected |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the custom label is protected (true) or not (false). The default value is false .
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The language of the custom label.

#### Note
You can’t change the language of an existing custom label.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
An easily recognizable internal label to identify this custom label. This description is used in merge fields and is not translated.
|
| Name |
Type
string
Properties
Create, Filter, Group, Sort
Description
The name used in Apex and Visualforce pages to reference the custom label. Names must contain only alphanumeric characters, start with a letter, contain no spaces or double underscores, and be unique from all other labels in your org.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package of which the custom label is a part.
|
| Value |
Type
string
Properties
Create, Filter, Sort, Update
Description
The custom label value, limited to 1,000 characters. This value can be translated into any language that Salesforce supports.
|
# ExternalStringLocalization
Represents the translation of custom labels for a UI component represented by the [ExternalString](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalstring.htm "Represents a custom label for a translatable UI component. Includes access to the associated label in the Metadata API. Available in API version 38.0 and later.") object. This object is available in API version 49.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
DELETE, GET, PATCH, POST
## Special Access Rules
- Your organization must be using Professional, Enterprise, Performance, Unlimited, or Developer edition.
- Translation Workbench and data translation must be enabled in your org.
- To view this object, you must have the “View Setup and Configuration” permission.
## Limitations
[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
| ExternalStringId |
- Type
- reference
- Properties
- Create, Filter, Group, Sort
- Description
- The ID of the ExternalString associated with the
custom label that is being translated.
|
| Language |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort
- Description
- The language for this translated text.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| NamespacePrefix |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The namespace of the package of which the custom label is a part.
|
| Value |
- Type
- string
- Properties
- Create, Filter, Sort, Update
- Description
- The translated string value, limited to 32,000 characters or 96,000 bytes of
data, up to the length of the translated string.
|
# FieldDefinition
Represents a standard or custom field, providing row-based access to field metadata. Contrast FieldDefinition with EntityParticle, which represents each element of a field that can be presented in a user interface. FieldDefinition has parity with metadata type Field.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
query()
describeSObject()
## 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
| BusinessOwnerId |
- Type
- reference
- Properties
- Filter, Group, Nillable, Sort
- Description
-
Indicates the person or group associated with this
field. The business owner understands the importance
of the field’s data to your company and might be
responsible for determining the minimum security
classification. This field is available in API
version 45.0 and later.
|
| BusinessStatus |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Sort
- Description
-
Indicates whether the field is in use. Valid values include:
- Active
- DeprecateCandidate
- Hidden
This field is available in API version 45.0 and
later.
|
| CompactLayoutItems |
- Type
-
QueryResult
- Properties
- Filter, Group, Sort
- Description
- The CompactLayoutItemInfo records associated with this
field definition. Available in Tooling API starting
version 34.0. Because this field represents a
relationship, use only in subqueries.
- Example
subquery:
SELECT Id, QualifiedApiName, (SELECT DurableId, SortOrder FROM CompactLayoutItems) FROM
FieldDefinition WHERE EntityDefinition.QualifiedApiName = 'Account' AND QualifiedApiName = 'Name'
|
| ComplianceGroup |
- Type
- multipicklist
- Properties
- Filter, Nillable
- Description
-
The compliance acts, definitions, or regulations
related to the field’s data. Valid values include:
-
CCPA—California Consumer Privacy
Act
-
COPPA—Children's Online Privacy
Protection Act
-
GDPR—General Data Protection
Regulation
-
HIPAA—Health Insurance
Portability and Accountability Act
-
PCI—Payment Card Industry
-
PersonalInfo—Personal
information. For use with the Enhanced Personal
Information Management feature. Only available if
Enhanced Personal Information Management and
Digital Experiences are enabled.
-
PII—Personally Identifiable
Information
This field is available in API version 47.0 and
later.
|
| ControlledFields |
- Type
- QueryResult
- Properties
- Filter, Group, Sort
- Description
- The controlled fields in a dependent picklist. Use in
subqueries to reduce the number of queries. Available in
Tooling API starting version 34.0. Because this field
represents a relationship, use only in subqueries.
|
| ControllingFieldDefinition |
- Type
- FieldDefinition
- Properties
- Filter, Group, Sort
- Description
- The field definition of the controlling field if this
field is a dependent picklist. A dependent picklist
works with a controlling picklist or checkbox to filter
the available options. The value chosen in the
controlling field affects the values available in the
dependent field. This field is available in API version
14.0 and later. Available in Tooling API starting
version 34.0.
|
| ControllingFieldDefinitionId |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The ID of the
ControllingFieldDefinition for
this field. Available in Tooling API starting version
34.0.
|
| DataType |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Data type of the field, for example Text(40) or Date/Time. The values
are defined as they are in the user interface, not the
corresponding API data type names. Available in Tooling
API starting version 34.0.
|
| Description |
- Type
- string
- Properties
- Filter, Nillable, Sort
- Description
- A description of the field definition.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The unique name of the object in the API. This name can
contain only underscores and alphanumeric characters,
and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore,
and not contain two consecutive underscores. In managed
packages, this field prevents naming conflicts on
package installations. With this field, a developer can
change the object’s name in a managed package and the
changes are reflected in a subscriber’s org.
Label is Record Type Name.
|
| DurableId |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Unique identifier for the field. Always retrieve this
value before using it, because the value isn’t
guaranteed to stay the same from one release to the
next. To simplify queries, use this field.
|
| EntityDefinition |
- Type
- EntityDefinition
- Properties
- Filter, Group, Sort
- Description
- A relationship lookup to the object type that contains
this field. For example, if the field is defined on an
account, the lookup is to Account. You can’t interact directly with
this field. Instead, use it in
queries.
SELECT EntityDefinition.Label FROM
FieldDefinition WHERE EntityDefinition.QualifiedApiName='Lead'
|
| EntityDefinitionId |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The durable ID for the object defined in the
EntityDefinition field.
|
| ExtraTypeInfo |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Represents further definition of a type. Available in
Tooling API starting version 34.0.
- For type textarea:
- plaintextarea
- richtextarea
- For type URL, image
- For type reference,
- externallookup
- indirectlookup
- externallookup
- For Account,
- switchablepersonname
- personname
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the associated metadata object in
Metadata API.
- 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.
|
| IsApiFilterable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be specified in the
WHERE clause of a query
string.
- Available in Tooling API starting version 34.0.
- You can't sort or filter compound fields. This field’s
value is always false for compound fields.
|
| IsApiGroupable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be included in the GROUP
BY clause of a SOQL query. Available
in Tooling API starting version 34.0.
|
| IsApiSortable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, a query
can sort on this field.
- Available in Tooling API starting version 34.0.
- You can't sort or filter compound fields. This field’s
value is always false for compound fields.
|
| IsCalculated |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the
field’s value is calculated. Available in Tooling API
starting version 34.0.
|
| IsCompactLayoutable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be included in a compact layout. Available in
Tooling API starting version 34.0.
|
| IsCompound |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
is a compound of other fields. The default value is
false.
Available in Tooling API starting version 38.0.
|
| IsEverApiAccessible |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
is describable in the API. The default value is false. Available in
Tooling API starting version 49.0.
|
| IsFieldHistoryTracked |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the
field’s history can be tracked. Available in Tooling API
starting version 34.0.
|
| IsFlsEnabled |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, you can
set field-level security on this field. Available in
Tooling API starting version 35.0.
|
| IsHighScaleNumber |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Indicates whether the field stores numbers to eight
decimal places regardless of what’s specified in the
field details (true)
or not (false). Used
to handle currencies for products that cost fractions of
a cent, in large quantities. If high-scale unit pricing
isn’t enabled in your organization, this field isn’t
returned. Available in Tooling API starting version
34.0.
|
| IsHtmlFormatted |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
contains HTML. Available in Tooling API starting version
34.0.
|
| IsIndexed |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
is indexed in the database. Available in Tooling API
version 35.0 and later.
- Internal (database) indexing is different from indexing
for search.
- We recommend targeting indexed fields for better
response times in SOQL queries, reports, and list
views.
|
| IsListFilterable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be filtered for a related list. Available in Tooling
API starting version 34.0.
|
| IsListSortable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be sorted for a related list. Available in Tooling
API starting version 34.0.
|
| IsListVisible |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be included in a related list. Available in Tooling
API starting version 34.0.
|
| IsNameField |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
is a name field. Available in Tooling API starting
version 34.0.
|
| IsNillable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be left out of queries on the object. Available in
Tooling API starting version 34.0.
|
| IsPolymorphicForeignKey |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Indicates whether the foreign key includes multiple
object types (true)
or not (false).
Available in Tooling API version 41.0 and later.
|
| IsSearchPrefilterable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Indicates whether a foreign key can be included in
prefiltering (true)
or not (false) when
used in a SOSL WHERE
clause. Prefiltering means to filter by a
specific field value before executing the full search
query. Available in Tooling API version 40.0 and later.
Prefiltering is supported only in WHERE clauses with the
equals (=)
operator.
|
| IsWorkflowFilterable |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- If true, the field
can be filtered for a workflow. Available in Tooling API
starting version 34.0.
|
| Label |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The label that corresponds to the field in the user
interface. If the label has been translated, the value
returned is in the user’s language.
|
| Length |
- Type
- int
- Properties
- Filter, Group, Sort
- Description
- The maximum number of bytes available to store the value
in this field. Available in Tooling API starting version
34.0.
|
| LookupFilters |
- Type
- QueryResult
- Properties
- Filter, Group, Nillable, Sort
- Description
- The lookup filters associated with the field. Because
this field represents a relationship, use only in
subqueries.
- Example
subquery:
SELECT DurableId, QualifiedApiName, (SELECT Id, SourceObject,
SourceFieldDefinition.Label, IsOptional, Active, DeveloperName, LastModifiedBy.Name,
LastModifiedDate FROM LookupFilters) FROM EntityDefinition WHERE QualifiedApiName =
'User'"
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Primary label for this object. This display value is the
internal label that isn’t translated. Limit: 40
characters.
|
| Metadata |
- Type
- CustomField
- Properties
- Create, Nillable, Update
- Description
- Compact layout metadata, from the mns namespace.
- 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, Sort
- Description
-
The namespace prefix
associated with this object. Each Developer Edition
org 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 the following
values:
- In a Developer Edition org, the namespace prefix
is set to the namespace prefix of the org 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
org of the package developer.
- In an org other than a Developer Edition org,
NamespacePrefix is only set
for objects that are part of an installed managed
package. There’s no namespace prefix for all other
objects.
|
| Particles |
- Type
- QueryResult
- Properties
- Filter, Group, Sort
- Description
- The EntityParticles associated with this field.
Available in Tooling API starting version 34.0. Because
this field represents a relationship, use only in
subqueries.
|
| Precision |
- Type
- int
- Properties
- Filter, Group, Sort
- Description
- The maximum number of digits allowed for this field.
Available in Tooling API starting version 34.0.
|
| Publisher |
- Type
- Publisher
- Properties
- Filter, Group, Sort
- Description
- The publisher of this field, for example Salesforce, a
user, or a package name. Available in Tooling API
starting version 34.0.
|
| PublisherId |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- ID of the publisher associated with this field.
Available in Tooling API starting version 34.0.
|
| QualifiedApiName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- A unique external name for the field.
|
| ReferenceTargetField |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Available only for indirect lookup relationship fields
on external objects. Specifies the field on the parent
object to match against this indirect lookup
relationship field, whose values come from an external
data source. The specified custom field on the parent
object must have both externalId and unique set to
true. Available in
Tooling API starting version 34.0.
|
| ReferenceTo |
- Type
- RelationshipReferenceTo
- Properties
- Filter, Group, Sort
- Description
- The array of values in this field represents the
possible object types of the referenced objects. For
example, if a FieldDefinition represents a field on
Event.WhoId, the values in this field are Contact, Lead, and custom
objects with a relationship to Events. Available in
Tooling API starting version 34.0.
|
| RelationshipDomains |
- Type
- QueryResult
- Properties
- Filter, Group, Sort
- Description
- Metadata about the relationships this field has with
other objects. Available in Tooling API starting version
34.0. Because this field represents a relationship, use
only in subqueries.
|
| RelationshipName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The value for one-to-many relationships. For example, in
the object MyObject with a relationship to YourObject,
the relationship name is typically YourObjects.
Available in Tooling API starting version 34.0.
|
| RunningUserFieldAccessId |
- Type
- string
- Properties
- Description
- Reserved for internal use. Available in Tooling API
starting version 34.0.
|
| Scale |
- Type
- int
- Properties
- Filter, Group, Sort
- Description
- The number of digits to the right of the decimal in an
integer. For example, 3.00 has a scale of 2. Available
in Tooling API starting version 34.0.
|
| SecurityClassification |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Sort
- Description
- Indicates the sensitivity of the data contained in this
field. Valid values include:
- Public
- Internal
- Confidential
- Restricted
- MissionCritical
This field is available in API version 45.0 and
later.
|
| ServiceDataType |
- Type
-
DataType
- Properties
- Filter, Group, Sort
- Description
- The service datatype for this field. Available in
Tooling API starting version 34.0.
|
| ServiceDataTypeId |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The ID of the ServiceDataType. Available in Tooling API
version 34.0. Don’t use, provided for backward
compatibility only.
|
| ServiceDataTypes |
- Type
- QueryResult
- Properties
- Filter, Group, Sort
- Description
- The ServiceDataTypes associated with this field.
Available in Tooling API starting version 34.0. Because
this field represents a relationship, use only in
subqueries.
|
| ValueType |
- Type
- DataType
- Properties
- Filter, Group, Sort
- Description
- The data type of the field. Available in Tooling API
version
35.0.
|
| ValueTypeId |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The ID of the ValueType. Available in Tooling API
version 35.0.
|
| WorkflowFieldUpdates |
- Type
- QueryResult
- Properties
- Filter, Group, Sort
- Description
- The workflow field updates for this field. Field updates
allow you to automatically update a field value to one
that you specify when a workflow rule is triggered.
Available in Tooling API starting version 34.0. Because
this field represents a relationship, use only in
subqueries.
|

#### Note
FieldDefinition fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for FieldDefinition 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. FieldDefinition is still exposed in Tooling API to User Profiles with the ViewSetup permission.
## Usage
When querying or searching the FieldDefinition object, you must filter using the following syntax: WHERE EntityDefinition.QualifiedApiName ='\[ObjectAPIName\]'.
Example Query:
SELECT DurableId, QualifiedApiName, Label, DataType, ValueTypeId, PublisherId, Length, Precision, Scale, EntityDefinitionId, RelationshipName
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName = 'Customer\_Sat\_Survey\_\_c' ORDER BY Label ASC NULLS FIRST
Example Query: Find Parent Object Types
Some fields can have more than one type of object in a relationship (polymorphic). For example, Task and Event can have relationships with Contact or Lead.
Use this query to retrieve a list of objects that can have a relationship with the FieldDefinition.
SELECT QualifiedApiName, RelationshipName, ReferenceTo, ReferenceTargetField
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName = 'Event' AND QualifiedApiName = 'WhoId'
Example Query: Find the Datatypes for Account Fields
SELECT QualifiedApiName, (Select DataType From Particles)
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName ='Account'
## CustomField Metadata
| caseSensitive |
boolean |
Indicates whether the field is case sensitive (true) or not (false). For indirect lookup
relationship fields on external objects, this attribute affects
how this custom field’s values are matched against the values of
referenceTargetField.
|
| defaultValue |
string |
If specified, represents the
default value of the field. |
| deleteConstraint |
DeleteConstraint is an enumeration of strings |
Provides deletion options for lookup
relationships. Valid values are:
- SetNull
- Default value.
- If the lookup record is deleted, the lookup field is
cleared.
- Restrict
- If the record is in a lookup relationship, prevents
it from being deleted.
- Cascade
- Deletes the lookup record and associated lookup
fields.
For more information on
lookup relationships, see “Object Relationships”
in Salesforce Help.
|
| description |
string |
Description of the
field. |
| displayFormat |
string |
The display format. |
| displayLocationInDecimal |
boolean |
Indicates how the value of a
Geolocation custom field appears in the user interface. If
true, the
geolocation appears in decimal notation. If false, the geolocation
appears as degrees, minutes, and seconds. |
| externalDeveloperName |
string |
Available only for external objects. Name of the table column on
the external data source that maps to this custom field in
Salesforce. Corresponds to External Column Name
in the user interface. This field is available in API version 32.0
and later. |
| externalId |
boolean |
Indicates whether the field is an
external ID field (true) or
not (false). |
| formula |
string |
If specified, represents a formula on
the field. |
| formulaTreatBlankAs |
TreatBlanksAs |
Indicates how to treat
blanks in a formula. Valid values are BlankAsBlank or BlankAsZero. |
| fullName |
string |
Required. The internal name of the object. White spaces and
special characters are escaped for validity. The name must:
- Contain characters, letters, or the underscore (_)
character
- Must start with a letter
- Can’t end with an underscore
- Can't contain two consecutive underscore characters
|
| indexed |
boolean |
Indicates if the field is indexed. If this field is unique or the
externalId is set to true, the
isIndexed value is set to true. This field
has been deprecated as of version 14.0 and is only provided for
backward compatibility.
|
| inlineHelpText |
string |
Represents the content of
field-level help. For more information, see “Define
Field-Level Help” in Salesforce Help. |
| isFilteringDisabled |
boolean |
Available only for
external objects. Indicates whether the custom field is
available in filters. This field is available in API
version 32.0 and later.
|
| isNameField |
boolean |
Available only for external
object fields of type text. For each external object, you can
specify one field as the name field. If you set this
field's value to true, make sure
that the external table column identified by
externalDeveloperName contains name values.
This field is available in API version 32.0 and later.
|
| isSortingDisabled |
boolean |
Available only for external
objects. Indicates whether the custom field is sortable.
This field is available in API version 32.0 and later.
|
| reparentableMasterDetail |
boolean |
Indicates whether the
child records in a master-detail relationship on a custom object
can be reparented to different parent records. The default value
is false.
This field
is available in API version 25.0 and later.
|
| label |
string |
Label for the field. You can’t
update the label for standard picklist fields, such as the
Industry field for accounts.
|
| length |
int |
Length of the field. |
| lookupFilter |
LookupFilter |
The Lookup filter definition for the custom field. Available in
API version 30.0 and later.
|
| maskChar |
EncryptedFieldMaskChar |
For encrypted fields, specifies the character to be used as a
mask. Valid values:
|
| maskType |
EncryptedFieldMaskType |
For encrypted text fields, specifies the format of the masked and
unmasked characters in the field. Valid values:
- all
- All characters in the field are hidden. This option is
equivalent to the Mask All
Characters.
- creditCard
- The first 12 characters are hidden, the last four are
displayed. This option is equivalent to the
Credit Card Number option.
- ssn
- The first five characters are hidden, the last four are
displayed. This option is equivalent to the
Social Security Number
option.
- lastFour
- All characters are hidden, except the last four are
displayed. This option is equivalent to the
Last Four Characters Clear
option.
- sin
- All characters are hidden, except the last four are
displayed. This option is equivalent to the
Social Insurance Number
option.
- nino
- All characters are hidden. If the field contains nine
characters, Salesforce automatically inserts spaces
after each pair of characters. This option is equivalent
to the National Insurance Number
option.
|
| picklist |
Picklist |
If specified, the field is a
picklist, and this field enumerates the picklist values and
labels. |
| populateExistingRows |
boolean |
Indicates whether existing rows are populated (true) or not (false). |
| precision |
int |
The precision for number values.
Precision is the number of digits in a number. For example, the
precision value for the number 256.99 is 5. |
| referenceTargetField |
string |
Available only for indirect lookup relationship fields on
external objects. Specifies the custom field on the parent object to
match against this indirect lookup relationship field, whose values
come from an external data source. The specified custom field on the
parent object must have both externalId and
unique set to true. This field is available in API version 32.0 and
later.
|
| referenceTo |
string |
If specified, indicates a
reference this field has to another object. |
| relationshipLabel |
string |
Label for the
relationship. |
| relationshipName |
string |
If specified, indicates the
value for one-to-many relationships. For example, in the object
MyObject that had a relationship to YourObject, the relationship
name YourObjects makes the relationship type
obvious. |
| relationshipOrder |
int |
This field is valid for all
master-detail relationships, but the value is only non-zero for
junction objects. A junction object has two master-detail
relationships, and is analogous to an association table in a
many-to-many relationship. Junction objects must define one
parent object as primary (0), the other as secondary (1). The
definition of primary or secondary affects delete behavior and
inheritance of look and feel, and record ownership for junction
objects. For more information, see Salesforce Help.
0 or 1 are
the only valid values, and 0 is always the value for objects that aren’t
junction objects.
|
| required |
boolean |
Indicates whether the field requires
a value on creation (true) or
not (false). |
| scale |
int |
The scale for the field. Scale is the
number of digits to the right of the decimal point in a number.
For example, the number 256.99 has a scale of 2. |
| startingNumber |
int |
If specified, indicates the starting number for the
field. |
| stripMarkup |
boolean |
Set to true to remove markup,
or false to preserve markup. Used
when converting a rich text area to a long text area. |
| summarizedField |
string |
Represents the field on the detail row that’s being summarized.
This field can’t be null unless the value of
SummaryOperation is count.
|
| summaryForeignKey |
string |
Represents the master-detail field on the child that defines the
relationship between the parent and the child. |
| summaryOperation |
SummaryOperations is an enumeration of strings |
Represents the sum operation to be performed. Valid values:
|
| trackFeedHistory |
boolean |
Indicates whether the field is
enabled for feed tracking (true) or not (false).
This field is available in API version 18.0 and
later.
|
| trackHistory |
boolean |
Indicates whether history tracking
is enabled for the field (true) or not (false). Also available for standard object
fields (picklist and lookup fields only) in API version 30.0 and
later.
|
| trackTrending |
boolean |
Indicates whether historical
trending data is captured for the field (true) or not (false).
If this attribute is true for at least one field, the
object is enabled for historical trending. Available in API
version 29.0 and later.
|
| trueValueIndexed |
boolean |
This field is only relevant for a checkbox field. If set, true
values are built into the index. This field has been deprecated as
of API version 14.0 and is only provided for backward
compatibility. |
| type |
FieldType is an enumeration of strings |
Indicates the field type for the field. Valid values:
-
Address
(beta)
- AutoNumber
- Lookup
- MasterDetail
- Checkbox
- Currency
- Date
- DateTime
- Email
- EncryptedText
-
Number1
- Percent
- Phone
- Picklist
- MultiselectPicklist
- Summary
- Text
- TextArea
- LongTextArea
- Summary
- Url
- Hierarchy
- File
- Html
- Geolocation
For standard fields on standard objects, the
type field is optional. This field is
included for some standard field types, such as Picklist or
Lookup, but not for others. The type field
is included for custom fields.
|
| unique |
boolean |
Indicates whether the field is unique (true) or not (false). |
| visibleLines |
int |
Indicates the number of lines
displayed for the field. |
| writeRequiresMasterRead |
boolean |
Sets the minimum sharing
access level required on the parent record to create, edit, or
delete child records. This field applies only to master-detail
or junction object custom field types.
-
true—Allows users
with “Read” access to the parent record
permission to create, edit, or delete child records. This
setting makes sharing less restrictive.
-
false—Allows users
with “Read/Write” access to the parent record
permission to create, edit, or delete child records. This
setting is more restrictive than true, and is the default value.
For junction objects, the
most restrictive access from the two parents is enforced. For
example, you set to true on
both master-detail fields, but users have “Read”
access to one parent record and “Read/Write”
access to the other parent record. In this example, users are
unable to create, edit, or delete child records.
|
## Picklist Metadata
| controllingField |
string |
The fullName
of the controlling field if this
field is a dependent picklist. A dependent picklist works with a
controlling picklist or checkbox to filter the available
options. The value chosen in the controlling field affects the
values available in the dependent field. This field is available
in API version 14.0 and later.
|
| picklistValues |
PicklistValue[]
|
Required. Represents a set of values for a picklist.
|
| sorted |
boolean |
Required. Indicates whether values are sorted (true), or not (false).
|
## PicklistValue Metadata
This metadata type defines a value in the picklist and specifies whether this value is the default value. This type extends Metadata and inherits its fullName field.
Note the following when working with picklist values:
- When you retrieve a standard object, all picklist values are retrieved, not just the customized picklist values.
- When you deploy changes to standard picklist fields, picklist values are added as needed.
- You can’t set a picklist value as inactive, but if the picklist value is missing and you invoke an update() call, the missing value becomes inactive.
| allowEmail |
boolean |
Indicates whether this value lets users
email a quote PDF (true), or
not (false). This field is
only relevant for the Status field in
quotes.
This field is available in API version 18.0 and
later.
|
| closed |
boolean |
Indicates whether this value is
associated with a closed status (true), or not (false). This field is only relevant for the
standard Status field in cases and
tasks. This field is available in API version 16.0 and
later.
|
| color |
string |
Indicates the color assigned to the picklist
value when used in charts on reports and dashboards. The color
is in hexadecimal format; for example, #FF6600. If a color isn’t
specified, it’s assigned dynamically during chart
generation. This field is available in API version 17.0 and
later.
|
| controllingFieldValues |
string[] |
A list of values in the controlling field that are linked to this
picklist value. The controlling field can be a checkbox or a
picklist. This field is available in API version 14.0 and later. The
values in the list depend on the field type:
-
Checkbox: checked or unchecked.
-
Picklist: The
fullName of the picklist value in
the controlling field.
|
| converted |
boolean |
Indicates whether this value is
associated with a converted status (true), or not (false). This field is relevant for only the
standard Lead Status field in leads.
Your organization can set its own
guidelines for determining when a lead is qualified. The best
practice is to convert a lead when it becomes a real opportunity
that you want to forecast. For more information, see
“Convert Qualified Leads” in Salesforce Help. This
field is available in API version 16.0 and later.
|
| cssExposed |
boolean |
Indicates whether this value is
available in your Self-Service Portal (true), or not (false). This field is only relevant for the
standard Case Reason field in
cases.
Self-Service provides an online support channel
for your customers allowing them to resolve their inquiries
without contacting a customer service representative. For more
information about Self-Service, see “Setting Up Your
Self-Service Portal” in Salesforce Help.
This field is available in API version 16.0 and
later.
|
| default |
boolean |
Required. Indicates whether this value is the default picklist
value in the specified picklist (true), or not (false). |
| description |
string |
Description of a custom picklist
value. This field is only relevant for the standard
Stage field in opportunities. It’s
useful to include a description for a customized picklist value
so that the historical reason for creating it can be
tracked. This field is available in API version 16.0 and
later.
|
| forecastCategory |
ForecastCategories, an enumeration of type string |
Indicates whether this value
is associated with a forecast category (true), or not (false). This field is only
relevant for the standard Stage field in
opportunities. Valid values:
- Omitted
- Pipeline
- BestCase
- Forecast
- Closed
This field is available in API version 16.0 and
later.
|
| fullName |
string |
The name used as a unique identifier for API access. The fullName
can contain only underscores and alphanumeric characters. It
must be unique, begin with a letter, not include spaces, not end
with an underscore, and not contain two consecutive
underscores. This field is inherited from Metadata.
|
| highPriority |
boolean |
Indicates whether this value is
a high priority item (true),
or not (false). This field is
only relevant for the standard Priority
field in tasks. For more information about tasks, see
“Start Using Tasks” in Salesforce Help. This field is
available in API version 16.0 and later.
|
| probability |
int |
Indicates whether this value is a
probability percentage (true), or not (false). This field is only relevant for the
standard Stage field in opportunities.
This field is available in API version 16.0 and later.
|
| reverseRole |
string |
A picklist
value corresponding to a reverse role name for a partner. For
example, for the role “subcontractor”, a reverse
role is “general contractor”. Assigning a partner
role to an account in Salesforce creates a reverse partner
relationship so that both accounts list the other as a partner.
This field is only relevant for partner roles.
For more
information, see “Partner Fields” in Salesforce
Help.
This field is available in API version 18.0 and
later.
|
| reviewed |
boolean |
Indicates whether this value is
associated with a reviewed status (true), or not (false). This field is only relevant for the
standard Status field in solutions.
For more information about opportunities, see “Creating
Solutions” in Salesforce Help. This field is available in API
version 16.0 and later.
|
| won |
boolean |
Indicates whether this value is
associated with a closed or won status (true), or not (false). This field is only
relevant for the standard Stage field in
opportunities. This field is available in API version 16.0
and later.
|
## RelationshipReferenceTo Type
| referenceTo |
string[] |
The objects that can have a relationship to the field represented
by this FieldDefinition.
|
## WorkflowFieldUpdate Metadata
For more information about WorkflowFieldUpdate, see the [Metadata API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)").
# FieldMapping
Represents a mapping between fields in an object in the org and fields in a data service. A data service uses two separate field maps: one controls how the data service matches records in an object, and the other controls how the data service adds or updates data for an existing record.
This object is available in API version 38.0 and later.
## Supported SOAP Calls
query(),search()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
A unique name for this FieldMapping. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Provides a globally unique identifier for the FieldMapping, which prevents conflicts with FieldMapping objects from other packages that have the same MasterLabel.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| FieldMappingClientId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
A foreign key reference to a CleanRule that uses this FieldMapping.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the FieldMapping. The following values are supported:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Master label for this object. This display value is the internal label that is not translated.
|
| SobjectType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
An object that’s acted on by this FieldMapping. The set of picklist values includes all the standard and custom object types in your org. However, if you specify an object that the data service doesn’t support, the API call returns an error.
|
# FieldMappingField
Represents a field in an object in the org that maps to a field in a data service.
This object is available in API version 38.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| DataServiceField |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The display name of the field in the data service that maps to this FieldMappingField.
|
| FieldMappingRowId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Foreign key for the object associated with this FieldMappingField object.
|
| DataServiceObjectName |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
A data service object that contains the field represented by this FieldMappingField. The set of picklist values includes all the object types defined in the data service. However, if you specify a non-existent object, the API call returns an error.
|
| Priority |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Represents the priority that the data service uses when it updates the field, relative to other update rules that exist for the same field.
|
# FieldMappingRow
Represents a field in a data service record that maps to a field in an object record in the org.
This object is available in API version 38.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| FieldMappingID |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A foreign key reference to the parent FieldMapping for this FieldMappingRow.
|
| FieldName |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The set of picklist values includes all the standard and custom object types in your org.
|
| Operation |
Type
picklist
Properties
Create (reserved for future use), Defaulted on create (reserved for future use), Filter, Group, Nillable (reserved for future use), Restricted picklist (reserved for future use), Sort, Update (reserved for future use)
Description
The comparison operation that the data service applies when it compares the value of this FieldMappingRow to the mapped field in the object specified in SObjectType. The following values are supported.
- Autofill fills empty fields and keeps values of fields that already contain data.
- Overwrite fills empty fields and updates fields that already contain data. History tracking is required for fields set to Overwrite.
|
| SobjectType |
Type
picklist
Properties
CreateFilter, Group, Nillable, Restricted picklist, Sort
Description
The standard or custom object in your org that contains the field mapped by this FieldMappingRow. The set of picklist values includes all the standard and custom object types in your org. However, if you specify an object that the data service doesn’t support, the API call returns an error.
|
# FieldRestrictionRule
Represents a field visibility rule that controls whether a field is visible to a user, based on the field’s inclusion in the PersonalInfo\_EPIM field set. If Enhanced Personal Information Management setting was enabled before Spring ’22, field visibility is based on the field’s compliance categorization. This object is available in API version 52.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
- To access this object, you must have the Manage Sharing permission.
- To create and manage Employee field visibility rules, you must be assigned a Workplace Command Center permission set license and the Provides access to Workplace Command Center features system permission.
- To create and manage User field visibility rules, you must enable Digital Experiences and the Enhanced Personal Information Management feature.
## Fields
| Field | Details |
| --- | --- |
| Classification |
Type
string\[\]
Properties
Filter
Description
Required. The data classification compliance categorization or field set that is targeted by the rule. The rule applies to fields that are marked with this categorization or included in this field set. If you enabled Enhanced Personal Information Management before Spring ‘22 (API version 54.0), you can use Salesforce's default compliance categorization values or values that you add yourself. If you enabled Enhanced Personal Information Management after Spring ‘22 (API version 54.0), use the PersonalInfo\_EPIM field set or a field set that you add yourself.
|
| ClassificationType |
Type
ClassificationType ([enumeration](http://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm) of type string)
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The type of classification method used in your org. If you enabled Enhanced Personal Information Management before Spring ‘22 (API version 54.0), use ComplianceCategory. If you enabled Enhanced Personal Information Management after Spring ‘22, use FieldSet.
- ComplianceCategory—
- FieldSet—
The default value is ComplianceCategory.
Available in API version 54.0 and later.
|
| Description |
Type
textarea
Properties
Filter, Group, Sort
Description
Required. The description of the rule.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the FieldRestrictionRule object.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EnforcementType |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Required. The type of rule.
Possible values are:
- FieldRestrict—Field visibility rule. Only this value is valid.
- Restrict—Do not use.
- Scoping— Do not use.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
Required. The full name of the associated FieldRestrictionRule in Metadata API. The full name can include a namespaceprefix.
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.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the rule is active (true) or not (false). The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the field visibility rule. The value for this field is the language value of the org.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Required. Label for the field visibility rule.
|
| Metadata |
Type
mns:[FieldRestrictionRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_fieldrestrictionrule.htm)
Properties
Create, Nillable, Update
Description
The field visibility rule’s metadata.
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.
|
| RecordFilter |
Type
textarea
Properties
Create, Filter, Group, Sort, Update
Description
Required. The criteria that determine which fields are visible to the specified users. For example, the field can check if the logged-in user matches the Employee’s ID.
|
| TargetEntity |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. The object for which you're creating the rule. Only the Employee and User objects are supported.
|
| UserCriteria |
Type
textarea
Properties
Create, Filter, Group, Sort, Update
Description
Required. The users that this rule applies to, such as all active users or users with a specified role or profile.
|
| Version |
Type
int
Properties
Filter, Group, Sort
Description
Required. The rule's version number.
|
# FieldSet
Represents the metadata for a group of fields. Available from API version 33.0 or later.
## Supported SOAP Calls
create(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, HEAD
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The field set description. This can be useful to describe the reason for creating the set or its intended use.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The API name of the field set.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The set’s label.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package of which the field set is a part.
|
# FlexiPage
Represents a Lightning page. A Lightning page is a customizable page composed of regions containing Lightning components.
Includes access to the associated FlexiPage object in the Metadata API. Available from API version 31.0 or later.
Lightning pages are used in several places.
- In the Salesforce mobile app, a Lightning page is the home page for an app that appears in the navigation menu.
- In Lightning Experience, Lightning pages can be used:
- To customize the layout of record pages, the Salesforce Home page, and the Email Application pane in the Outlook and Gmail integrations.
- As the home page for an app.
- As the utility bar for a Lightning app.

#### Note
These pages are known as FlexiPages in the API, but are referred to as Lightning pages in the rest of the Salesforce documentation and UI.

#### Note
In API version 49.0 and later, arrays in a FlexiPage are represented as valueList. Each array element is represented as valueListItem, and the element name is represented as value. In API version 48.0 and earlier, arrays are represented as value and array elements are formatted as a comma-separated list. Any FlexiPage retrieved using API version 49.0 or later uses valueList to represent component property array values, regardless of which API version was used to create the FlexiPage.
## Supported SOAP Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE,GET, HEAD,PATCH,POST
## Fields
| Description |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The page description. This field can be useful to describe the reason for
creating the page or its intended use.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The API name of the Lightning page.
-
|
| EntityDefinitionId |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
-
The name of the standard object or ID of
the custom object that the Lightning page is associated with. For Lightning
pages of type AppPage or HomePage, this field is null.
This field is available in API
version 39.0 and later.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the associated FlexiPage object in Metadata API.
- 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.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The page’s label.
|
| Metadata |
- Type
- FlexiPageMetadata
- Properties
- Create, Nillable, Update
- Description
- Lightning page metadata.
- 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 of the package of which the FlexiPage is a part.
|
| ParentFlexiPage |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The name of the FlexiPage that this page inherits behavior from. Available
in API version 37.0 or later.
|
| SobjectType |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The object the Lightning page is
associated with. For Lightning pages of type AppPage or HomePage,
this field is null.
Available in API version 37.0 and 38.0. Deprecated as of API version 39.0. Use
EntityDefinitionId instead.
|
| Type |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklistSort
- Description
- Required. The type of the Lightning page. Valid values are:
-
CdpRecordPage—A Lightning
page that is used to override a CDPNearCoreObject record page in
Lightning Experience. This value is available in API version 54.0
and later for orgs that have Data 360
enabled.
-
AppPage—A Lightning page that
is used as the home page for a custom app.
-
CommAppPage—A Lightning page
that is used to represent a custom page, as created in the
Experience Builder. This value is available in API version 37.0 and
later.
-
CommContractDetailViewPage—This value is available in API
version 64.0 and later.
-
CommCheckoutPage—A Lightning page that is used to
create a B2B Commerce checkout, as created in the Experience
Builder. This value is available in API version 46.0 and
later.
-
CommFlowPage A Lightning page
used to override a flow page, as created in the Experience Builder.
This value is available in API version 45.0 and later.
-
CommForgotPasswordPage—A Lightning page that’s used
to override a forgot-password page, as created in Experience
Builder. This value is available in API version 39.0 and
later.
-
CommFlowPage—An out-of-the-box flow page, as
created in Experience Builder. This value is available in
API version 45.0 and later.
-
CommGlobalSearchResultPage A
Lightning page used to override the global search result page, as
created in Experience Builder. This value is available in API
version 41.0 and later.
-
CommLoginPage—A Lightning page that’s used to
override the login page, as created in Experience Builder.
This value is available in API version 39.0 and later.
-
CommNoSearchResultsPage—An Experience Builder site
page for B2B searches that return no results. The URL for this
page is no-results/:term. The page starts
out empty. You can add any component to it that accepts
parameters to achieve the desired “no results” experience. For
example, you can place an HTML Editor component or CMS
components for recommendations, banners, help, and support.
This value is available in API version 48.0 and later.
-
CommObjectPage—A Lightning
page used to override an object page, as created in Experience
Builder. This value is available in API version 38.0 and
later.
-
CommOrderComfirmationPage—A
Lightning page that is used to create a B2B Commerce order
confirmation page in checkout, as created in the Experience
Builder. This value is available in API version 46.0 and
later.
-
CommQuickActionCreatePage—A
Lightning page used to override the create record page, as created
in Experience Builder. This value is available in API version 38.0
and later.
-
CommRecordPage—A Lightning
page used to override a record page, as created in the Experience
Builder. This value is available in API version 38.0 and
later.
-
CommRelatedListPage—A
Lightning page used to override a related list page, as created in
the Experience Builder. This value is available in API version 38.0
and later.
-
CommSearchResultPage—A
Lightning page used to override the search result page, as created
in Experience Builder. This value is available in API version 38.0
and later.
-
CommSelfRegisterPage—A Lightning page used to
override the self-registration page, as created in Experience
Builder. This value is available in API version 39.0 and
later.
-
CommThemeLayoutPage—A
Lightning page used to override a theme layout page, as created in
the Experience Builder. This value is available in API version 38.0
and later.
-
EmbeddedServicePage This
value is available in API version 45.0 and later.
-
EmailContentPage — A page
that contains the builder markup for your email content. When you
edit email content in the builder, the FlexiPage object remembers
where you put the components.
Because they include builder
markup, you can't retrieve or deploy FlexiPages when type is
EmailContentPage.
-
EmailTemplatePage — A page
that contains the builder markup for your email template. When you
edit an email template in the builder, the FlexiPage object
remembers where you put the components.
Because they include
builder markup, you can't retrieve or deploy FlexiPages when
type is EmailTemplatePage or EmailContentPage.
-
ForecastingPage —A Lightning
page that is used to override the default forecasts page in
Lightning Experience. This value is available in API version 57.0
and later.
-
HomePage—A Lightning page
that is used to override the Home page in Lightning Experience.
This value is available in API version 37.0 and later.
-
MailAppAppPage—An email
application pane used to override the default layout in the Outlook
and Gmail integrations. This value is available in API version 38.0
and later.
-
OmniSupervisorPageType—A
Lightning page used to customize the user interface on the
Omni-Channel Supervisor page. This value is available in API
version 60.0 and later.
-
QuickAction—A Lightning page
used to customize the fields and layout for a quick action. This
value is available as a Beta in API version 68.0 and later.
-
RecordPage—A Lightning page
used to override an object record page in Lightning Experience.
This value is available in API version 37.0 and later.
-
RecordPreview—A Lightning
page used to override standard lookup previews when hovering over
previewable records in Lightning Experience. This value is
available in API version 45.0 and later.
-
UtilityBar—A Lightning page
used as the utility bar in Lightning Experience apps. This value is
available in API version 38.0 and later.
-
VoiceExtension—A Lightning
page used to customize user interfaces and agent actions in the
Omni-Channel widget for Service Cloud Voice. This value is
available in API version 57.0 and later.
Available in API version 32.0 or later. In API versions 32.0 through 36.0, this
field can only have a value of AppPage.
|
## Sample Code
This code sample creates a Lightning page with a single Recent Items component, that shows recently used Accounts and MyCustomObject\_\_cs
ComponentInstance recentItems = new ComponentInstance();
recentItems.setComponentName("flexipage:recentItems");
ComponentInstanceProperty cip = new ComponentInstanceProperty();
cip.setName("entityNames");
cip.setValue("Account,MyCustomObject\_\_c");
recentItems.setComponentInstanceProperties(new ComponentInstanceProperty\[\]{cip});
FlexiPageRegion mainRegion = new FlexiPageRegion();
mainRegion.setName("main");
mainRegion.setType(FlexiPageRegionType.Region)
mainRegion.setComponentInstances(new ComponentInstance\[\] { recentItems });
FlexiPageMetadata fpMetadata = new FlexiPageMetadata();
fpMetadata.setFlexiPageRegions(new FlexiPageRegion\[\]{mainRegion});
fpMetadata.setMasterLabel("My FlexiPage");
fpMetadata.setDescription("A FlexiPage with a recent items component");
fpMetadata.setType(FlexiPageType.AppPage);
FlexiPage flexiPage = new FlexiPage();
flexiPage.setFullName("MyFlexiPageDevName");
flexiPage.setMetadata(fpMetadata);
// Create
SaveResult saveResult = soapConnection.create(new SObject\[\] { flexiPage });
# Flow
Use the Flow object to retrieve and update specific flow versions.
With Flow, you can create an application that navigates users through a series of screens to query and update records in the database. You can also execute logic and provide branching capability based on user input to build dynamic applications. For information about the corresponding UI-based flow building tool, see [Flow Builder](https://help.salesforce.com/articleView?id=flow_builder.htm&language=en_US "HTML (New Window)") in Salesforce Help.
When using the Tooling API to work with flows, consider that:

#### Note
Legacy flows created with the Desktop Flow Designer can’t be modified with the API. Update your flow by recreating it with Flow Builder.
- You can describe information for a flow installed from a managed package but not its metadata.
- Every time you update a flow version, you actually delete the existing flow version and create a flow version from it, with a new ID.
- To activate a flow, change the Status field to active.
You can delete a flow version as long as it isn’t active and has no paused interviews. If the flow version has paused interviews, wait for those interviews to resume and finish, or delete them.
This object is available in API version 34.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
DELETE, GET, HEAD, PATCH, POST
## Fields
| ApiVersion |
- Type
- double
- Properties
- Nillable
- Description
- The API version that defines the execution behavior of
the flow. Available in API version 50.0 and later. Flows
created before API version 50.0 display an API version
of 0 on the Flows list view in Setup. To display the
correct API version number, create another version of
the flow, and set the API version for running the flow
to 49.0 or later.
|
| Definition |
- Type
-
FlowDefinition
- Properties
- Filter, Group, Nillable, Sort
- Description
- This flow’s definition object.
|
| DefinitionId |
- Type
- ID
- Properties
- Filter, Group, Sort
- Description
- The ID of this flow’s FlowDefinition.
|
| Description |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- A description of the flow, such as what it’s meant to do
or how it works.
|
| Environments |
- Type
- multipicklist
- Properties
- Filter, Nillable
- Description
- Indicates where a flow can run. Valid values are:
-
Default—The flow can run from a
Visualforce component, Lightning page, flow
action, or custom Aura component.
-
Offline—The flow can run only
offline. Flow types that support offline flows
must set this value. This value is available in
API version 62.0 and later.
-
Slack—The flow can run in Slack
and the default environment. You specify the Slack
flow environment when you save the flow.
Available in API version 55.0
and later.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the flow in the Metadata API.
A
unique name for the flow that contains only
underscores and alphanumeric characters. The name
must be unique across the org, begin with a letter,
not include spaces, not end with an underscore, and
not contain two consecutive underscores.
- 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.
- To deploy or retrieve a version, you can specify the
version number. For example, sampleFlow-3 specifies version 3 of the
flow whose unique name is sampleFlow. If you don’t
specify a version number, the flow is the latest
version.
|
| IsTemplate |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Indicates whether the process or flow is a template.
When installed from managed packages, processes and
flows can’t be viewed or cloned by subscribers because
of intellectual property (IP) protection. But when those
processes and flows are templates, subscribers can open
them in a builder, clone them, and customize the clones.
Available in API version 45.0 and later.
Default:
false
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, idLookup, Sort
- Description
- Label for the flow. In the UI, this field is Flow
Label.
|
| Metadata |
- Type
- mns: Flow
- Properties
- Create, Nillable, Update
- Description
- The flow’s metadata.
- 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.
If the flow is part of a managed package, this field is
Null. Metadata isn’t returned for flows in managed
packages, unless the flows are templates.
|
| ProcessType |
- Type
- Restricted picklist
- Properties
- Filter, Group, Nillable, Sort
- Description
- The type of the flow. Valid values are:
-
ActivityObjectMatchingFlow—A flow
that launches when Einstein Activity Capture
detects and captures a new activity, such as an
email. This type of flow runs in the background
without user interaction. This value is available
with Sync Email as Salesforce Activity in API
version 64.0 and later.
-
Appointments—A flow for Lightning
Scheduler. This value is available in API version
44.0 and later.
-
ApprovalWorkflow—A flow that's
used to manage Approval Processes in Revenue
Cloud. This value is available in API version 61.0
and later.
-
AutoLaunchedFlow—A flow that
doesn’t require user interaction.
-
CheckoutFlow—A flow used in
Lightning B2B Commerce to create a checkout in a
store. This value is available in API version 48.0
and later.
-
ContactRequestFlow—A flow that
lets customers request that customer support get
back to them. This flow is used to create contact
request records. This value is available in API
version 45.0 and later.
-
CustomerLifecycle—A
Salesforce Surveys flow that lets you associate
survey questions with different stages in customer
lifecycles. This value is available in API version
49.0 and later and only when the Customer
Lifecycle Designer license is enabled.
-
CustomEvent—A process that is
invoked when it receives a platform event message.
In the UI, it’s an event process. This value is
available in API version 41.0 and later.
-
FieldServiceMobile—A flow for the
Field Service mobile app. This value is available
in API version 39.0 and later.
-
FieldServiceWeb—A flow for
embedded Appointment Booking. Its UI label is
Field Service Embedded Flow. This value is
available in API version 41.0 and later.
-
Flow—A flow
that requires user interaction because it contains
one or more screens or local actions, choices, or
dynamic choices. In the UI and Salesforce Help,
it’s a screen flow. Screen flows can be launched
from the UI, such as with a flow action, Lightning
page, or web tab.
- FSCLending—A flow for Financial
Services Cloud Mortgage. This value is available
in API version 46.0 and later.
-
IndicatorResultFlow—A flow for
Outcome Management that calculates and creates
indicator results for a selected indicator
performance period. This value is available with
the Outcome Management license in API version 60.0
and later.
- FSCLending—A flow for login. This
value is available in API version 51.0 and
later.
-
IdentityUserRegistrationFlow—A
flow that creates users when they register and
updates existing users when they log in via a
single sign-on process that uses the
authentication provider framework. Available in
API version 64.0 and later.
-
InvocableProcess—A process
that can be invoked by another process or the
Invocable Actions resource in REST API. This value
is available in API version 38.0 and
later.
-
LoyaltyManagementFlow—A flow
for the Loyalty Management app and can be invoked
by loyalty program processes. This value is
available in API version 54.0 and later.
-
PromptFlow—A flow for Prompt
Builder. Pass data between Prompt Builder and the
flow. This value is available in API version 60.0
and later.
-
RoutingFlow—A flow for
Salesforce Omni-Channel routing and other business
logic. This value is available in API version 52.0
and later.
-
Survey—A flow for Salesforce
Surveys. From the UI, this type of flow is created
in Survey Builder. This value is available in API
version 42.0 and later.
-
SurveyEnrich—A Salesforce
Surveys flow that uses the Survey Data Mapper.
From the UI, this type of flow is created in the
Survey Builder and requires an associated survey
flow type. This value is available in API version
49.0 or later and only when the Customer Lifecycle
Designer license is enabled.
-
Workflow—A process that is
invoked when a record is created or edited. In the
UI and Salesforce Help, it’s a record change
process.
These values are reserved for future use.
- ActionPlan
- AppProcess
- CartAsyncFlow
- DigitalForm
- Journey
- JourneyBuilderIntegration
- LoginFlow
- ManagedContentFlow
- OrchestrationFlow
- RecommendationStrategy
- SalesEntryExperienceFlow
- TransactionSecurityFlow
- UserProvisioningFlow
- This value has significant impact on validation when
saving the flow and on the flow’s runtime behavior.
Don’t change this value unless you understand the flow
properties of the specified type.
Across flow versions, you can change the type only from Flow to AutoLaunchedFlow or vice versa.
Before you change the flow type, make sure that the flow
contains only elements, resources, and functionality that the
new flow type supports.
|
| RunInMode |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- The mode that the flow runs in. Valid values are:
-
DefaultMode
— The flow version runs in system or user
context, depending on how the flow is
launched.
-
SystemModeWithSharing — The flow
version always runs in system mode with sharing.
The flow respects org-wide default settings, role
hierarchies, sharing rules, manual sharing, teams,
and territories. But it doesn’t respect object
permissions, field-level access, or other
permissions of the running user.
-
SystemModeWithoutSharing — The
flow version always runs in system mode without
sharing. The flow can access all data.
-
UserMode — The flow version
runs with the user's security context explicitly
enforced, without inheriting sharing settings
from the calling context. This value is
available in API version 68.0 and later.
Available in API version 48.0 and later.
|
| Status |
- Type
- Restricted picklist
- Properties
- Filter, Group
- Description
- The flow’s status.
- Active
- Draft
- Obsolete
- UnderReview
- InvalidDraft
|
| TimeZoneSidKey |
- Type
- string
- Properties
- Nillable
- Description
- The ID that defines the time zone in which the flow
runs. Available in API version 56.0 and later.
|
| VersionNumber |
- Type
- int
- Properties
- Filter, Group, Sort
- Description
- The flow’s version number.
|
# FlowDefinition
The parent of a set of flow versions.

#### 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.
When using the Tooling API to work with flow definitions, consider that:

#### Note
Legacy flows created with the Desktop Flow Designer can’t be modified with the API. Update your flow by recreating it with Flow Builder.
- You can activate and deactivate flows with the Metadata field.

#### Important
In API version 44.0, we recommend upgrading your flows to flow metadata file names without version numbers and discontinue using the FlowDefinition object to activate or deactivate a flow. Then use the Flow object to activate or deactivate a flow. For more information, see [Upgrade Flow Files to API Version 44.0](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_visual_workflow.htm "HTML (New Window)").
If you deploy with flow definitions, the active version numbers in the flow definitions override the status fields in the flows. For example, the active version number in the flow definition is version 3, and the latest version of the flow is version 4 with the status field as Active. After you deploy your flow, the active version is version 3.
- You can update masterlabel and description of a FlowDefinition.
- FlowDefinition are implicitly created when the Flow object is created, which means FlowDefinition objects can only be updated.
This object is available in API version 34.0 and later.
## Supported SOAP API Calls
query(), retrieve(), update()
## Supported REST API HTTP Methods
GET, HEAD, PATCH, POST
## Fields
| ActiveVersion |
- Type
- Flow
- Properties
- Filter, Group, Nillable, Sort
- Description
- The active flow version object.
|
| ActiveVersionId |
- Type
- ID
- Properties
- Filter, Group, Nillable, Sort
- Description
- The ID of the active flow version.
|
| Description |
- Type
- string
- Properties
- Nillable
- Description
- Flow definition information, specified by the org’s admin.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Developer name of this flow definition. In the UI, the label is Flow API Name.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the flow definition in the Metadata API.
- 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.
|
| LatestVersion |
- Type
- Flow
- Properties
- Filter, Group, Nillable, Sort
- Description
- The latest flow version object, regardless of the status.
|
| LatestVersionId |
- Type
- ID
- Properties
- Filter, Group, Nillable, Sort
- Description
- ID of the latest flow version, regardless of the flow’s status.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- Label for the flow definition. In the UI, this field’s label is Flow Label.
|
| Metadata |
- Type
- mns:FlowDefinition
- Properties
- Create, Nillable, Update
- Description
- The flow definition’s metadata object, containing information about which flow version
is active and the flow definition’s description.
- 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 associated with this flow definition.
|
# FlowElementTestCoverage
Represents a flow element that was executed by a given Apex test method. Available in API version 44.0 and later.
## Supported SOAP Calls
query(), delete(), retrieve(), update()
## Supported REST HTTP Methods
GET, HEAD
## Fields
| Field | Details |
| --- | --- |
| ElementName |
Type
string
Properties
Filter, Group, Nillable, Sort, Update
Description
The unique name of the flow element that’s executed by the test method.
|
| FlowTestCoverageId |
Type
ID
Properties
Filter, Group, Sort
Description
The ID of the parent FlowTestCoverage record.
|
| FlowVersionId |
Type
ID
Properties
Filter, Group, Sort, Update
Description
The ID of the flow version that’s executed by the test method.
|
## Usage
FlowElementTestCoverage records are deleted when changes are saved to the associated flow version.

#### Tip
A flow version corresponds to a process built in Process Builder or a flow built in Flow Builder. When you create a process, Salesforce names each element for you. To understand which criteria node or action corresponds with an element name, see [Troubleshoot Processes with Apex Debug Logs](https://help.salesforce.com/articleView?id=process_troubleshoot_debuglogs.htm&language=en_US "HTML (New Window)").
## Sample Queries
Get the executed elements that were executed by any test
SELECT Id, Elementname, FlowTestCoverageId
FROM FlowElementTestCoverage
WHERE FlowVersionId='301RM0000004GiK'
Get the number of elements that were executed by any test
SELECT count\_distinct(ElementName)
FROM FlowElementTestCoverage
WHERE FlowVersionId='301RM0000004GiK'
Get the names of the elements that were executed by any test
SELECT ElementName, count(Id)
FROM FlowElementTestCoverage
WHERE FlowVersionId='301RM0000004GiK'
GROUP BY ElementName
# FlowTest
Represents the description of a flow test associated with a flow definition. This object is available in API version 55.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Nillable
Description
The description of the flow test. This field can be useful to describe the reason for creating the test or its intended use.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated FlowTest type in Metadata API. The full name can include a namespaceprefix.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the flow test.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the flow test. In the UI, this field is Label.
|
| Metadata |
Type
[FlowTest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_flowtest.htm)
Properties
Create, Nillable, Update
Description
The flow test's metadata.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
# FlowTestCoverage
Represents test coverage for a flow or process by a given Apex method. Available in API version 44.0 and later.
## Supported SOAP Calls
delete(), describeSObjects(), query(), retrieve(), update()
## Supported REST HTTP Methods
GET, HEAD
## Fields
| Field | Details |
| --- | --- |
| ApexTestClassId |
Type
ID
Properties
Filter, Group, Sort, Update
Description
The ID of the Apex test class.
|
| FlowVersionId |
Type
ID
Properties
Filter, Group, Sort
Description
The ID of the flow version that was executed by the test method.
|
| NumElementsCovered |
Type
int
Properties
Filter, Group, Nillable, Sort, Update
Description
The number of elements that were executed by the test method.
|
| NumElementsNotCovered |
Type
int
Properties
Filter, Group, Nillable, Sort, Update
Description
The number of elements that weren’t executed by the test method.
|
| TestMethodName |
Type
string
Properties
Filter, Group, Nillable, Sort, Update
Description
The name of the Apex method that executed the flow version.
|
## Usage
To deploy a process or autolaunched flow as active in production orgs, you must meet the flow test coverage requirement for your org. At least one Apex test must cover the flow test coverage percentage of the active processes and autolaunched flows. Flow test coverage requirements don’t apply to flows that have screens. FlowTestCoverage records are deleted when changes are saved to the associated flow version.
A flow version corresponds to a process built in Process Builder or a flow built in Flow Builder. For a process, Apex tests execute only the active version. For a flow, Apex tests execute the active version. When a flow has no active version, Apex tests execute the latest version.

#### Tip
Make sure that **Deploy processes and flows as active** is enabled in your org’s process automation settings. Otherwise, when you deploy active flows and processes via change sets or Metadata API, they’re deployed as inactive.
To calculate your org’s flow test coverage, Salesforce divides the number of covered flows and processes by the sum of the number of active processes and active autolaunched flows.
## Sample Query
Get the names of all flows and processes that have test coverage.
SELECT FlowVersion.Definition.DeveloperName
FROM FlowTestCoverage
GROUP BY FlowVersion.Definition.DeveloperName
Get the names of all active autolaunched flows and processes that don’t have test coverage.
SELECT Definition.DeveloperName
FROM Flow
WHERE Status = 'Active'
AND (ProcessType = 'AutolaunchedFlow' OR ProcessType = 'Workflow' OR ProcessType = 'CustomEvent' OR ProcessType = 'InvocableProcess')
AND Id NOT IN (SELECT FlowVersionId FROM FlowTestCoverage)
Get overall test coverage for a flow version.
SELECT Id, ApexTestClassId, TestMethodName, FlowVersionId, NumElementsCovered, NumElementsNotCovered
FROM FlowTestCoverage
WHERE flowversionid='301RM0000004GiK'
#### See Also
- [_Salesforce Help_: Deploy Processes and Flows as Active](https://help.salesforce.com/s/articleView?id=platform.flow_distribute_deploy_active.htm&type=5&language=en_US "Salesforce Help: Deploy Processes and Flows as Active - HTML (New Window)")
# FlowTestResult
This object is reserved for internal use.
# ForecastingDisplayedFamily
Represents the product families that an admin chooses to allow forecasting on in Lightning Experience. Available in Tooling API version 40.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve(),
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| DisplayPosition |
Type
int
Properties
Filter, Group, idLookup, Nillable, Sort
Description
The order in which product families are displayed on the forecasts page. Each value is unique to a product family.
|
| ProductFamily |
Type
picklist
Properties
Filter, Group, Sort
Description
The product family available to forecast on. Each product family is unique.
|
# ForecastingFilter
Represents the custom filter for including or excluding data from opportunity forecasts. This object is available in API version 55.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
As of Spring ’20 and later, only standard users with the View All Forecasts permission OR Allow Forecasting permission OR delegated forecast manager status can access this object.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer name of the forecast filter.
|
| FilterLogic |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The logic that controls the evaluation of conditions. Only AND is supported. For example, 1 AND 2 AND 3.
|
| ForecastingTypeId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the forecast type. Can be linked only to forecast types created in Summer ’21 and later.
This is a relationship field.
Relationship Name
ForecastingType
Relationship Type
Lookup
Refers To
ForecastingType
|
| ForecastingTypeSourceId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the forecast type source. Can be linked only to forecast type sources created in Summer ’21 or later and with a forecast source definition with source object of 'Opportunity’.
This is a relationship field.
Relationship Name
ForecastingTypeSource
Relationship Type
Lookup
Refers To
ForecastingTypeSource
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the forecast filter.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the forecast filter.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The label for this object, which displays in Setup. The 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
ForecastingFilter
Properties
Create, Nillable, Update
Description
The metadata of the forecast filter.
|
# ForecastingFilterCondition
Represents the custom filter condition logic for including or excluding data from opportunity forecasts. This object is available in API version 55.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
As of Spring ’20 and later, only standard users with the View All Forecasts OR Allow Forecasting permission OR delegated forecast manager status can access this object.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer name of the forecast filter condition.
|
| FieldName |
Type
string
Properties
Filter, Group, Sort
Description
The name of the opportunity field to be filtered.
|
| ForecastingFilterId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the forecast filter.
This is a relationship field.
Relationship Name
ForecastingFilter
Relationship Type
Lookup
Refers To
ForecastingFilter
|
| ForecastingSourceDefinitionId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the forecasting source definition.
This is a relationship field.
Relationship Name
ForecastingSourceDefinition
Relationship Type
Lookup
Refers To
ForecastingSourceDefinition
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the forecast filter condition.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the forecast filter condition.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The label for this object, which displays in Setup. The 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
ForecastingFilterCondition
Properties
Create, Nillable, Update
Description
The metadata of the forecast filter condition.
|
| Operation |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The operator in the filter condition.
Possible values are:
- equals
- greaterOrEqual—greater than or equal to
- greaterThan
- lessOrEqual—less than or equal to
- lessThan
- notEqual—not equal to
|
| SortOrder |
Type
int
Properties
Filter, Group, Sort
Description
The index value for the condition. This value represents the condition in the FilterLogic field on the ForecastingFilter object. For example, 1.
|
| Value |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The value of the filter condition. If multiple values are specified, they must be separated by a comma delimiter.

#### Note
If you have multiple currencies enabled, and add a custom filter on a currency field as part of your forecast type definition, the corporate currency at the time the filter was created is used. If you have a single currency enabled, the absolute value is used in your filter condition.
|
## Usage
A forecast type can contain up to three filter conditions.
# ForecastingSourceDefinition
Represents the object, measure, date type, and hierarchy that a forecast uses to project sales. This object is available in API version 52.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve()
## Supported REST API Methods
DELETE, GET, HEAD, POST, Query
## Fields
| Field | Details |
| --- | --- |
| CategoryField |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Name of the forecast category that is associated with the forecast type.
Possible values are:
- Opportunity.ForecastCategoryName
|
| DateField |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Field that is used for the forecast type’s date type. For example, the CloseDate field on Opportunity is used for opportunity close date–based forecast types.
Possible values are:
- Opportunity.CloseDate
- OpportunityLineItem.ServiceDate
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The name of the forecasting source definition.
|
| FamilyField |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Use this field to group forecasts by product family.
Possible values are:
- Product2.Family
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the forecasting source definition.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The language of the forecasting source definition.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Required. Controlling label for this forecasting source definition.
|
| MeasureField |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Field that is used for the forecast type’s measure. For example, the Amount field on Opportunity is associated with revenue-based forecast types.
Possible values are\*:
- Opportunity.Amount
- Opportunity.Custom
- Opportunity.TotalOpportunityQuantity
- OpportunityLineItem.Custom
- OpportunityLineItem.Quantity
- OpportunityLineItem.TotalPrice
\*Where Custom represents the name of the custom field that a forecast type’s measure is based on. Example: Use the Megawatts\_\_c custom field to forecast energy consumption.
|
| Metadata |
Type
[ForecastingSourceDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_forecastingsourcedefinition.htm "HTML (New Window)")
Properties
Create, Nillable, Update
Description
The metadata of the forecasting source definition.
|
| SourceObject |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. Object associated with this forecasting source definition.
Possible values are:
- Opportunity
- OpportunityLineItem
- Product2
|
| Territory2Field |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
For a territory-based forecast type, indicates the field that is used for territory information.
For user role–based forecast types, this value is null.
|
| UserField |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies who owns the forecast.
Possible values are:
- Opportunity.OwnerId
|
# ForecastingType
Represents a forecast type. This object is available in API version 52.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DateType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. The date type that forecast amounts are based on.
Possible values are:
- OLIMeasureCloseDateOnly—3
- OpportunityCloseDate—0
- ProductDate—1
- ProductDateOnly—4
- ScheduleDate—2
- ScheduleDateOnly—5
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The name of the forecast type.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the forecast type.
|
| HasProductFamily |
Type
boolean
Properties
Defaulted on create, Group
Description
Required. Indicates whether the forecast type includes product families (true) or not (false). The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the forecast type.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Required. Controlling label for this forecast type. This display value is the internal label that doesn’t get translated.
|
| Metadata |
Type
[ForecastingType](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_forecastingtype.htm "HTML (New Window)")
Properties
Create, Nillable, Update
Description
The metadata of the forecast type.
|
| OpportunitySplitTypeId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
For a forecast type based on a split, the ID of the opportunity split type.
This field is a relationship field.
Relationship Name
OpportunitySplitType
Relationship Type
Lookup
Refers To
OpportunitySplitType
|
| OpptyLineItemSplitTypeId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
For a forecast type based on an opportunity product split, the ID of the opportunity line item split type.
This field is a relationship field. Available in API version 58.0 and later.
Relationship Name
OpptyLineItemSplitType
Relationship Type
Lookup
Refers To
OpptyLineItemSplitType
|
| RoleType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. Indicates whether the role type has a ForecastingType, and if so, which ForecastingType.
Possible values are:
- R—User role-based forecast type
- T
- Y—Territory2-based forecast type
|
| Territory2ModelId |
Type
string
Properties
Filter, Group, Sort
Description
For a territory-based forecast type, the ID of the Territory2 model.
|
# ForecastingTypeSource
Represents the mapping of a forecasting source definition to a forecast type. This object is available in API version 52.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve()
## Supported REST API Methods
DELETE, GET, HEAD, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer name of the forecasting source definition.
|
| ForecastingSourceDefinitionId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the forecasting source definition.
This is a relationship field.
Relationship Name
ForecastingSourceDefinition
Relationship Type
Lookup
Refers To
ForecastingSourceDefinition
|
| ForecastingTypeId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the forecast type. Can be linked only to forecast types created in Summer ’21 and later.
This is a relationship field.
Relationship Name
ForecastingType
Relationship Type
Lookup
Refers To
ForecastingType
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the forecasting type source.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The language of the forecasting type source.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Required. The controlling label for this forecasting type source.
|
| Metadata |
Type
[ForecastingTypeSource](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_forecastingtypesource.htm "HTML (New Window)")
Properties
Create, Nillable, Update
Description
The metadata of the forecasting source definition.
|
| ParentSourceDefinitionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
For forecast types not based on the Opportunity object and not based on a custom measure, this value represents the ID of the parent ForecastingSourceDefinition of the linked ForecastingSourceDefinition.
This is a relationship field.
Relationship Name
ParentSourceDefinition
Relationship Type
Lookup
Refers To
ForecastingSourceDefinition
|
| RelationField |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Represents the field that links the source objects of the parent ForecastingSourceDefinition to the child ForecastingSourceDefinition.
Possible values are:
- OpportunityLineItem.OpportunityId
- OpportunityLineItem.Product2Id
|
| SourceGroup |
Type
int
Properties
Filter, Group, Sort
Description
Required. Represents a grouping of forecast type source definitions.
|
# FormulaFunction
Represents a function used when building a formula, including examples and uses. This object is available in Tooling API version 39.0 and later.
## Supported SOAP Calls
describeSObjects(), query()
## Supported REST HTTP Methods
GET
## Special Access Rules
In API version 45.0 and later, only users with the ViewSetup and Configuration permission can access FormulaFunction or FormulaFunctionCategory.
## Fields
| Field | Details |
| --- | --- |
| Category |
Type
[FormulaFunctionCategory](#formulafunctioncategorydef)
Properties
Filter, Group, Nillable, Sort
Description
TheFormulaFunctionCategory to which the formula belongs.
|
| CategoryId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the FormulaFunctionCategory.
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Description of the formula function.
|
| 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. To simplify queries, use this field.
|
| ExampleString |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Describes the function and what arguments you can use with it.
|
| IsAllowedInEntityContext |
Type
boolean
Properties
Filter, Group, Nillable, Sort
Description
Removed. Indicates whether you can use the formula function on an Entity (true) or not (false). For example, you can’t use the PRIORVALUE function in a custom Account formula field. This field is available in API versions 39.0 to 47.0. Use the [FormulaFunctionAllowedType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_formulafunctionallowedtype.htm "Represents the functions that are supported in the given formula context. Available in API version 48.0 and later.") object in API version 48.0 and later.
|
| IsAllowedInFlowContext |
Type
boolean
Properties
Filter, Group, Nillable, Sort
Description
Removed. Indicates whether the formula function is allowed in a Flow (true) or not (false). This field is available in API versions 39.0 to 47.0. Use the [FormulaFunctionAllowedType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_formulafunctionallowedtype.htm "Represents the functions that are supported in the given formula context. Available in API version 48.0 and later.") object instead in API version 48.0 and later.
|
| IsAllowedInVisualforceContext |
Type
boolean
Properties
Filter, Group, Nillable, Sort
Description
Removed. Indicates whether the formula function is allowed in Visualforce (true) or not (false). This field is available in API versions 39.0 to 47.0. Use the [FormulaFunctionAllowedType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_formulafunctionallowedtype.htm "Represents the functions that are supported in the given formula context. Available in API version 48.0 and later.") object instead in API version 48.0 and later.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The formula function label that appears in the user interface.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the formula function.
|
| Types |
Type
QueryResult
Properties
Filter, Group, Nillable, RestrictedPicklist, Sort
Description
Allowed formula types for functions.
This field is available in Tooling API version 48.0 and later. |
## FormulaFunctionCategory
| Field Name | Details |
| --- | --- |
| 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. To simplify queries, use this field.
|
| Functions |
Type
[QueryResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_queryresult.htm "Represents the results of a query. For example, if you query on the object EntityDefinition, all the layouts for that entity are returned as an array of QueryResult objects in the Layouts field. Available in Tooling API version 34.0 and later.")
Properties
Filter, Group, Nillable, Sort
Description
A list of functions that belong to the FormulaFunctionCategory.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Label of the FormulaFunctionCategory that appears in the user interface.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Name of the FormulaFunctionCategory.
|
## Query Examples
To get all the functions in FormulaFunction using REST:
req.setEndpoint('http://**instance**.salesforce.com/services/data/v68.0/tooling/query?q=SELECT+label+FROM+FormulaFunction );
req.setMethod('GET');
To get the DurableID of a function category using SOQL:
SELECT DurableID FROM FormulaFunctionCategory
To get all the categories and their functions using SOQL:
SELECT Name, Label, (SELECT Name, Label, Description, ExampleString FROM Functions) FROM FormulaFunctionCategory
# FormulaFunctionAllowedType
Represents the functions that are supported in the given formula context. Available in API version 48.0 and later.
## Supported SOAP Calls
describeSObjects(), query()
## Supported REST HTTP Methods
GET
## Special Access Rules
Only users with the ViewSetup and Configuration permission can access FormulaFunctionAllowedType.
## Fields
| Field | Details |
| --- | --- |
| 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. To simplify queries, use this field.
|
| FunctionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Unique identifier for the supported function.
|
| Type |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The name of the formula type in which the function is supported.
Possible values are:
- FLOW
- VALIDATION
- VISUALFORCE
|
# FormulaOperator
Represents an operator used when building a formula, including examples and uses. This object is available in Tooling API version 39.0 and later.

#### Note
In API version 45.0 and later, only users with the “ViewSetup and Configuration” permission can access FormulaOperator.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| 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. To simplify queries, use this field.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The formula operator label that appears in the user interface.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the formula operator.
|
| Value |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The value of the formula operator.
|
## Query Examples
To get all formula operators available in FormulaOperator:
req.setEndpoint('http://**instance**.salesforce.com/services/data/v68.0/tooling/query?q=SELECT+name,+label,+value+FROM+FormulaOperator );
req.setMethod('GET');
To get formula operators by ID:
req.setEndpoint('http://**instance**.salesforce.com/services/data/v68.0/tooling/query?q=SELECT+name,+label,+value+FROM+FormulaOperator+WHERE+durableId='PLUS' );
req.setMethod('GET');
# GenAiFunctionDefinition
Represents an agent action. This object is available in API version 60.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access this object, Agents must be enabled in your org.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Nillable
Description
A description explaining the general purpose and domain of the action.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for this object.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated object in Metadata API. The full name can include a namespace prefix.
|
| InvocationTarget |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Target invocation used by invocation operations.
|
| InvocationTargetType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Invocable action types used by invocation operations.
Possible values are:
- apex
- flow
- generatePromptResponse
|
| IsConfirmationRequired |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether confirmation is required for this action.
The default value is false.
|
| IsIncludeInProgressIndicator |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the ProgressIndicatorMessage is displayed.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the GenAiFunctionDefinition. The value for this field is the language value of the org.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The master label for the generative AI action.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
Provides access to the associated type.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the GenAiFunctionDefinition.
|
| ProgressIndicatorMessage |
Type
string
Properties
Filter, Group, Sort
Description
Message displayed when an action is taking longer than expected to execute.
|
# GenAiPlannerDefinition
Represents an agent planner service that uses a large language model (LLM) and a reasoning strategy to decompose a given task into smaller subtasks, identify the most suitable actions for each subtask, and invoke them. This object is available in API version 60.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access this object, Agents must be enabled in your org.
## Fields
| Field | Details |
| --- | --- |
| Capabilities |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A set of tags associated with the agent planner service definition.
|
| Description |
Type
textarea
Properties
Filter, Group, Sort
Description
A description explaining the general purpose and domain of the agent planner service definition.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for this object.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated object in Metadata API. The full name can include a namespace prefix.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the GenAiPlannerDefinition. The value for this field is the language value of the org.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The master label of the agent planner service definition.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the GenAiPlannerDefinition.
|
| PlannerType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
A particular approach to problem solving that is given as prompt instructions to a large language model (LLM).
Possible values are:
- AiCopilot\_\_ReAct—Uses a reactive planning strategy to solve problems with the LLM. This strategy consists of prompting the LLM to generate the next step in response to an event and the current context. It differs from a sequential planner in that it doesn’t plan more than one step ahead of time.
- AiCopilot\_\_SequentialPlannerIntentClassifier—Uses an intent classifier prompt and a sequential planner prompt. With each text input, the planner asks the LLM to generate a step-by-step plan to finish the goal. It plans first, then executes.
|
# GlobalValueSet
Represents a set of values used by a global picklist. Available from API version 39.0 or later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP Calls
create(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
Query, GET, POST, PATCH
## Fields
| Field Name | Details |
| --- | --- |
| CustomValue |
Type
[CustomValue\[\]](#globalvalueset_metadata)
Properties
Filter, Group, Sort
Description
A list of the global picklist values.
|
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
A picklist value’s description. It’s useful to include a description for a picklist value so the reason for creating it can be tracked. Limit: 255 characters.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in the Metadata API.
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.
Any global value set created in API version 57.0 or later automatically has the \_\_gvs suffix appended to FullName. When you make any CRUD-based call with the GlobalValueSet type, you must append the suffix to the FullName field when you reference the type.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
|
| Sorted |
Type
boolean
Properties
Filter, Group, Sort
Description
True if the picklist values are sorted alphabetically.
|
## CustomValue Metadata
Metadata about the global value set is returned in the CustomValue field.
| Field | Type | Description |
| --- | --- | --- |
| Color | string | The color assigned to the picklist value when it’s used in charts on reports and dashboards. The color is in hexadecimal format; for example, #FF6600. If a color isn’t specified, it’s assigned dynamically upon chart generation. |
| Default | boolean | Required. Indicates whether this value is the default selection for the global picklist and the custom picklists that share its picklist value set. This field is set to true by default. |
| Description | string | A picklist value’s description. It’s useful to include a description for a picklist value so the reason for creating it can be tracked. Limit: 255 characters. |
| IsActive | boolean | Indicates whether this value is active or inactive. The default value is true. Users can select only active values from a picklist. An API retrieve operation for global picklist values returns all active and inactive values in the picklist. But retrieving the values of a non-global, unrestricted picklist returns only the active values. |
| Label | string | The global picklist value’s label, or API name. If you don’t specify the label when creating a value, it defaults to the text of the picklist value (ValueName). The ValueName isn’t used if you update the label. |
| ValueName | string | The text of the picklist value. |
# Group
Represents a set of User records. Groups can contain individual users, other groups, or the users in a particular role or territory. In addition, groups can contain all users below a particular role or territory in the hierarchy. Available in Tooling API version 38.0 and later.
## Supported SOAP Calls
describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), search()
## Supported REST HTTP Methods
GET
## Special Access Rules
As of Spring ’20 and later, only authenticated internal and external users with the View Setup and Configuration permission can access this object.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Nillable, Sort
Description
The description of the group. This field is available in API version 62.0 and later.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Corresponds to **Group Name** in the user interface.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance slows down while Salesforce generates one for each record.
Only your Salesforce org’s internal users can access this field.
|
| DoesIncludeBosses |
Type
boolean
Properties
Filter, Group, Sort
Description
Indicates whether records shared with users in this group are also shared with users higher in the role hierarchy (true) or not (false). This field is only available for groups of type Regular and Queue. This field corresponds to the Grant Access Using Hierarchies checkbox on the detail pages of public groups and queues.
For groups of type Regular, this field available in API version 18.0 and later and has a default value of true.
For groups of type Queue, this field is available in API version 67.0 and later. The default value of this field for queues depends on the value of the org-level setting “Grant access using hierarchies by default in new queues.”
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The name of the group. This value corresponds to the value of the Label field in the user interface.
|
| OwnerId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the user who owns the group.
|
| RelatedId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Represents the ID of the associated records. For example, for Groups of type “Role,” this field is the ID of the associated UserRole. The RelatedId field is polymorphic.
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Type of the group. One of the following values:
- AllCustomerPortal—All your Customer Portal or Customer Community Plus users. This type is only available when a Customer Portal or a Customer Site is enabled for your org.
- CollaborationGroup—Chatter group.
- Manager—Public group that includes a user’s direct and indirect managers. This Group is read-only.
- ManagerAndSubordinatesInternal—Public group that includes a user and the user’s direct and indirect reports. This group is read-only.
- Organization—Public group that includes all the User records in the organization. This group is read-only.
- PRMOrganization—Public group that includes all the partners in an organization that has the partner site or portal feature enabled.
- Queue—Public group that includes all the User records that are members of a queue.
- Regular—Standard public group. When you create a group through the create() call, its type must be Regular, unless a site or partner portal is enabled for the org. If so, the type can be Regular or PRMOrganization.
- Role—Public group that includes all the User records in a particular UserRole.
- RoleAndSubordinates—Public group that includes all the User records in a particular UserRole and all the User records in any subordinate UserRole. Only available when digital experiences is enabled for your org and Experience Cloud site users are created with external account roles other than a shared person account role.
- RoleAndSubordinatesInternal—Public group that includes all the User records in an internal UserRole, excluding customer and partner roles, and all the User records in any subordinate internal UserRole.
- SharingRuleGroup—Group associated with a criteria-based sharing rule.
- Territory—Public group that includes all the User records in a particular Territory.
- TerritoryAndSubordinates—Public group that includes all the User records in a particular Territory and all the User records in any subordinate Territory.
Only Regular can be used when creating a group. The other values are reserved for system-managed groups.
|
# GtwyProvPaymentMethodType
Represents a type that allows integrators and payment providers to choose an active payment to receive an order's payment data rather than allowing the Salesforce Order Management platform to select a default payment method. This object is available in API version 50.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), search(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access Commerce Payments entities, your org must have a Salesforce Order Management license with the Payment Platform org permission activated. Commerce Payments entities are available only in Lightning Experience.
## Fields
| Field | Details |
| --- | --- |
| Comments |
Type
textarea
Properties
Filter, Nillable, Sort
Description
Additional details about the gateway provider payment method type record. Max length is 1000 characters.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, Salesforce generates one for each record, which slows performance.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Fullname |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated gatewayProviderPaymentMethodType in Metadata API. The full name can include a namespaceprefix.
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.
|
| GtwyProviderPaymentMethodType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Links the Salesforce payment method to the payment method used in the Salesforce Order Management storefront. Your payment gateway integration uses this field when finding a payment method to link to a payment.
The value of GtwyProviderPaymentMethodType must match the payment method value sent to the order's Payment Instrument in Salesforce Order Management.
Here are examples of payment method values that Salesforce could receive from Salesforce Order Management.
- CREDIT\_CARD
- BASIC\_CREDIT
- CreditCard
- GooglePay
- ApplePay
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the payment gateway integration.
|
| LastViewedDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. A null value may mean that the user only accessed this record or list view (LastReferencedDate) but did not view it.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Required. Label for the GtwyProvPaymentMethodType. In the UI, this field is Gateway Provider Payment Method Type.
|
| Metadata |
Type
GatewayProviderPaymentMethodType
Properties
Create, Nillable, Update
Description
Metadata associated with the gateway provider payment method type.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| PaymentGatewayProviderId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Specifies the payment gateway provider that Salesforce Order Management should use when processing payments. One payment gateway provider can be related to multiple payment method types.
This is a relationship field.
Relationship Name
PaymentGatewayProvider
Relationship Type
Lookup
Refers To
PaymentGatewayProvider
|
| PaymentMethodType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies the type of payment method used on an order in Salesforce Order Management.
Possible values are:
- AlternativePaymentMethod
- CardPaymentMethod
- DigitalWallet
|
| RecordTypeId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of the record type entity related to the gateway provider payment method type.
This is a relationship field.
Relationship Name
RecordType
Relationship Type
Lookup
Refers To
RecordType
|
## Usage
The Salesforce Order Management payment record must have a ProcessorId field with the same value as the payment gateway's ExternalReferenceId field. The gateway provider payment method type record must have a PaymentMethodType field that looks up to the payment method that you want to relate to your payment. Finally, the payment gateway and gateway provider payment method type must have matching PaymentGatewayProviderId fields. After you establish these relationships, the payment record infers your payment method from the gateway provider payment method type record.

# HeapDump
A complex type that represents a heap dump in an ApexExecutionOverlayResult object. Available from API version 28.0 or later.
## Fields
| Field | Details |
| --- | --- |
| className |
Type
string
Description
The name of the Apex class or trigger.
|
| extents |
Type
array of TypeExtent
Description
TypeExtent includes the following fields:
- collectionType
- count
- definition (array of AttributeDefinition)
- extent (array of HeapAddress)
- totalSize
- typeName
|
| heapDumpDate |
Type
dateTime
Description
The date and time that the heap dump was captured.
|
| namespace |
Type
string
Description
The namespace of the Apex class or trigger. Null if there is no namespace.
|
## Usage
Use heap dumps to capture structured debugging information.
# HistoryRetentionJob
Represents the body of retained data from the archive, and the status of the archived data. Available in API version 29.0 or later.
## Supported SOAP API Calls
describeSObjects(), query()
## Supported REST API HTTP Methods
GET
## Fields
| Field Name | Details |
| --- | --- |
| DurationSeconds |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
How many seconds the field history retention job took to complete (whether successful or not).
|
| HistoryType |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The object type that contains the field history that you retained. Valid values for standard objects are:
- Account
- Case
- Contact
- Leads
- Opportunity
For custom objects, use the object name.
|
| NumberOfRowsRetained |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The number of field history rows that a field history retention job has retained.
|
| RetainOlderThanDate |
Type
dateTime
Properties
Filter, Sort
Description
The date and time before which all field history data was retained.
|
| StartDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The start date of the field history retention job.
|
| Status |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Provides the status of the field history retention job. By default, field history tracking copies data to the archive, leaving a duplicate of the archived data in Salesforce. You can delete data from Salesforce manually after it's archived.
Status can include:
- CopyScheduled
- CopyRunning
- CopySucceeded
- CopyFailed
- CopyKilled
- NothingToArchive
- DeleteScheduled
- DeleteRunning
- DeleteSucceeded
- DeleteFailed
- DeleteKilled
|
# HomePageComponent
Represents a home page component.
This object is available in API version 35.0 and later.
## Supported SOAP Calls
query(), retrieve(), search()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| Body |
Type
string
Properties
Nillable
Description
If this component is an HTML page component, this field is the body of the HTML.
|
| Height |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Required for Visualforce Area components. Indicates the height (in pixels) of the component.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Namefield, Sort
Description
The name of the home page component.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A unique string to distinguish this type from any others.
|
| ShowLabel |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
ID of the home page layout.
|
| ShowScrollbars |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
ID of the home page layout.
|
# HomePageLayout
Represents a home page layout.
This object is available in API version 35.0 and later.
## Supported SOAP Calls
query(), retrieve(), search()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| Id |
Type
string
Properties
Defaulted on create, Filter, Group, idLookup, Sort
Description
ID of the home page layout.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Namefield, Sort
Description
The home page layout name.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A unique string to distinguish this type from any others.
|
# IconDefinition
Represents an icon, such as used for a tab. Available in API version 43.0 and later.

#### Note
In API version 45.0 and later, only users with the “ViewSetup and Configuration” permission can access IconDefinition.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| ContentType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The tab icon’s content type, for example, image/png.
|
| 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. To simplify queries, use this field.
|
| Height |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Height of the icon in pixels. If the icon content type is SVG, the Height and Width values are not used.
|
| TabDefinitionId |
Type
string
Properties
Filter, Nillable, Sort
Description
The ID of the tab this definition belongs to. Defaults to null.
|
| Theme |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The user interface theme this definition is associated with.
|
| Url |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The fully qualified URL for this icon. The default icon is a cloud.
|
| Width |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The icon’s width in pixels. If the icon content type is SVG, the Height and Width values are not used.
|
# Improve Performance with the Composite Resource
Use the /composite resource to improve the performance of a development tool or app built with Tooling API. This resource executes a series of Tooling API requests in a single call, minimizing the number of round trips needed between the client and server. You can use the output of one request as the input to a subsequent request. The requests’ response bodies and HTTP statuses are returned in a single response body. The entire request counts as a single call toward your API limits. Available in API version 40.0 and later.
For the most current API limit information, see the Salesforce Developer Limits Quick Reference. Contractual limits may also apply, as per your Salesforce contract.
The requests in a composite call are called subrequests. The subrequests are executed in the context of the same user.
In a subrequest’s body, you specify a reference ID that maps to the subrequest’s response. You can then refer to the ID in the url or body fields of later subrequests by using a JavaScript-like reference notation.
You can specify whether an error in a subrequest causes the entire composite request to roll back or just the subrequests that depend on it. You can also specify headers for each subrequest.
The following resources support composite.
- All sObject resources (vXX.X/tooling/sobjects/)
- The Query resource (vXX.X/tooling/query/?q=soql)

#### Note
You can have up to 25 subrequests in a single call. Up to five of these subrequests can be query operations.
## Syntax
**URI**: /vXX.X/composite
**Formats**: JSON
**HTTP method**: GET (lists other available composite resources), POST
**Authentication**: Authorization: Bearer token
**Parameters**: None required
**Request body**: [Composite Request Body](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_requests_composite_composite.htm "Describes a collection of subrequests to execute with the /composite resource.")
**Response body**: [Composite Response Body](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_responses_composite_composite.htm "Describes the result of a /composite request.")
## Example
The following composite request body includes five subrequests.
- The first subrequest creates a MetadataContainer.
- The second subrequest creates an ApexClassMember.
- The third subrequest creates a ContainerAsyncRequest and starts the asynchronous deployment process.
- The fourth subrequest gets the created ContainerAsyncRequest.
- The fifth subrequest gets the created MetadataContainer.
The five subrequests count as a single call toward the API limit.
{
"allOrNone":false,
"compositeRequest":
\[
{
"method":"POST",
"body":{
"Name":"MetadataContainer Unique Name"
},
“url":"/services/data/v40.0/tooling/sobjects/metadatacontainer/",
"referenceId":"metadatacontainer\_reference\_id"
},
{
"method":"POST",
"body":{
"contententityid":"" ,
"fullname":"ApexClassMemberUniqueFullName",
"body":"public class Classtest2test {}",
"MetadataContainerId":"@{metadatacontainer\_reference\_id.id}"
},
"url":"/services/data/v40.0/tooling/sobjects/apexclassmember/",
"referenceId":"apexclassmember\_reference\_id"
},
{
"method":"POST",
"body":{
"IsCheckOnly":"false",
"MetadataContainerId":"@{metadatacontainer\_reference\_id.id}"
},
"url":"/services/data/v40.0/tooling/sobjects/containerasyncrequest/",
"referenceId":"containerasyncrequest\_reference\_id"
},
{
"method":"GET",
"url":"/services/data/v40.0/tooling/sobjects/containerasyncrequest/@{containerasyncrequest\_reference\_id.id}",
"referenceId":"containerasyncrequest\_GET\_reference\_id"
},
{
"method":"GET",
"url":"/services/data/v40.0/tooling/sobjects/metadatacontainer/@{metadatacontainer\_reference\_id.id}",
"referenceId":"metadatacontainer\_GET\_reference\_id"
}
\]
}
- **[Composite Request Body](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_requests_composite_composite.htm)**
Describes a collection of subrequests to execute with the /composite resource.
- **[Composite Response Body](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_responses_composite_composite.htm)**
Describes the result of a /composite request.
#### See Also
- [REST API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/resources_composite.htm "REST API Developer Guide - HTML (New Window)")
# InboundNetworkConnection
Represents the a private connection between a third-party data service and a Salesforce org. The connection is inbound because the callouts are coming _into_ Salesforce.. Available in API version 49.0 and later.
## Supported SOAP Calls
create(), delete(), describeObject(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETEGETPATCHPOST
## Fields
| ConnectionType |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- Required. Specifies the Cloud provider of the
connection. The only valid value is AwsPrivateLink.
|
| Description |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- Required. A description of the connection. Maximum of
255 characters.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The developer’s internal name for the inbound network
connection used in the API.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the associated type in Metadata
API.
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.
|
| isActive |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Required. Specifies whether the connection is active
(true) or
not(false). The
default value is false
|
| Language |
- Type
- string
- Properties
- Defaulted on create, Filter, Group, Nillable, Restricted
picklist, Sort
- Description
- The language of the connection. The value for this field
is the language value of the org.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The internal label for the connection.
|
| Metadata |
- Type
- mns:InboundNetworkConnection
- Properties
- Create, Nillable, Update
- Description
- Provides access to the associated type and related
fields in Metadata API.
|
| NamespacePrefix |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The namespace of the connection. An inbound network
connection can be in an extension namespace different
than the object.
|
| Status |
- Type
- picklist
- Properties
- Filter, Group, Restricted Picklist, Sort
- Description
- Required. Connection status. The connection is initially
Unprovisioned
and moves through the other states automatically after
an admin performs a provision, sync, or teardown action.
The valid values are:
- Unprovisioned
- Allocating
- PendingAcceptance
- PendingActivation
- RejectedRemotely
- DeletedRemotely
- TeardownInProgress
- Ready
|
# InboundNetworkConnProperty
Represents a name-value pair that describes the properties of the inbound network connection. Available in API version 49.0 and later.
## Supported SOAP Calls
create(), delete(), describeObject(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, HEAD, PATCH, POST, QUERY
## Fields
| Field | Details |
| --- | --- |
| InboundNetworkConnectionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Required. The ID of the corresponding [InboundNetworkConnection](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_inboundnetworkconnection.htm "Represents the a private connection between a third-party data service and a Salesforce org. The connection is inbound because the callouts are coming into Salesforce.. Available in API version 49.0 and later.").
|
| PropertyName |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The name of a property used to establish an InboundNetworkConnection. Valid values are:
- AwsVpcEndpointId—The unique endpoint ID for connections to an AWS Virtual Private Cloud (VPC).
- Region—The region in which the VPC is hosted.
- SourceIpRanges—The ranges of source IP address allocated to this inbound connection by the Salesforce-managed VPC in your cloud provider.
|
| PropertyValue |
Type
textarea
Properties
Create, Nillable, Update
Description
The value of the PropertyName. An example of the PropertyValue of Region is us-west-2.
The PropertyValue of SourceIpRanges is a JSON string that lists the start and end IP address for each range. This example shows two IP address ranges.
\[
{
"startIp":"10.10.10.0",
"endIp":"10.10.10.3"
},
{
"startIp":"100.100.100.0",
"endIp":"100.100.100.15"
}
\]
|
# Index
Represents the index defined within a custom big object. Available in Tooling API version 41.0 and later.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
Query, 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 |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the record in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
This name is used to refer to the big object in the user interface. Available API version 41.0 and later.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Master label for the Index. This internal label doesn’t get translated.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A unique string to distinguish this type from any others.
|
| SobjectType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of standard object that this record type is derived from. In this case, the parent big object.
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of index. Valid values are PRIMARY or SECONDARY.
|
## Usage
REST GET
{
"attributes" : {
"type" : "Index",
"url" : "/services/data/v41.0/tooling/sobjects/Index/0c0D000000000GUIAY"
},
"Id" : "0c0D000000000GUIAY",
"SobjectType" : "01ID0000000AwIcMAK",
"DeveloperName" : "BigObject\_PK",
"MasterLabel" : "BigOBject\_PK",
...
"Type" : "PRIMARY"
}
# IndexField
Represents the fields in the index of a custom big object. Available in Tooling API version 41.0 and later.
## Supported SOAP Calls
query(), retrieve().
## 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 |
| --- | --- |
| FieldId |
Type
reference
Properties
Filter, Group, Sort
Description
ID of the custom field definition.
|
| Id |
Type
ID
Properties
Filter, Group, Sort
Description
ID of the custom index field.
|
| IndexId |
Type
reference
Properties
Filter, Group, Sort
Description
ID of the custom index.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Ordinal |
Type
int
Properties
Filter, Group, Sort
Description
The field’s position in the index. Used to determine the order of the fields in the index.
|
| SortDirection |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The sort direction of the field in the index. Valid values are ASC for ascending order and DESC for descending order.
|
# InstalledSubscriberPackage
Represents a package (first- or second-generation) that is installed in a subscriber’s org. Available in API version 41.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET, Query
## Fields
| Field | Details |
| --- | --- |
| MinPackageVersionId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
Package version ID (foreign key) of the first version of the package that was installed in the org. Starts with 04t.
|
| SubscriberPackageId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
ID of the subscriber package. Starts with 033.
|
| SubscriberPackageVersionId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
ID that shows the currently installed package version. Starts with 04t.
|
## Usage
Query InstalledSubscriberPackage for details about the packages that are installed in your org. Sample SOQL query:
SELECT Id, SubscriberPackageId, SubscriberPackage.NamespacePrefix,
SubscriberPackage.Name, SubscriberPackageVersion.Id,
SubscriberPackageVersion.Name, SubscriberPackageVersion.MajorVersion,
SubscriberPackageVersion.MinorVersion,
SubscriberPackageVersion.PatchVersion,
SubscriberPackageVersion.BuildNumber
FROM InstalledSubscriberPackage
ORDER BY SubscriberPackageId
# InstalledSubscriberPackageVersion
Deprecated and slated for removal. Represents a package version (first- or second-generation) that is installed in a subscriber’s org. Available in API version 41.0 and later.

#### Warning
This object is not currently in use. It will be removed in a future release.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET, Query
## Fields
| Field | Details |
| --- | --- |
| MinPackageVersionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Package version ID (foreign key) of the first version of the package that was installed in the org.
|
| SubscriberPackageId |
Type
reference
Properties
Filter, Group, Sort
Description
ID of the subscriber package.
|
| SubscriberPackageVersionId |
Type
reference
Properties
Filter, Group, Sort, Unique
Description
ID of the subscriber package version.
|
# Introducing Tooling API
Use Tooling API to build custom development tools or apps for Lightning Platform applications. Tooling API’s SOQL capabilities for many metadata types allow you to retrieve smaller pieces of metadata. Smaller retrieves improve performance, which makes Tooling API a better fit for developing interactive applications.Tooling API provides SOAP and REST interfaces.
For example, you can:
- Add features and functionality to your existing Lightning Platform tools.
- Build dynamic modules for Lightning Platform development into your enterprise integration tools.
- Build specialized development tools for a specific application or service.
Tooling API exposes metadata used in developer tooling that you can access through REST or SOAP.
For detailed descriptions of Tooling API objects and the REST resources and SOAP calls that each object supports, see [Tooling API Objects](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_list.htm).
- **[When to Use Tooling API](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_tasks.htm)**
Use Tooling API when you need fine-grained access to an org’s metadata. Tooling API’s SOQL capabilities for many metadata types allow you to retrieve smaller pieces of metadata. Smaller retrieves improve performance, which makes Tooling API a better fit for developing interactive applications.
- **[Tooling API Release Notes](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_rns.htm)**
Use the Salesforce Release Notes to learn about the most recent updates and changes to Tooling API.
- **[REST Overview](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_overview.htm)**
Use REST if you’re using a language that isn’t strongly typed, like JavaScript.
- **[API End-of-Life Policy](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_eol.htm)**
See which Tooling REST and SOAP API versions are supported, unsupported, or unavailable.
# InvocableActionExtension
Represents an extension to an invocable action in Salesforce. This object is available in API version 65.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API Methods
GET, HEAD, Query
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the InvocableActionExtension object.
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance slows down while Salesforce generates one for each record.
|
| Language |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The language for the package. The picklist values match the [Fully Supported Languages](https://help.salesforce.com/s/articleView?id=xcloud.faq_getstart_what_languages_does.htm&type=5&language=en_US) listed in Salesforce Help.
If no language is specified, the language defaults to the language of the Dev Hub user who created the package. This field is available in API version 65.0 and later.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the InvocableActionExtension. In the UI, this field is InvocableActionExtension.
|
| 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.
|
| ReferenceObjectId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Reference to the Apex Class that contains the Invocable Action being extended by this InvocableActionExtension. Only one InvocableActionExtension can exist for a given Apex Class, making this field a unique value among InvocableActionExtension records in this object.
This field is a relationship field.
Relationship Name
ReferenceObject
Refers To
ApexClass
|
# IPAddressRange
Represents a range of IP addresses to include in or exclude from the specified feature.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Not required. The description of the IP address range. For example, the name of the company that owns the IP address range.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the IP address range.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EndAddress |
Type
string
Properties
Filter, Group, Sort
Description
The end of the IP address range.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name used as the event delivery identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| IpAddressFeature |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The feature that uses the range of IP addresses. Possible values are:
- EmailIpFiltering (default) —Filter email engagement activities such as email opens and email clicks.
|
| IpAddressUsageScope |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Whether the specified IP addresses are included or excluded. Possible values are:
- Exclusion
- Inclusion
|
| isProtected |
Field Type
boolean
Description
Whether the specified IP address range is protected. The default is false.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Master label for the IP address range. This internal label doesn’t get translated.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The IP address range metadata.
|
| StartAddress |
Type
string
Properties
Filter, Group, Sort
Description
The start of the IP address range.
|
## Usage
Specify a range of IP addresses, which feature the range applies to, and whether the IP addresses are excluded from or included in the feature.
## Example
Exclude your coworkers' email opens and clicks from your email engagement reports. Use StartAddress and EndAddress to define the range of IP addresses that your company owns. Set IpAddressFeature to EmailIpFiltering, and set IpAddressUsageScope to Exclusion.
# KeywordList
Represents a list of keywords used in Experience Cloud site moderation. Available in Tooling API version 36.0 and later.
This keyword list is a type of moderation criteria that defines offensive language or inappropriate content that you don’t want in your Experience Cloud site.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Nillable, Sort.
Description
A description of the keyword list.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Namefield, Sort
Description
The developer’s internal name for the keyword list used in the API.
|
| FullName |
Type
string
Properties
Create, Group, Nillable.
Description
The full name of the associated metadata object in Metadata API.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort.
Description
The language of the keyword list. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort.
Description
Label for the keyword list.
|
| Metadata |
Type
mns:KeywordList
Properties
Create, Nillable, Update.
Description
KeywordList metadata. 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.
|
# Layout
Represents a page layout.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The Id of the EntityDefinition object associated with this object.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name of the layout used as the identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| LayoutType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Indicates the type of the layout. Valid values are:
- GlobalQuickActionList
- ProcessDefinition
- Standard
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
mns:Layout
Properties
Create, Nillable, Update
Description
Layout metadata.
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.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Nillable, Sort
Description
The layout name.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A unique string to distinguish this layout from any others. For example, if this layout is being using by a flow, use the NamespacePrefix to uniquely identify the layouts in multiple flow instances.
|
| ShowSubmitAndAttachButton |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Only allowed on Case layout. If true, **Submit & Add Attachment** displays on case edit pages to portal users in the Customer Portal.
|
| TableEnumOrId |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The enum (for example, Account) or ID of the object this layout is on.
|
# LightningComponentBundle
Represents a Lightning web component bundle. A bundle contains a Lightning web component and its related resources. Available in API version 45.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| ApiVersion |
Type
double
Properties
Filter, Nillable, Sort
Description
The API version for this bundle. Every bundle has an API version specified at creation.
|
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
The text description of the bundle. Maximum size of 255 characters.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the record in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance slows down while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique name used as the LightningComponentBundle identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| IsExplicitImport |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether imports between files are done explicitly by the developer (true) or implicitly by the framework (false).
|
| IsExposed |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the component is available to other namespaces, including namespaces outside of a managed package. If true and TargetConfigs is present, the component is also available to Salesforce builders such as Lightning App Builder and Experience Builder. If false, the component isn't available to builders and other namespaces.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the MasterLabel.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Master label for the Lightning bundle. This internal label doesn’t get translated.
|
| Metadata |
Type
mns:LightningComponentBundle
Properties
Create, Nillable, Update
Description
The LightningComponentBundle metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| TargetConfigs |
Type
textarea
Properties
Nillable
Description
Configurations for each target. Each target is a Lightning page type that can be configured in Lightning App Builder.
|
## Usage
For more information about Lightning web components, see [Lightning Web Components Developer Guide](https://developer.salesforce.com/docs/component-library/documentation/lwc "HTML (New Window)").
# LightningComponentResource
Represents a Lightning web component resource, such as HTML markup, JavaScript code, a CSS file, an SVG resource, or an XML configuration file. Available in API version 45.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
As of Summer ’20 and later, only your Salesforce org's internal users can access this object.
## Fields
| FilePath |
- Type
- string
- Properties
- Create, Filter, Group, Sort, Update
- Description
- The path to the resource.
|
| Format |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort,
Update
- Description
- The format of the resource. The possible values are:
|
| LightningComponentBundleId |
- Type
- reference
- Properties
- Create, Filter, Group, Sort
- Description
- The ID of the bundle containing the resource.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified
component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| Source |
- Type
- textarea
- Properties
- Create, Update
- Description
- The contents of the definition. This is all the markup
or code for the definition.
|
## Usage
For more information about Lightning web components, see [Lightning Web Components Developer Guide](https://developer.salesforce.com/docs/component-library/documentation/lwc "HTML (New Window)").
# LightningOutApp
Represents a Lightning Out 2.0 application. With a Lightning Out 2.0 app, you can embed Lightning web components (LWC) into external applications. This object is available in API version 65.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| ApplicationName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the Lightning Out 2.0 app.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique API name of the Lightning Out 2.0 app.
|
| IsEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the Lightning Out 2.0 app is enabled (true) or disabled (false). The default value is false. If the app is disabled, then user authentication fails and the embedded components don’t load in the external app.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the LightningOutApp.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
A user-friendly name for the LightningOutApp, which is defined when the LightningOutApp is created.
|
## Usage
See [Extend Salesforce to External Apps with Lightning Out 2.0](https://help.salesforce.com/s/articleView?id=platform.lightning_out_intro.htm&language=en_US&type=5 "HTML (New Window)") in Salesforce Help and [Use Components Outside Salesforce with Lightning Out 2.0](https://developer.salesforce.com/docs/platform/lwc/guide/lightning-out-intro.html "HTML (New Window)") in the Lightning Web Components Developer Guide.
# LookupFilter
Represents a lookup filter, which restricts the valid values and lookup dialog results for lookup, master-detail, and hierarchical relationship fields.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
Available from Tooling API version 34.0 or later.

#### Note
LookupFilter is not supported on the article type object.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
GET
## Fields
| Field Name | Details |
| --- | --- |
| Active |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the lookup filter is active.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Namefield, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**.
|
| FullName |
Type
string
Properties
Filter, Group, Sort
Description
The full name of the associated metadata object in Metadata API.
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.
|
| IsOptional |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Required. If true, the lookup filter is optional.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
LookupFilter
Properties
Create, Nillable, Update
Description
The metadata for this lookup filter.
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 of the custom field, which is sometimes different from the object’s namespace.
|
| SourceFieldDefinition |
Type
string
Properties
Filter, Group, Sort
Description
The field that this filter applies to.
|
| SourceFieldDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
Durable ID of the object specified in SourceFieldDefinition.
|
| SourceObject |
Type
string
Properties
Filter, Group, Sort
Description
The object that contains the lookup field that uses this lookup filter. Null if the lookup filter doesn’t reference fields on the source object.
|
| TargetEntityDefinition |
Type
EntityDefinition
Properties
Filter, Group, Sort
Description
The entity definition for the source lookup field.
|
| TargetEntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
ID of the TargetEntityDefinition.
|
## Example
The Owner field on Account represents a user with certain characteristics.
In this example, SourceFieldDefinition is Account.Owner and TargetEntityDefinition is User, because Owner is a lookup field to User.
## LookupFilter Metadata
Metadata about the lookup filter is returned in the Metadata field:
| Field | Type | Description |
| --- | --- | --- |
| active | boolean | Required. If true, the lookup filter is active. |
| booleanFilter | string | The filter logic, if any, applied to this filter using Boolean operators AND, OR, or NOT. |
| description | string | A description of the filter does. |
| errorMessage | string | If the lookup filter fails, the error m. |
| filterItems | FilterItem | Required. The set of filter conditions. Each lookup filter can have up to 10 FilterItems. |
| infoMessage | string | Information displayed on the page to help the user. For example, explaining why some items are excluded in the lookup filter. |
| isOptional | boolean | Required. If true, the lookup filter is optional. |
## FilterItem Metadata
Represents one entry in a set of filter criteria.
| Field |
Type |
Description |
| field |
string |
Represents the field specified in the filter. |
| operation |
FilterOperation, an enumeration of strings |
Valid values:
- equals
- notEqual
- lessThan
- greaterThan
- lessOrEqual
- greaterOrEqual
- contains
- notContain
- startsWith
- includes
- excludes
-
within (DISTANCE
criteria only)
|
| value |
string |
Represents the value of the filter item being operated upon. For example, if the
filter is my_number_field__c > 1, the value of this
field is 1. |
| valueField |
string |
Specifies if the final column in the filter contains a field or a field value.
Approval processes don’t support this field in filter criteria.
|
# ManagedContentNodeType
Represents standard and custom content node types created for use with your org. Available in API version 47.0 and later.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| HelpText |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
Provides assistive text in the UI, displayed as an info bubble for the field. If this field is empty, no info bubble icon or text is displayed.
|
| NodeLabel |
Type
string
Properties
Filter, Group, Sort
Description
Declares the label for the field as it appears in the UI.
|
| NodeName |
Type
string
Properties
Filter, Group, Sort
Description
Unique name of the NodeType within the content type.
NodeName is a simple text field that allows up to 100 alphanumeric characters and underscores. The name must begin with a letter, not include spaces, can’t have two consecutive underscores, and can’t end with an underscore.
|
| NodeOptionsIsLocalizable |
Type
boolean
Properties
Filter
Description
Declares a field as localizable so it’s exported (true) or not (false) by the content translation service in the Digital Experiences app. Default is false.
|
| NodeOptionsIsRequired |
Type
boolean
Properties
Filter
Description
Declares a field as required (true) or not (false). Fields declared as a required are indicated by a red asterisk. If a value isn’t added to the field, the form can't be saved and a standard error is displayed. Default is false.
|
| NodeType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Identifies the supported type of content in the node. Passed as a string. There’s a maximum of 15 node types per content type. Valid values are:
- TEXT—Simple text node (maximum length 255 characters)
- MTEXT—Multi-line text node (maximum length 2000 characters)
- RTE—Rich text node (maximum length 65536 characters)
- IMG—Image node
- URL—URL node (maximum length 255 characters)
URL accepts protocol string values starting with http://, https://, mailto:, tel:, and /.
- DATE—Date node
DATE accepts dates only in the format yyyy-MM-dd.
- DATETIME—Datetime node
DATETIME accepts date and time in the format: yyyy-MM-dd'T'HH:mm:ss.SSS'Z' (UTC datetime in ISO 8601 format).
- NAMEFIELD—Declares the field as the name that represents the content when referenced in the UI. For example, in a list of available content in the Digital Experiences app or as available for inclusion in a collection in Experience Cloud sites.
Declare only one NodeType in your managed content type as NAMEFIELD.
- NAMEFIELD is a string type of 200 characters or less.
- When NAMEFIELD is used, [isRequired](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_managedcontenttype#isrequired.htm) must also be set to True for the field.
|
| PlaceholderText |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
Provides assistive text in the UI, displayed as placeholder, or ghost text, in a field before any entry is made. For example, Enter a title for your article...
|
# ManagedContentType
Represents standard and custom content types created for use with your org. Available in API version 47.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, POST, DELETE

#### Note
You can delete a content type only if no content has been created based on that content type.
## ManagedContentType
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
Describes the custom content type defined in this ManagedContentType declaration.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Unique name for the custom content type. For example: OurSpecialContent\_c
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the content type in Metadata API.
A unique name for the content type that contains only underscores and alphanumeric characters. The name must be unique across the org, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Group, Nillable, Restricted picklist, Sort
Description
The language of the content type.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Declares the name of the content type as it appears in the UI.
|
| Metadata |
Type
mns: ManagedContentType
Description
The content type definition’s metadata object, containing information about which version is active and the content type definition’s description.
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.
|
# ManagedEventSubscription (Beta)
Represents a managed event subscription in Pub/Sub API. Use a managed event subscription to track the events that a subscriber client consumed and resume a subscription where it left off. This object is available in API version 60.0 and later.

#### Note
This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at Agreements and Terms.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
- To retrieve or query this object, you must have the View Setup and Configuration permission.
- To create, update, or delete this object, you must have the Customize Application permission.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated ManagedEventSubscription in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of ManagedEventSubscription.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The label for the managed event subscription, which corresponds to the label of the ManagedEventSubscription metadata type. The label is displayed in the user interface.
If the label isn't provided in the metadata type, MasterLabel is the DeveloperName value.
|
| Metadata |
Type
[ManagedEventSubscription](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_managedeventsubscription.htm)
Properties
Create, Nillable, Update
Description
The metadata for the managed event subscription.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| Version |
Type
string
Properties
Filter, Group, Sort
Description
Reserved for future use.
|
## Usage
This JSON example is the body of a REST API POST request that creates a managed event subscription named My\_Managed\_Subscription. The corresponding REST endpoint is /services/data/v68.0/tooling/sobjects/ManagedEventSubscription.
{
"FullName": "My\_Managed\_Subscription",
"Metadata":
{
"label" : "My Managed Subscription",
"topicName" : "/event/Order\_Event\_\_e",
"defaultReplay": "LATEST",
"state" : "RUN",
"errorRecoveryReplay" : "LATEST"
}
}
# MarketingAppExtAction
Represents an Action Type, which is an action that you can add to Engagement Studio programs in Account Engagement and execute in a third-party app. This object is available in API version 56.0 and later.
## Supported SOAP Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
MarketingAppExtAction is available to customers with Account Engagement Plus, Advanced, or Premium editions.
## Fields
| Field | Details |
| --- | --- |
| ActionName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the action for internal use. Appears in the UI.
|
| ActionParams |
Type
textarea
Properties
Create, Nillable, Update
Description
The parameters for the invocable action. Appears in the UI.
|
| ActionSchema |
Type
textarea
Properties
Create, Nillable, Update
Description
The JSON schema for the invocable action. Appears in the UI.
|
| ActionSelector |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Invocable action selector. Appears in the UI.
|
| ApiName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API. Appears in the UI.
|
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
The description of the action for internal reference. Appears in the UI.
|
| IsActive |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
The default value is false. Appears in the UI.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MarketingAppExtensionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
This field is a relationship field.
Relationship Name
MarketingAppExtension
Relationship Type
Lookup
Refers To
MarketingAppExtension
|
| Version |
Type
double
Properties
Create, Filter, Sort, Update
Description
Reserved for future use.
|
# MarketingAppExtActivity
Represents an Activity Type, which is a prospect activity that occurs in a third-party app and can be used in Account Engagement automations. . Available in API version 53.0 and later.

#### 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 field names.
## Supported SOAP Calls
create(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, HEAD, PATCH, POST, Query
## Special Access Rules
MarketingAppExtActivity is available to customers with Account Engagement Plus, Advanced, or Premium editions.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
The description of the activity for internal reference. Appears in the UI.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name for the MarketingAppExtActivity object. In the UI, this field is Extension API Name.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API. Appears in the UI as API Name.
|
| EndpointUrl |
Type
string
Properties
Filter, Nillable
Description
A sample endpoint that can be used to help connect the activity type to a third-party app. Appears in the UI.
|
| IsActive |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
This field makes data for the Activity Type available to use in Account Engagement automations. Label is **Active in Automations**.
The default value is false. Appears in the UI.
|
| Language |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The language of the MarketingAppExtActivity.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MarketingAppExtensionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
This is a relationship field. It identifies the Marketing App Extention that the Activity Type is associated with. Appears in the UI.
Relationship Name
MarketingAppExtension
Relationship Type
Lookup
Refers To
MarketingAppExtension
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for the MarketingAppExtActivity. In the UI, this field is Activity Name.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
# MarketingAppExtAssignment
Represents a Marketing App Extension Business Unit assignment, which dictates which Account Engagement business unit the external activity data is available in. Available in API version 53.0 and later.

#### Note
Pardot is now known as Marketing Cloud Account Engagement. We wish we could snap our fingers to update the name everywhere, but you can expect to see the previous name in a few places, including API references and documentation.
## Supported SOAP Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
MarketingAppExtAssignment is available to customers with Account Engagement Plus, Advanced, or Premium editions.
## Fields
| Field | Details |
| --- | --- |
| MarketingAppExtensionId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
This is a relationship field. The Marketing App Extension the Business Unit Assignment is associated with. Appears in the UI.
Relationship Name
MarketingAppExtension
Relationship Type
Lookup
Refers To
MarketingAppExtension
|
| ParentId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
This is a relationship field. The ID of the Account Engagement business unit. Appears in the UI.
Relationship Name
Parent
Relationship Type
Lookup
Refers To
PardotTenant
|
# MarketingAppExtension
Represents an integration with a third-party app or service that generates prospect external activity. Available in API version 53.0 and later.

#### 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 field names.
## Supported SOAP Calls
describeLayout(), describeSObjects(), query(), retrieve(), search()
## Supported REST HTTP Methods
GET, PATCH, POST
## Special Access Rules
MarketingAppExtension is available to customers with Account Engagement Plus, Advanced, or Premium editions.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Nillable
Description
The description of the activity for internal reference. Appears in the UI.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the MarketingAppExtension object. In the UI, this field is API Name.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API. Appears in the UI as API Name.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
This field makes data for a Marketing App Extension available to use in Account Engagement automations. Label is **Active in Automations**.
The default value is false. Appears in the UI.
|
| Language |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The language of the MarketingAppExtension
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Label for the MarketingAppExtension. In the UI, this field is Extension Name.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
# MarketingHierarchyGroupDef
Represents the top-level category of a marketing hierarchy that can be defined on various dimensions such as brand, industry, and region. This object is available in API version 68.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Marketing Planning and Operations must be available to access this object. See [Availability of Marketing Planning and Operations](https://help.salesforce.com/s/articleView?id=mktg.mktg_pln_oper_setup_editions.htm&language=en_US).
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
The description of the hierarchy group.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. The name must be 40 characters or fewer, must begin with a letter, can contain only underscores and alphanumeric characters, can't include spaces, can't end with an underscore, and can't contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object's name in a managed package and the changes are reflected in a subscriber's organization.
|
| IsActive |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the hierarchy group definition is active (true) or not (false).
The default value is false.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The combined language and locale ISO code, which controls the language for the marketing hierarchy group definition.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cac—Chuj
- cak—Kaqchikel
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LI—German (Liechtenstein)
- de\_LU—German (Luxembourg)
- el—Greek
- el\_CY—Greek (Cyprus)
- en\_AD—English (Andorra)
- en\_AE—English (United Arab Emirates)
- en\_AG—English (Antigua and Barbuda)
- en\_AL—English (Albania)
- en\_AT—English (Austria)
- en\_AU—English (Australian)
- en\_BA—English (Bosnia and Herzegovina)
- en\_BB—English (Barbados)
- en\_BE—English (Belgium)
- en\_BG—English (Bulgaria)
- en\_BS—English (Bahamas)
- en\_BZ—English (Belize)
- en\_CA—English (Canadian)
- en\_CH—English (Switzerland)
- en\_CY—English (Cyprus)
- en\_CZ—English (Czechia)
- en\_DE—English (Germany)
- en\_DK—English (Denmark)
- en\_DM—English (Dominica)
- en\_EE—English (Estonia)
- en\_ES—English (Spain)
- en\_FI—English (Finland)
- en\_FR—English (France)
- en\_GB—English (UK)
- en\_GD—English (Grenada)
- en\_GI—English (Gibraltar)
- en\_GR—English (Greece)
- en\_GY—English (Guyana)
- en\_HK—English (Hong Kong)
- en\_HR—English (Croatia)
- en\_HU—English (Hungary)
- en\_IE—English (Ireland)
- en\_IL—English (Israel)
- en\_IN—English (Indian)
- en\_IS—English (Iceland)
- en\_IT—English (Italy)
- en\_JM—English (Jamaica)
- en\_JP—English (Japan)
- en\_KN—English (St. Kitts and Nevis)
- en\_KR—English (South Korea)
- en\_LC—English (St. Lucia)
- en\_LI—English (Liechtenstein)
- en\_LT—English (Lithuania)
- en\_LU—English (Luxembourg)
- en\_LV—English (Latvia)
- en\_MC—English (Monaco)
- en\_ME—English (Montenegro)
- en\_MK—English (North Macedonia)
- en\_MT—English (Malta)
- en\_MU—English (Mauritius)
- en\_MY—English (Malaysian)
- en\_NL—English (Netherlands)
- en\_NO—English (Norway)
- en\_NZ—English (New Zealand)
- en\_PH—English (Phillipines)
- en\_PL—English (Poland)
- en\_PT—English (Portugal)
- en\_RO—English (Romania)
- en\_RS—English (Serbia)
- en\_SE—English (Sweden)
- en\_SG—English (Singapore)
- en\_SI—English (Slovenia)
- en\_SK—English (Slovakia)
- en\_TH—English (Thailand)
- en\_TR—English (Turkey)
- en\_TT—English (Trinidad and Tobago)
- en\_TW—English (Taiwan)
- en\_US—English
- en\_VC—English (St. Vincent and the Grenadines)
- en\_ZA—English (South Africa)
- eo—Esperanto (Pseudo)
- eo\_US—Esperanto UniqueId (Pseudo)
- es—Spanish
- es\_AD—Spanish (Andorra)
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_HT—French (Haiti)
- fr\_LU—French (Luxembourg)
- fr\_MA—French (Morocco)
- ga—Irish
- gu—Gujarati
- haw—Hawaiian
- hi—Hindi
- hmn—Hmong
- hr—Croatian
- ht—Haitian Creole
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- iw\_EO—Esperanto RTL (Pseudo)
- ja—Japanese
- ji—Yiddish
- ka—Georgian
- kk—Kazakh
- kl—Greenlandic
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- nl\_SR—Dutch (Suriname)
- no—Norwegian
- pa—Punjabi
- pl—Polish
- pt\_AO—Portuguese (Angola)
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- quc—Kiche
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- ru\_AM—Russian (Armenia)
- ru\_BY—Russian (Belarus)
- ru\_KG—Russian (Kyrgyzstan)
- ru\_KZ—Russian (Kazakhstan)
- ru\_LT—Russian (Lithuania)
- ru\_MD—Russian (Moldova)
- ru\_PL—Russian (Poland)
- ru\_UA—Russian (Ukraine)
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sm—Samoan
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sv\_FI—Swedish (Finland)
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_MY—Chinese (Malaysia)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label for this marketing hierarchy group definition value. This display value is the internal label that doesn't get translated.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| UsageType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the use case for this hierarchy group definition.
Possible values are:
- MktOps
|
# MarketingHierarchyGroupNodeDef
Represents the membership of a node within a marketing hierarchy group, defining which hierarchy levels belong to a given group category. This object is available in API version 68.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Marketing Planning and Operations must be available to access this object. See [Availability of Marketing Planning and Operations](https://help.salesforce.com/s/articleView?id=mktg.mktg_pln_oper_setup_editions.htm&language=en_US).
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
The description of the hierarchy group node.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. The name must be 40 characters or fewer, must begin with a letter, can contain only underscores and alphanumeric characters, can't include spaces, can't end with an underscore, and can't contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object's name in a managed package and the changes are reflected in a subscriber's organization.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The combined language and locale ISO code, which controls the language for the marketing hierarchy group node definition.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cac—Chuj
- cak—Kaqchikel
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LI—German (Liechtenstein)
- de\_LU—German (Luxembourg)
- el—Greek
- el\_CY—Greek (Cyprus)
- en\_AD—English (Andorra)
- en\_AE—English (United Arab Emirates)
- en\_AG—English (Antigua and Barbuda)
- en\_AL—English (Albania)
- en\_AT—English (Austria)
- en\_AU—English (Australian)
- en\_BA—English (Bosnia and Herzegovina)
- en\_BB—English (Barbados)
- en\_BE—English (Belgium)
- en\_BG—English (Bulgaria)
- en\_BS—English (Bahamas)
- en\_BZ—English (Belize)
- en\_CA—English (Canadian)
- en\_CH—English (Switzerland)
- en\_CY—English (Cyprus)
- en\_CZ—English (Czechia)
- en\_DE—English (Germany)
- en\_DK—English (Denmark)
- en\_DM—English (Dominica)
- en\_EE—English (Estonia)
- en\_ES—English (Spain)
- en\_FI—English (Finland)
- en\_FR—English (France)
- en\_GB—English (UK)
- en\_GD—English (Grenada)
- en\_GI—English (Gibraltar)
- en\_GR—English (Greece)
- en\_GY—English (Guyana)
- en\_HK—English (Hong Kong)
- en\_HR—English (Croatia)
- en\_HU—English (Hungary)
- en\_IE—English (Ireland)
- en\_IL—English (Israel)
- en\_IN—English (Indian)
- en\_IS—English (Iceland)
- en\_IT—English (Italy)
- en\_JM—English (Jamaica)
- en\_JP—English (Japan)
- en\_KN—English (St. Kitts and Nevis)
- en\_KR—English (South Korea)
- en\_LC—English (St. Lucia)
- en\_LI—English (Liechtenstein)
- en\_LT—English (Lithuania)
- en\_LU—English (Luxembourg)
- en\_LV—English (Latvia)
- en\_MC—English (Monaco)
- en\_ME—English (Montenegro)
- en\_MK—English (North Macedonia)
- en\_MT—English (Malta)
- en\_MU—English (Mauritius)
- en\_MY—English (Malaysian)
- en\_NL—English (Netherlands)
- en\_NO—English (Norway)
- en\_NZ—English (New Zealand)
- en\_PH—English (Phillipines)
- en\_PL—English (Poland)
- en\_PT—English (Portugal)
- en\_RO—English (Romania)
- en\_RS—English (Serbia)
- en\_SE—English (Sweden)
- en\_SG—English (Singapore)
- en\_SI—English (Slovenia)
- en\_SK—English (Slovakia)
- en\_TH—English (Thailand)
- en\_TR—English (Turkey)
- en\_TT—English (Trinidad and Tobago)
- en\_TW—English (Taiwan)
- en\_US—English
- en\_VC—English (St. Vincent and the Grenadines)
- en\_ZA—English (South Africa)
- eo—Esperanto (Pseudo)
- eo\_US—Esperanto UniqueId (Pseudo)
- es—Spanish
- es\_AD—Spanish (Andorra)
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_HT—French (Haiti)
- fr\_LU—French (Luxembourg)
- fr\_MA—French (Morocco)
- ga—Irish
- gu—Gujarati
- haw—Hawaiian
- hi—Hindi
- hmn—Hmong
- hr—Croatian
- ht—Haitian Creole
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- iw\_EO—Esperanto RTL (Pseudo)
- ja—Japanese
- ji—Yiddish
- ka—Georgian
- kk—Kazakh
- kl—Greenlandic
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- nl\_SR—Dutch (Suriname)
- no—Norwegian
- pa—Punjabi
- pl—Polish
- pt\_AO—Portuguese (Angola)
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- quc—Kiche
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- ru\_AM—Russian (Armenia)
- ru\_BY—Russian (Belarus)
- ru\_KG—Russian (Kyrgyzstan)
- ru\_KZ—Russian (Kazakhstan)
- ru\_LT—Russian (Lithuania)
- ru\_MD—Russian (Moldova)
- ru\_PL—Russian (Poland)
- ru\_UA—Russian (Ukraine)
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sm—Samoan
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sv\_FI—Swedish (Finland)
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_MY—Chinese (Malaysia)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| MarketingHierGroupDefId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the hierarchy group that this record belongs to.
This field is a relationship field.
Relationship Name
MarketingHierGroupDef
Refers To
MarketingHierarchyGroupDef
|
| MarketingHierNodeDefId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the hierarchy level that this record belongs to.
This field is a relationship field.
Relationship Name
MarketingHierNodeDef
Refers To
MarketingHierarchyNodeDef
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label for this marketing hierarchy group node definition value. This display value is the internal label that doesn't get translated.
|
# MarketingHierarchyNodeDef
Represents a node in a marketing hierarchy whose depth in the hierarchy is determined by its sequence number. This object is available in API version 68.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Marketing Planning and Operations must be available to access this object. See [Availability of Marketing Planning and Operations](https://help.salesforce.com/s/articleView?id=mktg.mktg_pln_oper_setup_editions.htm&language=en_US).
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
The description of the hierarchy level definition.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. The name must be 40 characters or fewer, must begin with a letter, can contain only underscores and alphanumeric characters, can't include spaces, can't end with an underscore, and can't contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object's name in a managed package and the changes are reflected in a subscriber's organization.
|
| IsActive |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the hierarchy level is active.
The default value is false.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The combined language and locale ISO code, which controls the language for the marketing hierarchy node definition.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cac—Chuj
- cak—Kaqchikel
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LI—German (Liechtenstein)
- de\_LU—German (Luxembourg)
- el—Greek
- el\_CY—Greek (Cyprus)
- en\_AD—English (Andorra)
- en\_AE—English (United Arab Emirates)
- en\_AG—English (Antigua and Barbuda)
- en\_AL—English (Albania)
- en\_AT—English (Austria)
- en\_AU—English (Australian)
- en\_BA—English (Bosnia and Herzegovina)
- en\_BB—English (Barbados)
- en\_BE—English (Belgium)
- en\_BG—English (Bulgaria)
- en\_BS—English (Bahamas)
- en\_BZ—English (Belize)
- en\_CA—English (Canadian)
- en\_CH—English (Switzerland)
- en\_CY—English (Cyprus)
- en\_CZ—English (Czechia)
- en\_DE—English (Germany)
- en\_DK—English (Denmark)
- en\_DM—English (Dominica)
- en\_EE—English (Estonia)
- en\_ES—English (Spain)
- en\_FI—English (Finland)
- en\_FR—English (France)
- en\_GB—English (UK)
- en\_GD—English (Grenada)
- en\_GI—English (Gibraltar)
- en\_GR—English (Greece)
- en\_GY—English (Guyana)
- en\_HK—English (Hong Kong)
- en\_HR—English (Croatia)
- en\_HU—English (Hungary)
- en\_IE—English (Ireland)
- en\_IL—English (Israel)
- en\_IN—English (Indian)
- en\_IS—English (Iceland)
- en\_IT—English (Italy)
- en\_JM—English (Jamaica)
- en\_JP—English (Japan)
- en\_KN—English (St. Kitts and Nevis)
- en\_KR—English (South Korea)
- en\_LC—English (St. Lucia)
- en\_LI—English (Liechtenstein)
- en\_LT—English (Lithuania)
- en\_LU—English (Luxembourg)
- en\_LV—English (Latvia)
- en\_MC—English (Monaco)
- en\_ME—English (Montenegro)
- en\_MK—English (North Macedonia)
- en\_MT—English (Malta)
- en\_MU—English (Mauritius)
- en\_MY—English (Malaysian)
- en\_NL—English (Netherlands)
- en\_NO—English (Norway)
- en\_NZ—English (New Zealand)
- en\_PH—English (Phillipines)
- en\_PL—English (Poland)
- en\_PT—English (Portugal)
- en\_RO—English (Romania)
- en\_RS—English (Serbia)
- en\_SE—English (Sweden)
- en\_SG—English (Singapore)
- en\_SI—English (Slovenia)
- en\_SK—English (Slovakia)
- en\_TH—English (Thailand)
- en\_TR—English (Turkey)
- en\_TT—English (Trinidad and Tobago)
- en\_TW—English (Taiwan)
- en\_US—English
- en\_VC—English (St. Vincent and the Grenadines)
- en\_ZA—English (South Africa)
- eo—Esperanto (Pseudo)
- eo\_US—Esperanto UniqueId (Pseudo)
- es—Spanish
- es\_AD—Spanish (Andorra)
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_HT—French (Haiti)
- fr\_LU—French (Luxembourg)
- fr\_MA—French (Morocco)
- ga—Irish
- gu—Gujarati
- haw—Hawaiian
- hi—Hindi
- hmn—Hmong
- hr—Croatian
- ht—Haitian Creole
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- iw\_EO—Esperanto RTL (Pseudo)
- ja—Japanese
- ji—Yiddish
- ka—Georgian
- kk—Kazakh
- kl—Greenlandic
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- nl\_SR—Dutch (Suriname)
- no—Norwegian
- pa—Punjabi
- pl—Polish
- pt\_AO—Portuguese (Angola)
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- quc—Kiche
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- ru\_AM—Russian (Armenia)
- ru\_BY—Russian (Belarus)
- ru\_KG—Russian (Kyrgyzstan)
- ru\_KZ—Russian (Kazakhstan)
- ru\_LT—Russian (Lithuania)
- ru\_MD—Russian (Moldova)
- ru\_PL—Russian (Poland)
- ru\_UA—Russian (Ukraine)
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sm—Samoan
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sv\_FI—Swedish (Finland)
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_MY—Chinese (Malaysia)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label for this marketing hierarchy node definition value. This display value is the internal label that doesn't get translated.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| Sequence |
Type
double
Properties
Create, Filter, Sort, Update
Description
The sequence number that defines the depth of this level in the hierarchy. Must be greater than 0.
|
# MatchingRule
Setup object specifying a MatchingRule to use with DuplicateJob instances that share a DuplicateJobDefinition. Available in Tooling API version 42.0 and later.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
GET and POST
## Fields
| Field | Details |
| --- | --- |
| BooleanFilter |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Boolean logic between conditions for the MatchingRule.
|
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
The description of the MatchingRule.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer name for the MatchingRule.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Language |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The language in the user’s personal settings.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The label of the MatchingRule.
|
| MatchEngine |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
This field can contain one value: the match engine used by the matching rule. Valid values are ExactMatchEngine and FuzzyMatchEngine. Default value is ExactMatchEngine.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix associated with this object.
|
| RuleStatus |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The status of the MatchingRule. Valid values are Active or Inactive.
|
| SobjectSubtype |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The object subtype. Valid values are Person Account or None.
|
| SobjectType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The object type:Account, Contact, or Lead.
|
# MenuItem
Represents a menu item.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
query(), update()
## Supported REST HTTP Methods
GET, POST
## Fields
| Field | Details |
| --- | --- |
| Active |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the item in the menu is active (true) or not (false).
|
| AppId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the app that this menu item is associated with. Can be an enum (such as Feed or People) or an alphanumeric ID.
Use AppId as the unique ID for the menu item, not Id.
|
| Color |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The color of the menu item that appears in the user interface. This field is described in Web color RGB format, such as 00FF00.
|
| IconURL |
Type
url
Properties
Filter, Group, Nillable, Sort
Description
The URL of an icon in the menu item.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The menu item label that appears in the user interface.
|
| MenuType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of menu that this menu item belongs to. Valid values are:
- AppSwitcher: the app menu, a drop-down menu that’s displayed at the top of every app page
- Salesforce1: the Salesforce mobile app navigation menu
- NetworkTabs: the Digital Experiences tab set
This field is required for query().
|
| SortOrder |
Type
int
Properties
Filter, Group, Nillable, Sort, Update
Description
The SortOrder value determines the order in which a menu item is displayed in the user interface. This field must be an ordinal number greater than 0, and must be unique in the list. Inactive menu items have a value of -1.
|
| Theme |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The associated theme, which must be one of the following values.
- theme2: the Salesforce theme that was used prior to Spring ’10
- theme3: the Salesforce theme that was introduced in Spring ’10
- theme4: the theme that was introduced in Winter ’14 for the mobile touchscreen version of Salesforce
- custom: the theme that’s associated with a custom icon
This field is required for query() for Color and IconURL.
|
## Usage
MenuItem can be queried and manipulated to change how menu items appear in Salesforce. The following example modifies the Salesforce mobile app navigation menu.
String query = "SELECT AppId, Label, Active, SortOrder FROM MenuItem "
+
"WHERE MenuType = 'Salesforce'";
SObject\[\] records = sforce.query(query).getRecords();
//Activate all menu items
for (int i = 0; i < records.length; i++) {
MenuItem item = (MenuItem)records\[i\];
item.setOrder(i + 1);
item.setActive(true);
}
sforce.update(records);
# MetadataComponentDependency (Beta)
Represents dependency relationships between the metadata components in your org. You can query MetadataComponentDependency using Tooling API in API version 43.0 and later or using Bulk API 2.0 in API 49.0 and later.

#### Note
As a Beta feature, MetadataComponentDependency (Dependency API) is a preview and isn’t part of the “Services” under your Main Services Agreement with Salesforce. Use this feature at your sole discretion, and make your purchase decisions based on the generally available products and features. Salesforce doesn’t guarantee general availability of this feature within any particular time frame or at all, and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. It’s offered as is and isn’t supported. Salesforce has no liability for any harm or damage arising out of the use of this feature. All restrictions, Salesforce reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply equally to your use of this feature. You can provide feedback and suggestions in the [Dependency API/Field Usage (Beta)](https://success.salesforce.com/_ui/core/chatter/groups/GroupProfilePage?g=0F93A00000020Vu "HTML (New Window)") Trailblazer Community group page.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
Tooling API—GET
Bulk API 2.0—POST, GET, PATCH, DELETE
## Limitations
Tooling API
- No more than 2000 records in a single query.
- Reports are not included in MetadataComponentDependency queries. Use Bulk API 2.0 for dependency relationships that include reports.
Bulk API 2.0
- No more than 100,000 records in a single query.
The following SOQL queries are not supported in both Tooling API and Bulk API 2.0
- SOQL ORDER BY clause
- SOQL SELECT clause: count() function
- SOQL queryMore()
- SOQL WHERE clause: any type of filter with MetadataComponentName
- SOQL WHERE clause: any type of filter with RefMetadataComponentName
- SOQL WHERE clause: contains operators _other_ than \=, !=, AND, or OR
- SOQL WHERE clause: filter by (RefMetadataComponentType = ‘StandardEntity’)
- SOQL WHERE clause: use of the LIKE operator with either the MetadataComponentType field or the RefMetadataComponentType field
- SOQL OFFSET clause
[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 |
| --- | --- |
| MetadataComponentId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of a metadata component that depends on another component.
The component with the ID listed in the output as MetadataComponentId has a reference to the component with its ID listed as RefMetadataComponentId.
MetadataComponentId is a string field that usually contains either an 18-character ID or a standard object name. Use 18-character IDs, not 15-character IDs, in your queries of this field.
|
| MetadataComponentName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of a metadata component that depends on another component. For example, YourClass for an Apex class or yourField (without the \_\_c suffix) for a custom field.
The component with the name listed in the output as MetadataComponentName has a reference to the component with its name listed as RefMetadataComponentName.
|
| MetadataComponentNamespace |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of a metadata component that depends on another component.
The component with the namespace listed in the output as MetadataComponentNamespace has a reference to the component with its namespace listed as RefMetadataComponentNamespace.
|
| MetadataComponentType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The type of a metadata component that depends on another component.
The component with the type listed in the output as MetadataComponentType has a reference to the component with its type listed as RefMetadataComponentType.
|
| RefMetadataComponentId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of a metadata component that another component depends on.
The component with the ID listed in the output as RefMetadataComponentId is referenced by the component with its ID listed as MetadataComponentId.
RefMetadataComponentId is a string field that usually contains either an 18-character ID or a standard object name. Use 18-character IDs, not 15-character IDs, in your queries of this field.
|
| RefMetadataComponentName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of a metadata component that another component depends on. For example, YourClass for an Apex class or yourField (without the \_\_c suffix) for a custom field.
The component with the name listed in the output as RefMetadataComponentName is referenced by the component with its name listed as MetadataComponentName.
|
| RefMetadataComponentNamespace |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of a metadata component that another component depends on.
The component with the namespace listed in the output as RefMetadataComponentNamespace is referenced by the component with its namespace listed as MetadataComponentNamespace.
|
| RefMetadataComponentType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The type of a metadata component that another component depends on.
The component with the type listed in the output as RefMetadataComponentType is referenced by the component with its type listed as MetadataComponentType.
|
- **[Tooling API Usage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacomponentdependency_tooling_usage.htm)**
Use SOQL queries to list the relationships between the metadata components in your org. The query results include one row for each relationship. Each relationship is a directional dependency between two metadata components.
- **[Bulk API 2.0 Usage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacomponentdependency_bulk2_usage.htm)**
Using Bulk API 2.0, you can query the MetadataComponentDependency Tooling API object and retrieve up to 100,000 records in a single query. Use SOQL queries to list the relationships between the metadata components in your org.
# MetadataContainer
Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
As of the Spring '20 release, to access MetadataContainer you must have the View All Data user permission and either the Author Apex user permission or the Customize Application user permission.
## Fields
| Field Name | Details |
| --- | --- |
| Name |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the MetadataContainer. If a container with the same name already exists, an error is reported on create() or POST.
This field is required.
|
## Usage
Use a MetadataContainer as a package for your tool’s workspace. As a user works in the tool, update the [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm "Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer."), [ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm "Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer."), [ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm "Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer."), and [ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm "Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.") objects in the MetadataContainer and use a [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm "Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.") object to save and deploy changes to the current organization.
A MetadataContainer can be reused, but container members can’t.
- When a ContainerAsyncRequest completes successfully, the MetadataContainerId field on all container members is changed from the ID of the MetadataContainer to the ID of the ContainerAsyncRequest. At this point, container members can no longer be modified or deployed, and can’t be queried via the MetadataContainer; you have to query the ContainerAsyncRequest to see what was deployed.
- If the deployment fails, container members remain on the MetadataContainer and can still be modified until they are successfully deployed on another ContainerAsyncRequest. The MetadataContainerId field on the completed (failed deployment) ContainerAsyncRequest is set to the ID of the MetadataContainer, so you can have multiple completed ContainerAsyncRequests on a single MetadataContainer.

#### Note
Deleting a MetadataContainer deletes all objects that reference it.
#### See Also
- [Metadata API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/ "Metadata API Developer Guide - HTML (New Window)")
# MetadataPackage
Represents a package that has been developed in the org you’re logged in to. Applies to unlocked, unmanaged, first-generation, and second-generation managed packages. Available in Tooling API version 38.0 and later.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The name of the package.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
For first-generation and second-generation managed packages, and unlocked packages with namespaces, this field is the namespace prefix assigned to the package. For unmanaged packages, or no-namespace unlocked packages, this field is blank.
|
| PackageCategory |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of package. Valid values are:
- Application (internal use only)
- Module (internal use only)
- Package—Represents either an unmanaged package or a first-generation managed package.
- Package2—Represents either an unlocked package or a second-generation managed package.
The default value is Package.
This field is available in API version 49.0 and later.
|
# MetadataPackageVersion
Represents a package version (managed or unmanaged) that has been uploaded from the org you’re logged in to. Available in Tooling API version 38.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| BuildNumber |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The build number of the version. For example, if you upload two beta versions, they have build numbers 1 and 2. Then, when you upload a released build of the same version, the build number is 3. When you upload a new version, the build number resets to 1.
|
| IsDeprecated |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the package version is deprecated. Available in API version 46.0 and later.
|
| MajorVersion |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The first number in a package version number. A version number either has an x.y format or an x.y.z format. The x represents the major version, y the minor version, and z the patch version.
|
| MetadataPackageId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The 18-character package ID, which starts with 033.
|
| MinorVersion |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The second number in a package version number. A version number either has an x.y format or an x.y.z format. The x represents the major version, y the minor version, and z the patch version.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The name of the package version.
|
| PatchVersion |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The third number in a package version number, if present. A version number either has an x.y format or an x.y.z format. The x represents the major version, y the minor version, and z the patch version.
|
| ReleaseState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
If the package version is a beta version, the value is Beta. Otherwise, the value is Released.
|
## Usage
Here are examples of the types of API queries you can perform.
| Query | String |
| --- | --- |
| Get all package versions for the package that has a MetadataPackageID of 033D00000001xQlIAI | SELECT Id, Name, ReleaseState, MajorVersion, MinorVersion, PatchVersion FROM MetadataPackageVersion WHERE MetadataPackageId = '033D00000001xQlIAI' |
| Get the package version for the package with a specific MetadataPackageID and a major version greater than 1 | SELECT Id FROM MetadataPackageVersion WHERE MetadataPackageId ='033D00000001xQlIAI' AND MajorVersion > 1 |
| Get released package versions for the package with a specific MetadataPackageID | SELECT Id FROM MetadataPackageVersion WHERE MetadataPackageId = '033D00000001xQlIAI' AND ReleaseState = 'Released' |
**Java Code Sample**
Suppose you want to push version 3.4.6 of your package to all orgs. Let’s write some code to identify the orgs eligible for the upgrade. This example demonstrates how to generate the list of subscriber orgs eligible to be upgraded to version 3.4.6 of a package.
This code sample uses the web Services Connector (WSC).
// Finds all Active subscriber orgs that have the package installed
String PACKAGE\_SUBSCRIBER\_ORG\_KEY\_QUERY = "Select OrgKey from PackageSubscribers where OrgStatus = 'Active' and InstalledStatus = 'I'";
// Finds all MetadataPackageVersions lower than the version given, including the list
// of subscribers for each version
String METADATA\_PACKAGE\_VERSION\_QUERY = "Select Id, Name, ReleaseState, (%s) from"
+ " MetadataPackageVersion where MetadataPackageId = '%s' AND ReleaseState = 'Released'"
+ " AND (MajorVersion < 3 OR (MajorVersion = 3 and MinorVersion < 4)"
+ " OR (MajorVersion = 3 and MinorVersion = 4 and PatchVersion < 6))";
// conn is an EnterpriseConnection instance initialized with a ConnectionConfig object
// representing a connection to the developer org of the package
QueryResult results = conn.query(String.format(METADATA\_PACKAGE\_VERSION\_QUERY, PACKAGE\_SUBSCRIBER\_ORG\_KEY\_QUERY));
// This list will hold all of the PackageSubscriber objects that are eligible for upgrade
// to the given version
List subscribers = new ArrayList<>();
for (SObject mpvso : results.getRecords()) {
// Cast the sObject to a MetadataPackageVersion
MetadataPackageVersion mpv = (MetadataPackageVersion) mpvso;
// Add subscribers to our list
if (mpv.getPackageSubscribers() != null) {
for (SObject psso : mpv.getPackageSubscribers().getRecords()) {
subscribers.add((PackageSubscriber) psso);
}
}
}
**Next Step**
Create a push request using PackagePushRequest.
# MetadataWarningsHeader
Allows you to save metadata even if warnings are returned.
## Version
This header is available in API version 35.0 and later.
## Supported Calls
delete(), update(), upsert()
## ignoreSaveWarnings
- **Type**: boolean
- **Description**: If true, you can save metadata such as a flow even if there are warnings, but not if there are errors.
See also [Allow Metadata Save Operations to Complete with Returned Warnings](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_metadata_save_warning.htm "When a metadata save operation generates warnings, the default behavior of Tooling API is to fail the operation without returning the warnings. For objects in both the Tooling API and Metadata API WSDLs, you can indicate that you want error-free save operations to complete successfully, returning any warnings.")
# MktHierGrpNodeRuleDef
Represents a rule for a node in a marketing hierarchy group. Based on the rule type, the rule defines the allowed parent node or the user, group, or profile that can create marketing programs. This object is available in API version 68.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Marketing Planning and Operations must be available to access this object. See [Availability of Marketing Planning and Operations](https://help.salesforce.com/s/articleView?id=mktg.mktg_pln_oper_setup_editions.htm&language=en_US).
## Fields
| Field | Details |
| --- | --- |
| AppliesToId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the user, group, or profile that the rule grants access to create marketing programs and their related records for the related marketing hierarchy group node. This field applies when RuleType is CreatePrograms.
This field is a polymorphic relationship field.
Relationship Name
AppliesTo
Refers To
Group, Profile, User
|
| AppliesToType |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies whether the create-programs rule applies to a user, group, or profile. This field applies when RuleType is CreatePrograms.
Possible values are:
- Group
- Profile
- User
|
| EligibleParentHierGrpNdId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the group node that is allowed as the parent. This field applies when RuleType is AllowedParent.
This field is a relationship field.
Relationship Name
EligibleParentHierGrpNd
Refers To
MarketingHierarchyGroupNodeDef
|
| IsActive |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this rule is active. Inactive rules are ignored by validation.
The default value is false.
|
| RelatedHierGroupNodeId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the marketing hierarchy group node that this rule applies to.
This field is a relationship field.
Relationship Name
RelatedHierGroupNode
Relationship Type
Master-detail
Refers To
MarketingHierarchyGroupNodeDef (the master object)
|
| RuleType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Specifies the type of rule.
Possible values are:
- AllowedParent—The rule declares which group node is allowed as the parent of the related node.
- CreatePrograms—The rule declares which user, group, or profile can create marketing programs and their related records for the related node.
|
| ValidationErrorMessage |
Type
textarea
Properties
Create, Nillable, Update
Description
The custom error message shown to the user when this rule is violated.
|
# MLDataDefinition
Represents a modeling data definition, which specifies the data used to create a model for a machine learning (ML) application. Examples of such data can include filters, fields to include, and fields to exclude. Available from API version 50.0 or later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow as a DeveloperName is generated for each record.
|
| EntityDeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The developer name of the object from which the model data is retrieved.

#### Note
After the MLDataDefinition entity is created, EntityDeveloperName can’t be updated.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated MLDataDefinition type in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the MLDataDefinition.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Label that identifies the MLDataDefinition throughout the Salesforce user interface.
|
| Metadata |
Type
[MLDataDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_mldatadefinition.htm)
Properties
Create, Nillable, Update
Description
The metadata of MLDataDefinition.
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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| ParentDefinitionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the MLrecommendationDefinition or MLPredictionDefinition that this MLDatadefinition belongs to.
This is a polymorphic relationship field.
Relationship Name
ParentDefinition
Relationship Type
Lookup
Refers To
MLPredictionDefinition, MLRecommendationDefinition
|
| ScoringFilterId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Specifies the record ID to which the prediction scores are written.
This is a relationship field.
Relationship Name
ScoringFilter
Relationship Type
Lookup
Refers To
MLFilter
|
| SegmentFilterId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Specifies the record IDs of the data used for training and scoring.
This is a relationship field.
Relationship Name
SegmentFilter
Relationship Type
Lookup
Refers To
MLFilter
|
| TrainingFilterId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Specifies the record IDs that make up the training set.
This is a relationship field.
Relationship Name
TrainingFilter
Relationship Type
Lookup
Refers To
MLFilter
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Nillable, Sort
Description
Specifies the data type. Valid values are:
- Candidate
- Interaction
- Prediction
- Recipient

#### Note
After the model is created, type can’t be updated..
|
# MLField
Represents a field in a modeling data definition. A modeling data definition specifies the data used to create a model for a machine learning (ML) application. Available from API version 50.0 or later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Entity |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Nillable, Sort, Update
Description
The object that contains the MLField. Valid values include all Salesforce objects except the Internal, Interface, Virtual, and InDevelopment custom objects.
|
| Field |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Nillable, Sort, Update
Description
The name of the MLField. Valid values include all Salesforce objects except the Internal, Interface, Virtual, and InDevelopment custom objects.
|
| ParentDefinitionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the MLrecommendationDefinition or MLPredictionDefinition that this MLField belongs to.
This is a polymorphic relationship field.
Relationship Name
ParentDefinition
Relationship Type
Lookup
Refers To
MLDataDefinition, MLRecommendationDefinition
|
| RelatedFieldId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Reserved for future use.
This is a relationship field.
Relationship Name
RelatedField
Relationship Type
Lookup
Refers To
MLField
|
| RelationType |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Reserved for future use.
|
| Type |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Nillable, Sort, Update
Description
Indicates how the field is used in a prediction. Valid values are:
- Excluded
- Expression
- Included
- Join
- NegativeExpression
- PositiveExpression
- Prediction
- Pushback
- Related
- ScoringExpression
- SegmentExpression
- SourceDate
- TrainingExpression
|
# MLFilter
Represents a data filter based on a data comparison in a machine learning (ML) application. For each comparison, there’s a left-hand element, an operator, and a right-hand element. Available in API version 50.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| FilterName |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Name of the filter.
|
| LhFilterId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the left-hand filter condition.
This is a relationship field.
Relationship Name
LhFilter
Relationship Type
Lookup
Refers To
MLFilter
|
| LhPredictionField |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Left-hand prediction field.
|
| LhType |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Indicates the value type if a left-hand value is specified. Valid values are:
- Boolean
- Comparison
- Currency
- Date
- DateTime—Datetime
- Number
- String
- Supplier
- Varchar
|
| LhUnit |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Indicates the unit if a left-hand filter is specified. Valid values are:
- Days
- Hours
- Milliseconds
- Minutes
- Months
- Seconds
- Weeks
- Years
|
| LhValue |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The left-hand value.
|
| Operation |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specifies how to filter the data. Valid values are:
- Add
- And
- Between
- Concat
- Contains
- Divide
- DoesNotContain
- EndsWith
- Equals
- GreaterThan
- GreaterThanOrEqual
- In
- IsNotNull
- IsNull
- LessThan
- LessThanOrEqual
- Multiply
- Not
- NotEquals
- Or
- StartsWith
- Subtract
|
| ParentDefinitionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the MLRecommendationDefinition, MLPredictionDefinition, or MLDataDefinition that this MLFilter belongs to.
This is a polymorphic relationship field.
Relationship Name
ParentDefinition
Relationship Type
Lookup
Refers To
MLDataDefinition, MLPredictionDefinition, MLRecommendationDefinition
|
| RhFilterId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the right-hand filter condition.
This is a relationship field.
Relationship Name
RhFilter
Relationship Type
Lookup
Refers To
MLFilter
|
| RhPredictionField |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Right-hand prediction field.
|
| RhType |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Indicates the value type if a right-hand value is specified. Valid values are:
- Boolean
- Comparison
- Currency
- Date
- DateTime—Datetime
- Number
- String
- Supplier
- Varchar
|
| RhUnit |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Indicates the unit if a right-hand filter is specified. Valid values are:
- Days
- Hours
- Milliseconds
- Minutes
- Months
- Seconds
- Weeks
- Years
|
| RhValue |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The right-hand value.
|
| SortOrder |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Specifies the order of operations for evaluating the expressions. For example, if you have two conditions, this field specifies which condition is evaluated first.
|
# MLPredictionDefinition
Represents the details about a prediction within a prediction definition used in a machine learning (ML) application. Available in API version 50.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| ApplicationId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the application associated with the prediction definition.
This is a relationship field.
Relationship Name
Application
Relationship Type
Lookup
Refers To
AIApplication
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Description of the prediction.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow as a DeveloperName is generated for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated MLPredictionDefinition type in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the MLPredictionDefinition.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Label that identifies the MLPredictionDefinition definition throughout the Salesforce user interface.
|
| Metadata |
Type
[AIApplication](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_aiapplication.htm)
Properties
Create, Nillable, Update
Description
The MLPredictionDefinition’s metadata.
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.
|
| MLDataDefinitions |
Type
[QueryResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_queryresult.htm#topic-title)
Properties
Nillable
Description
A list of prediction definition records associated with an ML application record.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| NegativeExpressionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Reserved for future use.
This is a relationship field.
Relationship Name
NegativeExpression
Relationship Type
Lookup
Refers To
MLFilter
|
| PositiveExpressionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Reserved for future use.
This is a relationship field.
Relationship Name
PositiveExpression
Relationship Type
Lookup
Refers To
MLFilter
|
| PredictionField |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Field that the prediction is based on.
|
| PredictionStrategy |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Strategy that the prediction is based on.
|
| Priority |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Reflects the priority of the MLPredictionDefinition (MLPD) object when an AIApplication has multiple child MLPDs.
|
| PushbackField |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Field that the prediction writes scores to.
|
| Status |
Type
picklist
Properties
Filter, Group, Restricted picklist, Nillable, Sort
Description
The status of the prediction. Valid values are:
- Disabled
- Draft
- Enabled
|
| Type |
Type
picklist
Properties
Filter, Group, Restricted picklist, Nillable, Sort
Description
The type of model that returns the prediction values. Valid values are:
- BinaryClassification—1
- DeepLearningIntentClassification—5
- DeepLearningNameEntityRecognition—6
- GlobalDeepLearningIntentClassification—7
- GlobalDeepLearningNameEntityRecognition—8
- LanguageDetection—4
- MulticlassClassification—2
- Regression—3
- ScoringSpecificOutcome—0
|
# ModerationRule
Represents a rule used in your Experience Cloud site to moderate member-generated content. Available in Tooling API version 36.0 and later.
Moderation rules help protect your site from spammers, bots, and offensive or inappropriate content. Create and modify rules for your Experience Cloud site to moderate member-generated content. Each rule specifies the member-generated content the rule applies to, the criteria to enforce the rule on, and the moderation action to take.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| Action |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist
Description
Required. Indicates the moderation action that you want to take. The valid values are:
- Block
- Review
- Replace
- Flag
- FreezeAndNotify (Reserved for future use.)
|
| ActionLimit |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Indicates the moderation action limit measured in minutes. Available in API version 39.0 and later.
|
| Active |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Required. Indicates whether the moderation rule is active (true) or inactive (false).
|
| Description |
Type
textarea
Properties
Filter, Nillable, Sort
Description
A description of the moderation rule.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Namefield, Sort
Description
The developer’s internal name for the moderation rule used in the API.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the moderation rule. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the moderation rule.
|
| Metadata |
Type
mns:ModerationRule
Properties
Create, Nillable, Update
Description
Moderation rule metadata. 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.
|
| NotifyLimit |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Indicates the notification limit (in seconds) of the moderation rule. Available in API version 39.0 and later.
|
| TimePeriod |
Type
RateLimitTimePeriod (enumeration of type string)
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The values that represent the time-frame for which a rate limiting rule is applied. The two values available represent a time periods measured in minutes: “Short” represents 3 minutes and “Medium” represents 15 minutes. Available in API version 39.0 and later. Valid values are:
- Short
- Medium
|
| Type |
Type
ModerationRuleType (enumeration of type string)
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Type of moderation rule. Content rules protect your site from offensive language and inappropriate content created by spammers or malicious members. Rate rules protect your site against spammers and bots that attack your site by posting the same message multiple times in a row. Available in API version 39.0 and later. Valid values are:
- Content
- Rate
|
| UserMessage |
Type
textarea
Properties
Filter, Nillable, Sort
Description
The message you want your members to see when their content is blocked. Use the %BLOCKED\_KEYWORD% variable to display up to five blocked words in the user message. If you don’t specify a message, the member sees the standard message: “You can’t use %BLOCKED\_KEYWORD% or other inappropriate words in this site. Review your content and try again.”
|
# NamedCredential
Represents a named credential, which specifies the URL of a callout endpoint and its required authentication parameters in one definition. A named credential can be specified as an endpoint to simplify the setup of authenticated callouts. This object is available in API version 51.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of equality. We maintained certain terms to avoid any effect on customer implementations.

#### Note
All credentials stored within this entity are encrypted under a framework that is consistent with other encryption frameworks on the platform. Salesforce encrypts your credentials by auto-creating org-specific keys. Credentials encrypted for using the previous encryption scheme have been migrated to the new framework.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| AllowMergeFieldsinBody |
Field Type
boolean
Description
Specifies whether Apex code can use merge fields to populate the HTTP request body with org data when a callout is made. Corresponds to **Allow Merge Fields in HTTP Body** in the user interface. Defaults to false.
|
| AllowMergeFieldsinHeader |
Field Type
boolean
Description
Specifies whether Apex code can use merge fields to populate the HTTP header with org data when a callout is made. Corresponds to **Allow Merge Fields in HTTP Header** in the user interface. Defaults to false.
|
| AuthProviderId |
Type
string
Properties
Nillable
Description
The authentication provider that the AuthProviderId component represents.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| AuthTokenEndpointUrl |
Type
textarea
Properties
Nillable
Description
The URL where JSON Web Tokens (JWTs) are exchanged for access tokens.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| AwsAccessKey |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
First part of the access key used to sign programmatic requests to Amazon Web Services (AWS). Use when AWS Signature Version 4 is your authentication protocol.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| AwsAccessSecret |
Type
textarea
Properties
Nillable
Description
The second part of the access key that's used to sign programmatic requests to AWS. Use when AWS Signature Version 4 is your authentication protocol.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| AwsRegion |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies which AWS Region the named credential accesses.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| AwsService |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies which AWS resource the named credential accesses.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| CalloutStatus |
Field Type
CalloutStatus (enumeration of type string)
Description
Specifies whether the named credential is enabled for callouts.
Valid values are:
- Disabled: The named credential is disabled for callouts.
- Enabled: The named credential is enabled for callouts.
This field is available in API version 59.0 and later.
|
| CertificateId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
If you specify a certificate, your Salesforce org supplies it when establishing each two-way SSL connection with the external system. The certificate is used for digital signatures, which verify that requests are coming from your Salesforce org.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
Relationship Name
Certificate
Relationship Type
Lookup
Refers To
Certificate
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer’s internal name for the named credential used in the API.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Endpoint |
Type
textarea
Properties
Nillable
Description
The URL or root URL of the callout endpoint. Corresponds to **URL** in the user interface.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated type in Tooling API. The full name can include a namespace prefix. 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.
|
| GenerateAuthorizationHeader |
Field Type
boolean
Description
Specifies whether Salesforce generates an authorization header and applies it to each callout that references the named credential. Corresponds to **Generate Authorization Header** in the user interface. Defaults to true.
This field is available in API version 41.0 and later.
|
| JwtAudience |
Type
textarea
Properties
Nillable
Description
External service or other allowed recipients for the JWT. Written as JSON, with a quoted string for a single audience and an array of quoted strings for multiple audiences. Single audience example: “aud1”. Multiple audiences example: \[“aud1”, “aud2”, “aud3”\].
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| JwtFormulaSubject |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Formula string calculating the Subject of the JWT. API names and constant strings, in single quotes, can be included. Allows a dynamic Subject unique per user requesting the token. For example, 'User='+$User.Id. Use this field when principalType is set to PerUser. Corresponds to Per User Subject.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| JwtIssuer |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specify who issued the JWT using a case-sensitive string.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| JwtSigningCertificateId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Certificate verifying the JWT’s authenticity to external sites.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
Relationship Name
JwtSigningCertificate
Relationship Type
Lookup
Refers To
Certificate
|
| JwtTextSubject |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Static text, without quotes, that specifies the JWT Subject. Use this field when principalType is set to NamedUser. Corresponds to Named Principal Subject in the user interface.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| JwtValidityPeriodSeconds |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Specify the number of seconds that the token is valid.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Label for the MasterLabel. In the UI, this field is **Label**.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
The main label for the named credential. This display value is the internal label that doesn’t get translated.
|
| Metadata |
Type
[NamedCredential](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_namedcredential.htm)
Properties
Create, Nillable, Update
Description
Provides access to the associated metadata type and related fields in Tooling API.
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.
|
| NamedCredentialParameters |
Type
[NamedCredentialParameter\[\]](#subtype_NamedCredentialParameter)
Properties
Nillable
Description
Reference to the (one or more) NamedCredentialParameter used to configure a named credential.
This field is available in API version 56.0 and later.
|
| NamedCredentialType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies the type or behavior of this named credential. Valid values are:
- Legacy: The named credential is a legacy type, which means that it doesn’t use the schema introduced in the Winter ‘23 release. Used for backward compatibility.
- PrivateEndpoint: The named credential sends traffic through a private connection, bypassing the public internet. If the credential type is PrivateEndpoint, you must specify the value of OutboundNetworkConnection.
- SecuredEndpoint: The named credential is extensible and uses external credentials to control authentication and permissions.
- Standard: Reserved for internal use.
This field is available in API version 56.0 and later.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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.
|
| OauthRefreshToken |
Type
textarea
Properties
Nillable
Description
The OAuth refresh token. Used to obtain a new access token for an end user when a token expires.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| OauthScope |
Type
string
Properties
Filter, Nillable, Sort
Description
Specifies the scope of permissions to request for the access token. Corresponds to **Scope** in the user interface.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| OauthToken |
Type
textarea
Properties
Nillable
Description
The access token that’s issued by your authorization server.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| OutboundNetworkConnectionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Specifies the outbound network connection that uses the named credential to send callouts to AWS.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
Relationship Name
OutboundNetworkConnection
Relationship Type
Lookup
Refers To
OutboundNetworkConnection
|
| Password |
Type
textarea
Properties
Nillable
Description
The password to be used by your org to access the external system. Ensure that the credentials have adequate privileges to access the external system. Depending on how you set up access, you might need to provide the administrator password.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| PrincipalType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Determines whether you're using one set or multiple sets of credentials to access the external system. Corresponds to **Identity Type** in the user interface. Valid values are:
- Anonymous
- NamedUser
- PerUser
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| Protocol |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The authentication protocol that’s required to access the external system. Valid values are:
- AwsSv4
- Jwt
- JwtExchange
- NoAuthentication
- Oauth
- Password
For connections to Amazon Web Services using Signature Version 4, use AwsSv4.
For connections using a direct token system, select Jwt. If using an intermediary authorization provider to process JWTs and return access tokens, use JwtExchange.
For Simple URL data sources, select NoAuthentication.
For cloud-based Files Connect external systems, select Oauth. For on-premises systems, select Password.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
| Username |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The username to be used by your org to access the external system. Ensure that the credentials have adequate privileges for performing callouts to the external system. Depending on how you set up access, you might need to provide the administrator username.
This field is valid only when NamedCredentialType is set to Legacy.
**This field is deprecated in API version 56.0.**
|
## NamedCredentialParameter
Represents the parameters that configure a named credential. Named credential parameters are used to configure Named Credential callouts through a combination of the type, name, and value/lookup fields.
These parameters are used internally to provide a flexible architecture and are exposed here for packaging reasons.
| Field | Description |
| --- | --- |
| Certificate |
Type
string
Properties
Nillable
Description
If the value of the ParameterType field is ClientCertificate then this field references the certificate.
Relationship Name
Certificate
Relationship Type
Lookup
Refers To
Certificate
|
| Description |
Type
string
Properties
Nillable
Description
A human-readable description of this named credential parameter.
|
| ExternalCredential |
Type
string
Properties
Nillable
Description
If the value of the ParameterType field is Authentication, then this field references an external credential that in turn references a set of authenticated user credentials.
|
| OutboundNetworkConnection |
Type
string
Properties
Nillable
Description
The lookup field for the OutboundNetworkConnection parameter type. Used when namedCredentialType is PrivateEndpoint.
|
| ParameterSettingsGlobalNamedPrincipalCredential |
Field Type
boolean
Description
Reserved for internal use.
|
| ParameterSettingsManagedFeatureEnabledCallout |
Field Type
boolean
Description
Reserved for internal use.
|
| ParameterSettingsReadOnlyNamedCredential |
Field Type
boolean
Description
Reserved for internal use.
|
| ParameterSettingsSystemUserNamedCredential |
Field Type
boolean
Description
Reserved for internal use.
|
| ParameterName |
Type
string
Properties
Nillable
Description
Required.
The name of the named credential parameter.
|
| ParameterType |
Type
NamedCredentialParamType (enumeration of type string)
Properties
Nillable
Description
Required.
The type of the named credential parameter.
Valid values are:
- AllowedManagedPackageNamespaces: Allows managed packages identified by specified namespaces to use the named credential and make callouts through it.
- Authentication: Specifies that this parameter configures authentication using the credentials specified in the external credential, referenced by the ExternalCredential field.
- ClientCertificate: Specifies that this parameter configures a client certificate, referenced by the Certificate field.
- ConnectionStatus: Reserved for internal use.
- CreatedByNamespace: Reserved for internal use.
- CustomParameter: Reserved for internal use.
- HttpHeader: Allows the user to specify custom headers to be added to the callout at run time. When using HttpHeader, the ParameterName field must be the header name as a string, and ParameterValue must be a formula of a header value that is evaluated at run time.
- ManagedByComponent: Reserved for internal use.
- ManagedByFeature: Reserved for internal use.
- ManagedByNamespace: Specifies the manageability capabilities for a packaged named credential. The ParameterValue field indicates whether the named credential uses subscriber-controlled or developer-controlled manageability.
- NamedCredentialOptions: Reserved for internal use.
- OutboundNetworkConnection: Specifies a lookup to an outbound network connection. When using this parameter type, the OutboundNetworkConnection field is a string representing the lookup. Used when namedCredentialType is PrivateEndpoint.
- SfHttpRequestExtensionName: Reserved for internal use.
- StandardNamedCredentialType: Reserved for internal use.
- Url: Specifies that this parameter configures the URL of the endpoint. Store the actual URL in the ParameterValue field.
|
| ParameterValue |
Type
string
Properties
Nillable
Description
If the ParameterType field describes a literal value, such as Url, then the literal value is stored in this field, such as https://iam.amazonaws.com/.
|
| SequenceNumber |
Type
int
Properties
Nillable
Description
Used to order HttpHeader parameters.
|
#### See Also
- [_Salesforce Help_: Named Credentials](https://help.salesforce.com/HTViewHelpDoc?id=named_credentials_about.htm&language=en_US "Salesforce Help: Named Credentials - HTML (New Window)")
- [_Named Credentials Developer Guide_: Get Started with Named Credentials](https://developer.salesforce.com/docs/platform/named-credentials/guide/get-started.html "Named Credentials Developer Guide: Get Started with Named
Credentials - HTML (New Window)")
- [_Named Credentials Developer Guide_: Named Credential API Links](https://developer.salesforce.com/docs/platform/named-credentials/references/named-credentials-reference/nc-api-links.html "Named Credentials Developer Guide: Named Credential API
Links - HTML (New Window)")
- [_Apex Developer Guide_: Invoking Callouts Using Apex](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_callouts.htm " Apex Developer Guide: Invoking Callouts Using
Apex - html (New Window)")
- [_Apex Developer Guide_: Named Credentials as Callout Endpoints](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_callouts_named_credentials.htm " Apex Developer Guide: Named Credentials as Callout
Endpoints - HTML (New Window)")
# ObjectHierarchyRelationship
Represents the mapping between an input source object and an output target object. For example, mapping details to transform a sales quote into a sales agreement. This object is available in API version 56.0 and later.

#### 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.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object hierarchy relationship record.
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated object hierarchy relationship record in Metadata API.
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.
|
| InputObjRecordsGrpFieldName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The field name of the input object that groups records.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the ObjectHierarchyRelationship.
|
| MappingType |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies the type of relationship between the source and target object.
Possible values are:
- ChildToChild—Child to Child
- ParentToChild—Parent to Child
- ParentToParent—Parent to Parent
- Support
The default value is ParentToParent.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the ObjectHierarchyRelationship record.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The ObjectHierarchyRelationship’s metadata.
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.
|
| OutputPntRelationshipFieldName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies the relationship between a child and parent for an output object.
|
| ParentRecordId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the parent object mapping record.
This field is a relationship field.
Relationship Name
ParentRecord
Relationship Type
Lookup
Refers To
ObjectHierarchyRelationship
|
| ParentRelationshipFieldName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the field that defines the relationship between a parent and child.
|
| SourceReferenceRelaFieldName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The field name that defines the relationship between the input and output object.
|
| UsageType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Specifies the usage type.
Possible values are:
- CLMFieldMapping
- ConvertToSalesAgreement
- EligibleProgramRebateType
- MapJournalToMemberAggregate
- TransformationMapping
|
# OmniSupervisorConfig
Represents the Omni-Channel supervisor configuration for an assigned group of supervisors. This object is available in API version 57.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access this object, [Omni-Channel](https://help.salesforce.com/articleView?id=omnichannel_intro.htm&language=en_US) must be enabled. Access to tooling objects requires Salesforce admin privileges or the Customize Application permission.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata type in Metadata API. The full name can include a namespace prefix.
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.
|
| IsTimelineHidden |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If set to true, hides the agent timeline from the supervisors assigned to this supervisor configuration. The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Possible values are the languages that Omni-Channel supports.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The label of the Omni-Channel supervisor configuration.
|
| Metadata |
Type
mns:[OmniSupervisorConfig](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_omnisupervisorconfig.htm)
Properties
Create, Nillable, Update
Description
The Omni-Channel supervisor configuration’s metadata.
|
| SkillVisibility |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Determines which work items based on skills are visible to the supervisors assigned to this supervisor configuration. Possible values are:
- AllSkills—Show work items with all skill requirements selected in this supervisor configuration.
- AnySkill—Show work items with at least one skill requirement selected in this supervisor configuration.
|
# Operational Objects
Use the following objects for Tooling API operations.
- **[ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm)**: Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.
- **[DeployDetails](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_deploydetails.htm)**: A complex type that contains detailed XML for any compile errors reported in the asynchronous request defined by a ContainerAsyncRequest object.
- **[MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm)**: Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.
- **[OperationLog](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_operationlog.htm)**: Represents long-running or asynchronous operations triggered and tracked through Tooling API.
The following Tooling API objects are used internally by the Developer Console.
- IDEPerspective
- IDEWorkspace
- User.WorkspaceId
# OperationLog
Represents long-running or asynchronous operations triggered and tracked through Tooling API. This object is available in API version 37.0 and later.
## Supported SOAP Calls
create(), describeSObjects()
## Supported REST HTTP Methods
Query, GET, POST
## Special Access Rules
As of the Spring '20 release, to access OperationLog you must have the View Setup user permission.
## Fields
| Field | Details |
| --- | --- |
| DetailedStatus |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Complements the Status field with an operation processor-specific status code.
|
| Message |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Complements the Status field with information helpful to the user. For example, if Status=FAILED, state the reason in this field.
|
| Parameters |
Type
[OperationParameters](#OperationParameters_title)
Properties
Create, Nillable
Description
A complex type that represents a set of parameters passed to the operation processor. Specify the parameters by using the [OperationPayload](#OperationPayload_title) value that corresponds to your operation type.
|
| Status |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Indicates the status of an operation triggered through Tooling API. Valid values are:
- NEW
- RUNNING
- COMPLETED
- FAILED
- ABORTED
Only records with Status=NEW can be created through the API.
|
| Type |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The type of operation submitted through Tooling API. For each operation type, use the corresponding payload of input parameters. Valid operation types are:
RunTerritoryRules
Runs account assignment rules for any territory that has rules defined and belongs to a territory model in Planning or Active state. When you run rules from Setup, accounts are assigned to territories according to your rules if your territory model is in Active or Planning state. Accounts are assigned to territories according to your rules automatically on account creation or update only if your territory model is in Active state.
When you choose this operation type, use the payload [Territory2RunTerritoryRulesPayload](#Territory2RunTerritoryRulesPayload) in the Parameters field.
RunOppTerrAssignmentApex
Uses filter-based opportunity territory assignment to assign territories to opportunities using a simple job. We provide code for an Apex class that you can use as-is or modify as needed based on our guidelines. After you create and deploy the class, run the job to complete the assignment process. Job options include making assignments within date ranges and assigning territories to open opportunities only.
When you choose this operation type, use the payload [Territory2RunOppTerrAssignmentApexPayload](#Territory2RunOppTerrAssignmentApexPayload) in the Parameters field.
|
## changeOwnPassword
Represents the password details when users change their own passwords. Users can’t use setPassword() to change their own passwords, and must use changeOwnPassword(). This type is available in API version 40.0 and later.
| Field | Details |
| --- | --- |
| oldPassword |
Type
string
Description
The user’s previous password that is being replaced.
|
| newPassword |
Type
string
Description
The user’s new password.
|
## OperationParameters
Represents parameters to be passed to an operation triggered by Tooling API. This type is available in API version 37.0 and later.
| Field | Details |
| --- | --- |
| payload |
Type
[OperationPayload](#OperationPayload_title)
Description
Use the payload that corresponds to the type of operation you want to trigger through Tooling API. Valid values are:
- [Territory2RunTerritoryRulesPayload](#Territory2RunTerritoryRulesPayload)
- [Territory2RunOppTerrAssignmentApexPayload](#Territory2RunOppTerrAssignmentApexPayload)
|
## OperationPayload
Represents a named set of input parameters, or payload, that corresponds to the operation type specified in the [Type](#OperationLog-Type) field of OperationLog. For example, if you choose the operation type [RunTerritoryRules](#RunTerritoryRules), use the payload [Territory2RunTerritoryRulesPayload](#Territory2RunTerritoryRulesPayload).
Payloads that are supported by OperationLog are extensions of the OperationPayload type. This type is available in API version 37.0 and later.
## Territory2RunTerritoryRulesPayload
Represents a set of parameters to be specified when triggering a [RunTerritoryRules](#RunTerritoryRules) operation through Tooling API. Extends the complex type [OperationPayload](#OperationPayload_title). This type is available in API version 37.0 and later.
| Field | Details |
| --- | --- |
| keyPrefix |
Type
string
Description
The key prefix of the entity on which the territory assignment rules should be run. The Account key prefix (001) is currently supported.
|
| territoryId |
Type
string
Description
The TerritoryID of the Planning or Active territory model you want to run rules for.
|
| territoryModelId |
Type
string
Description
The ID for the territory model the territory belongs to. You can run assignment rules on territory models in a Planning or Active state.
|
## Territory2RunOppTerrAssignmentApexPayload
Represents a set of parameters to be specified when triggering a [RunOppTerrAssignmentApex](#RunOppTerrAssignmentApex) operation through Tooling API. Extends the complex type [OperationPayload](#OperationPayload_title). This type is available in API version 37.0 and later.
| Field | Details |
| --- | --- |
| excludeClosedOpportunities |
Type
string
Description
If true, excludes from the operation all opportunities that are already closed.
|
| opportunityCloseDateFrom |
Type
string
Description
Use to filter opportunities based on a range of close dates. The operation applies to opportunities with close dates within the specified range. Use this field to specify a starting date for the range using the format ddmmyyyy.
|
| opportunityCloseDateTo |
Type
string
Description
Use to filter opportunities based a range of close dates. The operation applies to opportunities with close dates within the specified range. Use this field to specify an ending date for the range using the format ddmmyyyy.
|
| opportunityLastModifiedDateFrom |
Type
string
Description
Use to filter opportunities based a range of last-modified dates. The operation applies to opportunities with last-modified dates within the specified range. Use this field to specify a starting date for the range using the format ddmmyyyy.
|
| opportunityLastModifiedDateTo |
Type
string
Description
Use to filter opportunities based a range of last-modified dates. The operation applies to opportunities with last-modified dates within the specified range. Use this field to specify an ending date for the range using the format ddmmyyyy.
|
| territoryModelId |
Type
string
Description
The ID for the active territory model. Opportunities can be assigned to an active territory model only.
|
# OpportunitySplitType
Represents labels and behavior for each split type Available in Tooling API version 37.0 and later.
This object is read only, and only available if Teamselling and Opportunity Splits are enabled.
There are 2 default split types: revenue splits, which must total 100%, and overlay splits, which can total any percentage.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET
## Fields
| Description |
- Type
- textarea
- Properties
- Create, Filter, Group, Sort, Update
- Description
- Describes the purpose of the split type, providing
context to future developers.
|
| DeveloperName |
- Type
- string
- Properties
- Create, Filter, Group, Sort, Update
- Description
- Required. The unique name of the
object in the API. In managed packages, this field
prevents naming conflicts on package installations.
With this field, a developer can change the object’s
name in a managed package and the changes are
reflected in a subscriber’s
organization.
|
| IsActive |
- Type
- boolean
- Properties
- Create, Defaulted on create, Filter, Group, Sort,
Update
- Description
- Enables or disables the split type.
|
| IsTotalValidated |
- Type
- boolean
- Properties
- Create, Defaulted on create, Filter, Group, Sort
- Description
- If true, the split must total 100%.
If false, the split can total any
percentage.
|
| Language |
- Type
- picklist
- Properties
- Create, Defaulted on create, Filter, Group, Nillable,
Restricted picklist, Sort, Update
- Description
- Indicates language of split labels in the user
interface.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified
component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Create, Filter, Group, Sort, Update
- Description
- The user-interface label for the split type.
|
| NamespacePrefix |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The namespace prefix that is associated with this
object. Each Developer Edition org 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 the following
values.
- In Developer Edition orgs,
NamespacePrefix is set to the
namespace prefix of the org for all objects that
support it, unless 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 org of the package
developer.
- In orgs that are not Developer Edition orgs,
NamespacePrefix is set only
for objects that are part of an installed managed
package. All other objects have no namespace
prefix.
-
This field can’t be accessed unless the logged-in
user has the Customize Application permission.
|
| SplitEntity |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort
- Description
- The containing record type, such as an opportunity.
Available in API version 30 and later.
|
| SplitField |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort
- Description
- Indicates which currency field of the opportunity object
is split. Available in API version 30 and later.
|
| SplitDataStatus |
- Type
- picklist
- Properties
- Filter, Group, Nillable,Restricted picklist,
Sort,Update
- Description
- Indicates the status of the split type. Available in API
version 30 and later.
|
# OrgDomainLog
Represents a Salesforce org’s previous My Domain. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API Methods
GET, HEAD, Query
## Fields
| Field | Details |
| --- | --- |
| DomainPartition |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The partition for this org. When none, partitioned domains aren’t enabled. Otherwise, My Domain hostnames include the partition value. For example, the format of a My Domain login hostname for a Developer Edition org with partitioned domains is MyDomainName.develop.my.salesforce.com.
Possible values are:
- demo—Used in demo orgs. Available in API version 60.0 and later.
- develop—Used in Developer Edition orgs. Also used in patch orgs where partitioned domains were deployed before Winter ’24.
- free—Reserved for internal use.
- none—Indicates that this org doesn’t use partitioned domains.
- patch—Used in patch orgs. Available in API version 59.0 and later.
- sandbox—Used in sandboxes with enhanced domains. These orgs are always partitioned.
- scratch—Used in scratch orgs.
- sfdctest—Reserved for internal use.
- trailblaze—Used in Trailblazer Playgrounds.
Available in API version 55.0 and later.
|
| MyDomainName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
A previous My Domain name for the Salesforce org.
|
| ProdSuffixType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
A previous Salesforce domain suffix, which is appended to the My Domain name.
Possible values are:
- CloudforceLimited—cloudforce.com
- DatabaseLimited—database.com
- MySalesforce—my.salesforce.com with enhanced domains
- MySalesforceLimited—my.salesforce.com without enhanced domains
- OrgLevelCertificateLimited—legacy version of my-salesforce.com that’s noncompliant with browser settings that block third-party cookies
- OrgLevelCertificate—my-salesforce.com
- Restricted1—Reserved for future use.
- Restricted2—Reserved for future use.
|
## Usage
To check for previous My Domain values for your org, first perform a GET request.
GET /services/data/v51.0/tooling/query?q=SELECT Id FROM OrgDomainLog
If that query returns a size of 1 or greater, previous My Domain values exist for the org. Each record represents a previous My Domain.
To use a GET request for the My Domain name and suffix, use this syntax with a OrgDomainLog record ID.
GET /services/data/v51.0/tooling/sobjects/MyDomainLog/recordID
The following is an example response for a GET request querying a OrgDomainLog record ID.
{
"attributes" : {
"type" : "OrgDomainLog",
"url" : "/services/data/v56.0/tooling/sobjects/OrgDomainLog/9UXXXXXXXXXXXXXOAA"
},
"Id" : "9UXXXXXXXXXXXXXOAA",
"IsDeleted" : false,
"CreatedDate" : "2022-10-02T21:04:38.000+0000",
"CreatedById" : "005XXXXXXXXXXXXIAG",
"LastModifiedDate" : "2022-10-02T21:04:38.000+0000",
"LastModifiedById" : "005XXXXXXXXXXXXIAG",
"SystemModstamp" : "2022-10-02T21:04:38.000+0000",
"DomainPartition" : "none",
"MyDomainName" : "mycompany",
"ProdSuffixType" : "MySalesforceLimited"
}
# OutboundNetworkConnection
Represents a private connection between a Salesforce org and a third-party data service. The connection is outbound because the callouts are going _out_ of Salesforce.Available in API version 49.0 and later.
## Supported SOAP Calls
create(), delete(), describeObject(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETEGETPATCHPOST
## Fields
| ConnectionType |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- Specifies the cloud provider of the connection. The only
valid value is AwsPrivateLink.
|
| Description |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- A description of the connection. Maximum of 255
characters.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The developer’s internal name for the outbound network
connection used in the API.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the associated type in Metadata
API.
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.
|
| isActive |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Required. Specifies whether the connection is active
(true) or
not(false). The
default value is false.
|
| Language |
- Type
- picklist
- Properties
- Defaulted on create, Filter, Group, Nillable, Restricted
picklist, Sort
- Description
- The language of the connection. The value for this field
is the language value of the org.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The internal label for the connection.
|
| Metadata |
- Type
- mns:OutboundNetworkConnection
- Properties
- Create, Nillable, Update
- Description
- Provides access to the associated type and related
fields in Metadata API.
|
| NamespacePrefix |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The namespace of the connection. An outbound network
connection can be in an extension namespace different
than the object.
|
| Status |
- Type
- picklist
- Properties
- Filter, Group, Restricted Picklist, Sort
- Description
- Required. Connection status. The connection is initially
Unprovisioned
and moves through the other states automatically after
an admin performs a provision, sync, or teardown action.
The valid values are:
- Unprovisioned
- Allocating
- PendingAcceptance
- PendingActivation
- RejectedRemotely
- DeletedRemotely
- TeardownInProgress
- Ready
|
|
|
# OutboundNetworkConnProperty
Represents a name-value pair that describes the properties of the outbound network connection. Available in API version 49.0 and later.
## Supported SOAP Calls
create(), delete(), describeObject(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETEGETPATCHPOST
## Fields
| OutboundNetworkConnectionId |
- Type
- reference
- Properties
- Create, Filter, Group, Sort
- Description
- Required. The ID of the corresponding
OutboundNetworkConnection.
|
| PropertyName |
- Type
- picklist
- Properties
- Create, Filter, Group, Restricted picklist, Sort
- Description
- The name of a property used to establish to an
OutboundNetworkConnection. Valid values are:
-
AwsVpcEndpointId—The unique endpoint ID
provided by Salesforce after an outbound
AwsPrivateLink is created.
-
AwsVpcEndpointServiceName—The name of
the customer’s endpoint service running in an AWS
VPC that’s used for private connections with
Salesforce.
-
Region—The
region in which the VPC is hosted.
Enumerated values DataCloudPrivateNetwork* are reserved for
internal use.
|
| PropertyValue |
- Type
- textarea
- Properties
- Create, Nillable, Update
- Description
- The value of PropertyName For
example, the PropertyValue of
Region might be
us-west-2.
|
# OwnerChangeOptionInfo
Represents default and optional actions that can be performed when a record’s owner is changed. Available in Tooling API version 35.0 and later.
## Supported SOAP Calls
describeSObjects(), query()
## Supported REST HTTP Methods
Query
## Special Access Rules
OwnerChangeOptionInfo is accessible in Tooling API to user profiles with the View Setup and Configuration permission.
## Fields
| Field | Details |
| --- | --- |
| DefaultValue |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Default value of the checkbox for this option in the user interface.
|
| 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. To simplify queries, use this field.
|
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort
Description
The object to which this change applies.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the [EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.") containing the record.
|
| IsEditable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether this option is editable by the user when updating the owner using the OwnerChangeOptions SOAP header.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The label that corresponds to the option in the user interface.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name for the option.
|
| ParentId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The durable ID of the parent OwnerChangeOptionInfo record. Available in Tooling API version 44.0 and later.
|
## Example
Retrieve all the change options for contacts.
SELECT Id, Name, Label, IsEditable, DefaultValue, EntityDefinition.QualifiedApiName
FROM OwnerChangeOptionInfo
WHERE EntityDefinition.QualifiedName='Contact’
Retrieve the change options for opportunities.
SELECT DurableId,EntityDefinitionId,IsEditable,Label,Name,ParentId
FROM OwnerChangeOptionInfo
WHERE EntityDefinition.DurableId = ‘Opportunity’
# Package2
Represents a second-generation managed package or an unlocked package in a Dev Hub org. Values for all fields are visible to the subscriber. Available in API version 41.0 and later.
## Supported SOAP Calls
create(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
Query, GET, POST
## Fields
| Field | Details |
| --- | --- |
| AppAnalyticsEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
If true AppExchange App Analytics can access package usage logs and subscriber snapshots.
The default value is false.
|
| ContainerOptions |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
Container options for the second-generation package. These options determine the upgrade and editability rules. The default value is Managed.
Valid values include:
- Managed (developer-managed, subscriber-managed)
- Unlocked (developer-controlled, subscriber-editable)
|
| ConvertedFromPackageId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The package ID (starts with 033) for the first-generation managed package that was converted. This field is available in API version 64.0 and later.
This field is a relationship field.
Relationship Name
ConvertedFromPackage
Refers To
SubscriberPackage
|
| DataCloudPackage |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
If true, this package contains Data 360 metadata. When creating a managed package with Data 360 metadata, you must isolate the Data 360 metadata from the other Salesforce metadata by creating a separate package that contains only Data 360 metadata.
Then create a package dependency between your dedicated Data 360 package and any related packages.
The default value is false.
|
| Description |
Type
string
Properties
Create, Filter, Nillable, Sort, Update
Description
Description of the package.
|
| IsDeprecated |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Specifies whether this package has been marked as deprecated (true) or not (false). The default value is false.
If you set IsDeprecated to true for a package, the package and all of its child package versions are deprecated.
If you set IsDeprecated to false for a package, the package and all of its child package versions are undeprecated. However, if IsDeprecated is explicitly set to true for a package version _after_ its parent package is deprecated, the child remains deprecated even if you undeprecate its parent.
If you set IsDeprecated to false for a package version whose parent package is deprecated, the package version’s IsDeprecated value remains true until its parent is undeprecated.
Deprecated package versions that have been installed in subscriber orgs continue to function, but new installations of deprecated package versions are blocked.
|
| IsOrgDependent |
Type
boolean
Properties
Filter, Group, Sort
Description
Indicates whether the package depends on unpackaged metadata in the installation org (true) or not (false). This field only applies to unlocked packages. The default value is false. Available in API version 49.0 and later.
|
| Name |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Name of the package. Unlike a typical developer name, this value is mutable and can contain special characters.
|
| NamespacePrefix |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
Namespace prefix that identifies the components of your package in the subscriber’s org.
|
| PackageErrorUsername |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The email address for an active user in the Dev Hub org you want to receive email notification regarding package-related errors. You can set the field when creating a package and update it later.
|
| SubscriberPackageID |
Type
reference
Properties
Filter, Group, Sort, Unique
Description
ID that identifies this package across all Salesforce instances (starts with 033).
This value is case-sensitive and must be unique.
|
| WasTransferred |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the package was previously associated with a different Dev Hub org. For details, see: [Transfer a Second-Generation Managed Package to a Different Dev Hub](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/sfdx_dev2gp_package_transfer.htm). This field is available in API version 57.0 and later. The default value is false.
|
## Usage
Subscribers install package versions ([Package2Version](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_package2version.htm#tooling_api_objects_package2version "Represents a second-generation package version in a Dev Hub org. Values for all fields except for Tag and Branch are visible to the subscriber. Available in API version 41.0 and later.")s) in their orgs.
# Package2Member
Represents a component in a second-generation managed package in a subscriber’s org. Created when the subscriber installs the package. Available in API version 41.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
Query, GET
## Fields
| Field | Details |
| --- | --- |
| CurrentPackageVersionId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the current SubscriberPackageVersion.
|
| MaxPackageVersionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Indicates the last package version that a metadata component was contained in. It's set if the object is left in the subscriber org after upgrade. For example, if the package developer removes an Apex class, that class and its Package2Member are hard deleted. However, to avoid data loss, we don't delete schema objects.
|
| MinPackageVersionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the first SubscriberPackageVersion that contained this Package2Member. Starts with 04t.
|
| SubjectId |
Type
reference
Properties
Filter, Group, Sort, Unique
Description
The ID of the component that this Package2Member is referencing.
This value is case-sensitive and must be unique.
|
| SubjectKeyPrefix |
Type
string
Properties
Filter, Group, Sort
Description
The key prefix for the component that this Package2Member is referencing—for example, 01W for an ActionEmail component or 01Q for a WorkflowRule component.
|
| SubjectManageableState |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The manageability state of this Package2Member. References ManageableStateEnum.
Valid values include:
- beta—Not applicable. (Used only for first-generation packages.)
- deleted—Not applicable. (Used only for first-generation packages.)
- deprecated—Installed as part of a second-generation managed package, and later deprecated from the package.
- deprecatedEditable—Installed as part of an unlocked package, and later deprecated from the package.
- installed—Installed as part of a second-generation managed package.
- installedEditable—Installed as part of an unlocked package. For components in unlocked packages, an admin can make modifications, but all changes are overwritten by the next upgrade.
- released—Not applicable. (Used only for first-generation packages.)
- unmanaged—Not applicable. (Used only for first-generation packages.)
|
| SubscriberPackageId |
Type
reference
Properties
Filter, Group, Sort
Description
ID that identifies this package across all Salesforce instances (starts with 033).
|
# Package2Version
Represents a second-generation package version in a Dev Hub org. Values for all fields except for Tag and Branch are visible to the subscriber. Available in API version 41.0 and later.
## Supported SOAP Calls
query(), retrieve(), update()
## Supported REST HTTP Methods
Query, GET, POST
## Fields
| Field | Details |
| --- | --- |
| AncestorId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the immediate parent of the package version in the package ancestry tree.
|
| Branch |
Type
string
Properties
Filter, Group, Nillable, Sort, Update
Description
The branch associated with this package version. Can be used to create a tree structure of inheritance.
This value is auto-populated from Package2VersionCreateRequest, but you can update it.
|
| BuildDurationInSeconds |
Type
int
Properties
Filter, Group, Nillable, Sort,
Description
Measured in seconds, this field indicates how long the build for this package version took. This field is new in API version 51.0.
|
| BuildNumber |
Type
int
Properties
Filter, Group, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch (Beta build)—for example, 1.2.0 (Beta 5). For released packages, version numbers contain only major.minor.patch, or, if patch is 0, major.minor—for example, 1.2.
|
| CodeCoverage |
Type
complexvalue
Properties
Nillable
Description
Percentage of lines of Apex code in the package version that are covered by tests. The value is null if code coverage wasn’t run when the package version was created.
For second-generation managed packages, a minimum 75% code coverage is required for package version promotion.
|
| CodeCoveragePercentages |
Type
complexvalue
Properties
Nillable
Description
Provides code coverage details for each Apex class in the package version.
The value is null if code coverage wasn’t run when the package version was created, or if there’s no Apex code in the package.
|
| ConvertedFromVersionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The subscriber package version ID (starts with 04t) of the first-generation managed package version that was converted. This field is available in API version 64.0 and later.
This field is a relationship field.
Relationship Name
ConvertedFromVersion
Refers To
SubscriberPackageVersion
|
| Description |
Type
string
Properties
Filter, Nillable, Sort, Update
Description
Description of the package.
|
| DeveloperUsePkgZip |
Type
base64
Properties
Nillable
Description
The zip file of package metadata for the package version. For converted second-generation managed packages only.
|
| HasMetadataRemoved |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
For managed packages only, this field returns true when one or more managed metadata components included in the package version’s ancestor aren’t included in this package version. This field doesn’t apply to unlocked packages. Available in API version 51.0.
|
| HasPassedCodeCoverageCheck |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Returns true if code coverage tests were run when the package version was created, and the resulting code coverage percentage is 75% or greater. Otherwise, returns false.
For second-generation managed packages, a minimum 75% code coverage is required for package version promotion.
|
| InstallKey |
Type
string
Properties
Filter, Group, Nillable, Sort, Update
Description
Installation key for creating the key-protected package. The default is null.
If you query for this value, the returned value is always null (for security reasons). The value can be set and reset but not read.
|
| IsDeprecated |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Specifies whether this package version has been marked as deprecated (true) or not (false). The default value is false.
If you set IsDeprecated to true for a package, the package and all of its child package versions are deprecated.
If you set IsDeprecated to false for a package, the package and all of its child package versions are undeprecated. However, if IsDeprecated is explicitly set to true for a package version _after_ its parent package is deprecated, the child remains deprecated even if you undeprecate its parent.
If you set IsDeprecated to false for a package version whose parent package is deprecated, the package version’s IsDeprecated value remains true until its parent is undeprecated.
Deprecated package versions that have been installed in subscriber orgs continue to function, but new installations of deprecated package versions are blocked.
|
| IsPasswordProtected |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether installation of this package version requires the user to provide an installation key (true) or not (false). The default value is false.
|
| IsReleased |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the package version is released (true) or in beta (false).
|
| Language |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language for the package.
If a language wasn’t specified, the language defaults to the language of the Dev Hub user who created the package. This field is available in API version 57.0 and later.
|
| MajorVersion |
Type
int
Properties
Filter, Group, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch (Beta build)—for example, 1.2.0 (Beta 5). For released packages, version numbers contain only major.minor.patch, or, if patch is 0, major.minor—for example, 1.2.
|
| MinorVersion |
Type
int
Properties
Filter, Group, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch (Beta build)—for example, 1.2.0 (Beta 5). For released packages, version numbers contain only major.minor.patch, or, if patch is 0, major.minor—for example, 1.2.
|
| Name |
Type
string
Properties
Filter, Group, Sort, Update
Description
Name of the package.
|
| Package2Id |
Type
reference
Properties
Filter, Group, Sort
Description
ID of the parent package (starts with 0Ho).
|
| PatchVersion |
Type
int
Properties
Filter, Group, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch (Beta build)—for example, 1.2.0 (Beta 5). For released packages, version numbers contain only major.minor.patch, or, if patch is 0, major.minor—for example, 1.2.
Currently, the only valid value is 0.
|
| ReleaseVersion |
Type
double
Properties
Filter, Group, Sort
Description
Indicates the Salesforce release version used to create the package version. The value is in the format of a Salesforce API version number, for example, “51.0.” This field is new in API version 51.0.
|
| SnapshotName |
Description
The name of the scratch org snapshot used when creating this package version.
|
| SubscriberPackageVersionId |
Type
reference
Properties
Filter, Group, Sort, Unique
Description
ID that subscribers use to install the package version (starts with 04t).
This value is read-only.
|
| Tag |
Type
string
Properties
Filter, Group, Nillable, Sort, Update
Description
The package version’s tag.
This value is auto-populated from Package2VersionCreateRequest, but you can update it.
|
| ValidatedAsync |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, a new package version is created before package validations complete.
The default value is false.
For more information on async validation, see [Create and Update Versions of a Second-Generation Managed Package](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/sfdx_dev_dev2gp_create_pkg_ver.htm)
|
| ValidationSkipped |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
If true, validation is skipped during package version creation. Skipping validation reduces the time it takes to create a new package version, but package versions created without validation can’t be promoted to the released state. This field is available in API version 48.0 and later.
The default value is false.
You can't specify both skip validation and code coverage, because code coverage is calculated during validation.
|
# Package2VersionCreateRequest
Represents a request to create a second-generation managed package or an unlocked package version in a Dev Hub org. Available in API version 41.0 and later.
## Supported SOAP Calls
create(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
Query, GET, POST
## Fields
| Field | Details |
| --- | --- |
| AsyncValidation |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
If true, a new package version is created before package validations complete.
The default value is false.
For more information on async validation, see [Create and Update Versions of a Second-Generation Managed Package](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/sfdx_dev_dev2gp_create_pkg_ver.htm)
|
| Branch |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The branch to associate with this package version. Can be used to create a tree structure of inheritance. Upon successful creation of a Package2Version, this value is copied to the package version’s Branch field.
The default value is null.
|
| CalculateCodeCoverage |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
If true, code coverage is calculated during package version creation. If false, code coverage isn’t calculated.
For second-generation managed packages, a minimum 75% code coverage is required for package version promotion. This field is available in API version 47.0 and later.
|
| CalcTransitiveDependencies |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, the calculation of the package version’s indirect dependencies is enabled. A package can have multiple levels of dependencies, where pkgC depends on pkgB, and pkgB depends on pkgA, for example. By default, you list all of a package’s dependencies, including indirect (transitive) dependencies. When CalcTransitiveDependencies is set to true, you specify a package’s direct dependencies only, and the indirect dependencies are calculated for you. See [Create Dependencies Between Second-Generation Managed Packages](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/sfdx_dev_dev2gp_create_dependencies.htm) in the Second-Generation Managed Packaging Developer Guide.
CalcTransitiveDependencies also enables you to generate a hierarchical graph of a package version’s dependencies. To generate the dependencies graph, run the package version displaydependencies CLI command. See [package version displaydependencies](https://developer.salesforce.com/docs/atlas.en-us.264.0.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_package_commands_unified.htm#cli_reference_package_version_displaydependencies_unified) in the Salesforce CLI Command Reference.
The default value is false.
|
| DependencyGraphJson |
Type
textarea
Properties
Create, Nillable, Update
Description
If CalcTransitiveDependencies is set to true, DependencyGraphJson is auto-populated with information about the package’s dependencies when you create a new package version.
If CalcTransitiveDependencies is false, the default value is null.
|
| InstallKey |
Type
encryptedstring
Properties
Create, Nillable
Description
Installation key for installing a key-protected package. The default is null.
Used only on insert. If you query for this value, null is always returned (for security reasons).
The default value is null.
|
| IsConversionRequest |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, this package version is being converted from a first-generation managed package to a second-generation managed package.
The default value is false.
This field is available in API version 64.0 and later.
|
| IsDevUsePkgZipRequested |
Type
boolean
Properties
Create, Filter, Group, Sort, Update
Description
If true, a downloadable package zip file containing package metadata is generated when a new package version is created.
The default value is false.
|
| IsPasswordProtected |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Specifies whether installation of this package version requires the user to provide an installation key (true) or not (false).
The default value is null.
|
| Language |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language for the package. The picklist values match the [Fully Supported Languages](https://help.salesforce.com/s/articleView?id=xcloud.faq_getstart_what_languages_does.htm&type=5&language=en_US) listed in Salesforce Help.
If no language is specified, the language defaults to the language of the Dev Hub user who created the package. This field is available in API version 57.0 and later.
|
| Package2Id |
Type
reference
Properties
Create, Filter, Group, Sort
Description
A reference to an ID for the Package2 to create a version of.
The default value is null.
|
| Package2VersionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
A reference to an ID for the Package2Version that this request creates (starts with 05i).
The default value is null.
|
| SkipValidation |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
If true, validation is skipped during package version creation. Skipping validation reduces the time it takes to create a new package version, but package versions created without validation can’t be promoted to the released state. This field is available in API version 48.0 and later.
The default value is false.
You can't specify both skip validation and code coverage, because code coverage is calculated during validation.
|
| SourceOrg |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the org whose shape (features, settings, limits, and licenses) information is used for creating scratch orgs used to validate metadata during creation of a second-generation managed package or unlocked package. This field is available in API version 50.0 and later.
|
| Status |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The status of the Package2Version creation request. Valid values include:
- Queued
- Initializing
- Verifying Features and Settings
- Verifying Dependencies
- Verifying Metadata
- Finalizing PackageVersion
- Error
- Success
The preceding values are listed in the order they appear during a Package2Version create request. The default value is null.
|
| Tag |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Optional tags for the package version.
The default value is null.
|
| VersionInfo |
Type
base64
Properties
Create
Description
The blob that stores details about the package version.
The default value is null.

#### Note
When you query Package2VersionCreateRequest, data from VersionInfo isn’t returned.
|
# Package2VersionCreateRequestError
Represents an error encountered while creating a second-generation managed package or an unlocked package version. Available in API version 41.0 and later.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
Query, GET
## Fields
| Field | Details |
| --- | --- |
| Message |
Type
textarea
Properties
Filter, Nillable, Sort
Description
The error that was encountered during the creation of a package version.
|
| ParentRequestId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the Package2VersionCreateRequest that encountered an error.
|
# PackageInstallRequest
Represents a request to install a package (first- or second-generation) in a target subscriber org. Available in API version 41.0 and later.
## Supported SOAP Calls
create(), describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET, POST, Query
## Fields
| Field | Details |
| --- | --- |
| ApexCompileType |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
For unlocked package installs and upgrades, specifies whether to require successful compilation of all Apex in the org, or only Apex within the package.
Valid values are:
- all
- package
For package installs into production orgs, or any org that has [Apex Compile on Deploy enabled](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_deploying.htm), the platform compiles all Apex in the org after the package install or upgrade operation completes. This approach assures that package installs and upgrades don’t impact the performance of an org, and is done even if \--apexcompile package is specified.
Available in API version 46.0 and later.
|
| EnableRss |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
Specifies whether the package can send and receive Remote Site Settings (RSS) and Content Security Policy (CSP) data from third-party websites (true) or not (false).
The default value is false. Available in API version 43.0 and later.
|
| Errors |
Type
[SubscriberPackageInstallErrors](#SubscriberPackageInstallErrors)
Properties
Nillable
Description
Errors that occurred during installation, if any.
|
| NameConflictResolution |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
Controls name conflicts between package members in an unmanaged package. Valid values are:
- Block: Throw an exception on name conflicts.
- RenameMetadata: Rename only those components that can be renamed, otherwise throw an exception.
|
| PackageInstallSource |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
For internal use only.
|
| Password |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
The installation key for the package. Required for packages that are protected by an installation key.
|
| ProfileMappings |
Type
[SubscriberPackageProfileMappings](#SubscriberPackageProfileMappings)
Properties
Create, Nillable
Description
Mappings between [profile settings](https://developer.salesforce.com/docs/atlas.en-us.pkg1_dev.meta/pkg1_dev/packaging_creating_custom_profile.htm "HTML (New Window)") in the package and profiles in the subscriber org.
When installing a package, the admin for the subscriber org chooses which profiles in the org to map the profile settings in the package to.
|
| SecurityType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
Users for which this package is installed.
Valid values are:
- Custom: Installed for specified custom profiles.
- Full: Installed for all users.
- None: Installed for administrators only.
|
| SkipHandlers |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
Specifies the handlers that are skipped when the package is installed.
There’s only one valid value:
- FeatureEnforcement: For package installs in scratch orgs only. Specifying FeatureEnforcement in this field decreases the length of time a package installation takes to complete.
The feature enforcement handler adds object and feature validations in the subscriber org that prevent an admin from turning off a feature that can cause your app to malfunction. This enforcement isn’t critical in scratch orgs.
Available in API version 61.0 and later.
|
| Status |
Type
picklist
Properties
Group, Nillable, Restricted picklist, Sort
Description
The status of the install request. Valid values are:
- Error
- InProgress
- Success
- Unknown
|
| SubscriberPackageVersionKey |
Type
string
Properties
Create, Filter, Group, Sort
Description
Foreign key to the subscriber package version.
|
| UpgradeType |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
For unlocked package upgrades, specifies whether to mark all removed components as deprecated (deprecate-only, delete removed components that can be safely deleted and deprecate the others (mixed-mode), or delete all removed components (delete-only). The default is mixed-mode. Valid values are:
- delete-only
- deprecate-only
- mixed-mode
|
## SubscriberPackageInstallErrors
Represents the list of errors that occurred during package installation.
| Field | Details |
| --- | --- |
| errors |
Type
[SubscriberPackageInstallError](#SubscriberPackageInstallError)
Description
The errors that occurred during package install.
|
## SubscriberPackageInstallError
Represents a single error that occurred during package installation.
| Field | Details |
| --- | --- |
| message |
Type
string
Description
Required. Describes the error that occurred.
|
## SubscriberPackageProfileMappings
Represents the list of profile mappings for which this package is installed.
| Field | Details |
| --- | --- |
| profileMappings |
Type
[SubscriberPackageProfileMapping](#SubscriberPackageProfileMapping)
Description
Name of the profile mapping.
|
## SubscriberPackageProfileMapping
Represents a mapping between a profile in the package that’s being installed and the profile in the target subscriber org.
| Field | Details |
| --- | --- |
| source |
Type
string
Description
Required. The name of the profile setting in the package that’s being installed.
|
| target |
Type
string
Description
Required. The name of the profile in the target subscriber org.
|
# PackageUploadRequest
Represents a request to upload a first-generation package version and its components so that subscribers can install it. Available in API version 38.0 and later.
## Supported SOAP Calls
create(), describeSObjects(),query(),retrieve()
## Supported REST HTTP Methods
Query, GET, POST
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Nillable
Description
A description of the package and what this version contains.
|
| Errors |
Type
complexvalue
Properties
Nillable
Description
Errors that occurred during upload, if any.
|
| IsReleaseVersion |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort
Description
For managed packages only. Indicates whether the managed package is a released version (true) or a beta version (false). The default is false.
|
| MajorVersion |
Type
int
Properties
Create, Filter, Group, Nillable, Sort
Description
The first number in a package version number. A version number either has an x.y format or an x.y.z format. The x represents the major version, y the minor version, and z the patch version. (The patch version can’t be specified; it’s automatically assigned when a managed beta is uploaded.)
If IsReleaseVersion is false, MajorVersion is ignored. If IsReleaseVersion is true, and a managed beta is the latest uploaded version for the package, the major version must match the major version of the last uploaded beta.
|
| MetadataPackageId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The 18-character package ID, which starts with 033.
|
| MetadataPackageVersionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The 18-character package version ID representing the non-deprecated package you’re uploading.
|
| MinorVersion |
Type
int
Properties
Create, Filter, Group, Nillable, Sort
Description
The second number in a package version number. A version number either has an x.y format or an x.y.z format. The x represents the major version, y the minor version, and z the patch version. (The patch version can’t be specified; it’s automatically assigned when a managed beta is uploaded.)
If MinorVersion isn’t specified, the default value is 1 more than the minor version of the currently released package (0 if not released).
If IsReleaseVersion is false, MinorVersion is ignored. If IsReleaseVersion is true and a managed beta is the latest uploaded version for the package, the minor version must match the minor version of the last uploaded beta.
|
| Password |
Type
string
Properties
Create, Filter, Group, Nillable, Sort
Description
An optional installation key for sharing the package privately with anyone who has the password value. Don't include the password if you want to make the package available to anyone on AppExchange and share your package publicly.
|
| PostInstallUrl |
Type
textarea
Properties
Create, Nillable
Description
The fully qualified URL of the post-installation instructions. Instructions are shown as a link after installation and are available from the package detail view.
|
| ReleaseNotesUrl |
Type
textarea
Properties
Create, Nillable
Description
The fully qualified URL of the package release notes. Release notes are shown as a link during the installation process and are available from the package detail view after installation.
|
| Status |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The status of the upload. Valid values are:
- Error
- In Progress
- Queued
- Success
|
| VersionName |
Type
string
Properties
Create, Filter, Group, Sort
Description
Required. The name of the package version. Example: Spring 2016.
|
## Usage
Suppose that you want to upload version 1.3 of your managed package. Let’s write some code to create a package upload request, upload the package version, and poll the status of the upload until it completes.
First, let’s set some variables for the request object.
static private final String packageId = "033xx00000007l0";
static private final Integer packageMajorVersionNumber = 1;
static private final Integer packageMinorVersionNumber = 3;
static private final Boolean isReleaseVersion = true;
static private final String packageVersionDescriptionSuffix =
isReleaseVersion ? "" : "beta";
static private final String packageVersionDescription =
"r" + packageMinorVersionNumber + packageVersionDescriptionSuffix;
static private final String packageDescription =
String.format("This is the most amazing package in the world! ",
"And %s is the most amazing release so far! ",
packageVersionDescription);
static private final String packageReleaseNotesUrl = "https://www.example.com";
static private final String packagePostInstallUrl = "https://www.example.com";
// Leave blank or null for no password
static private final String packagePassword = "";
static private final String baseUrl = "https://MyDomainName.my.salesforce.com:6109";
Now let’s create the upload request and start the upload. This code sample uses the Web Services Connector (WSC).
PackageUploadRequest packageUploadRequest = new PackageUploadRequest();
packageUploadRequest.setMetadataPackageId(packageId);
packageUploadRequest.setVersionName(packageVersionDescription);
packageUploadRequest.setDescription(packageDescription);
packageUploadRequest.setMajorVersion(packageMajorVersionNumber);
packageUploadRequest.setMinorVersion(packageMinorVersionNumber);
packageUploadRequest.setPostInstallUrl(packagePostInstallUrl);
packageUploadRequest.setReleaseNotesUrl(packageReleaseNotesUrl);
packageUploadRequest.setIsReleaseVersion(isReleaseVersion);
packageUploadRequest.setPassword(packagePassword);
SObject\[\] argArray = {packageUploadRequest};
SaveResult\[\] saveResults = connection.create(argArray);
if (saveResults\[0\].isSuccess()) {
// The save result contains the ID of the created request.
// Save it in the local request.
packageUploadRequest.setId(saveResults\[0\].getId());
System.out.println("PackagePushRequest created, ID: "
+ saveResults\[0\].getId());
} else {
for (Error error : saveResults\[0\].getErrors()) {
System.out.println(error.getMessage());
}
}
**Checking the Status of an Upload Request**
// Find the status of the PackageUploadRequest for a given ID
String query = String.format("SELECT Status,MetadataPackageVersionId
FROM PackageUploadRequest WHERE Id = '%s'", packageUploadRequest.getId());
boolean inProgress = false;
boolean queued = false;
boolean done = false;
while (true) {
QueryResult queryResult = connection.query(query);
PackageUploadRequest updatedPackageUploadRequest =
(PackageUploadRequest) queryResult.getRecords()\[0\];
PackageUploadRequestStatus status = updatedPackageUploadRequest.getStatus();
switch (status) {
case Success:
System.out.println(String.format("Package upload %s completed",
packageUploadRequest.getId()));
System.out.println(String.format(
"Package install url: %s/packaging/installPackage.apexp?p0=%s",
baseUrl,
updatedPackageUploadRequest.getMetadataPackageVersionId()));
done = true;
break;
case Error:
PackageUploadErrors errors = updatedPackageUploadRequest.getErrors();
if (errors.getErrors().length == 0) {
System.out.println(String.format(
"%s: For upload of package %s, no further information available",
updatedPackageUploadRequest.getStatus(),
packageUploadRequest.getId()));
}
else {
System.out.println(String.format(
"%s: For upload of package %s",
updatedPackageUploadRequest.getStatus(),
packageUploadRequest.getId()));
for (PackageUploadError error : errors.getErrors()) {
System.out.println("Error detail: " + error.getMessage());
}
}
assertTrue("Upload failure occurred", false);
break;
case Queued:
if (!queued) {
System.out.println(String.format("Package upload %s enqueued”,
packageUploadRequest.getId()));
queued = true;
}
break;
case InProgress:
if (!inProgress) {
System.out.println(String.format("Package upload %s started",
packageUploadRequest.getId()));
inProgress = true;
}
break;
case Unknown:
System.out.println("Unexpected package upload status: " +
updatedPackageUploadRequest.getStatus());
}
if (done) break;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// ignore interruptions
}
}
# PackageVersionUninstallRequestError
Represents an error encountered while requesting an uninstall of a Package2Version (second-generation package version). Available in API version 41.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET, Query
## Fields
| Field | Details |
| --- | --- |
| Message |
Type
string
Properties
Filter, Nillable, Sort
Description
The error that was encountered during the request of an uninstall of the second-generation package version.
|
| ParentRequestId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
The ID of the SubscriberPackageVersionUninstallRequest object associated with this error. The ID starts with the string 06y.
|
# PardotTenant
Represents an Account Engagement business unit. This object is available in API version 56.0 and later.

#### Note
Pardot is now known as Marketing Cloud Account Engagement. We wish we could snap our fingers to update the name everywhere, but you can expect to see the previous name in a few places, including API names and developer resources.
Use available SOAP calls to create new business units, and query and update information in existing business units.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
GET, HEAD, PATCH, POST, Query
## Special Access Rules
PardotTenant is available to customers with any Account Engagement edition.
## Fields
| Field | Details |
| --- | --- |
| CreationStatus |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Restricted picklist, Sort, Update
Description
The operational status of the business unit managed by Account Engagement.
Possible values are:
- Backfilled
- Created
- Creating
- Deleted
- Deleting
- Deprovisioned
- Deprovisioning
- Error
- Updated
- Updating
The default value is Creating.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Universally unique identifier for this object. If an object does not provide a value for this field on INSERT, a value will be auto-generated for it.
|
| InitialPardotAdminId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The Salesforce user who set up the business unit.
This field is a relationship field.
Relationship Name
InitialPardotAdmin
Relationship Type
Lookup
Refers To
User
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the business unit.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the Account Engagement business unit. This field syncs with the PardotTenantName field.
|
| PardotTenantId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The numerical identifier for the business unit.
|
| PardotTenantName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The name of the Account Engagement business unit. This field syncs with the MasterLabel field.
|
| PardotTenantStatusCode |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The operational status of the business unit.
Possible values are:
- InsufficientLicenseLimits
- InvalidRequest
- PardotAccountNotFound
- UnknownError
- UsernameCollision
|
## Usage
To create an Account Engagement business unit, set a valid user ID for the InitialPardotAdminID field and a value for PardotTenantName. If you have multiple business units, the PardotTenantName value must be unique.
To verify the status of a business unit, query the PardotTenantID. A return value of CREATING means the business unit is being created. A return value of CREATED means the business unit has been created.
Update capabilities are limited to changing the PardotTenantName field and deleting a business unit if an error occurs upon creation. To delete the PardotTenant, one of these scenarios must be true:
- The CreationStatus has a value of ERROR.
- The CreationStatus has a value of CREATING, UPDATING, or DELETING, and the system hasn’t updated the tenant in the last hour.
# PathAssistant
Represents a Path. Available in Tooling API version 36.0 and later.

#### 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.
## Supported SOAP Calls
retrieve(), query()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the path in the API.
|
| FullName |
Type
string
Properties
Group, Nillable
Description
The name of the path in the Metadata API.
Query this field only if the query result contains no more than 1 record. Otherwise, an error is returned. If more than 1 record exists, use multiple queries to retrieve the records. This limit protects performance.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the path is active (true) or inactive (false).
|
| IsDeleted |
Type
boolean
Properties
Sort
Description
Indicates whether the record has been moved to the Recycle Bin (true) or not (false).
|
| IsMasterRecordType |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether this path is for the main record type (true) or not (false).
|
| Language |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
The language of the path. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for this path.
|
| Metadata |
Type
msn:PathAssistant
Properties
Create, Nillable, Update
Description
Path metadata from the msn namespace.
Query this field only if the query result contains no more than 1 record. Otherwise, an error is returned. If more than 1 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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
This field can’t be accessed unless the logged-in user has the “Customize Application” permission.
|
| RecordTypeId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
The unique identifier for a record type.
|
| SobjectProcessField |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
Name of the picklist field which determines the steps you can use in the path.
For example, OpportunityStage in the case of opportunities or LeadStatus in the case of leads.
|
| SobjectType |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
The object this path relates to. Valid values are: Opportunity, Lead, Quote, or the API name of a custom object.
|
# PathAssistantStepInfo
Represents guidance for a step on a Path. Available in Tooling API version 36.0 and later.
## Supported SOAP Calls
update(), query()
## Supported REST HTTP Methods
GET, PATCH
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the path guidance information.
|
| Info |
Type
string
Properties
Filter, Nillable, Sort
Description
The text of the guidance displayed to the user in the user interface.
|
| IsDeleted |
Type
boolean
Properties
Sort
Description
Indicates whether the record has been moved to the Recycle Bin (true) or not (false).
|
| Language |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
The language of the path. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for this path guidance information record.
|
# PathAssistantStepItem
Represents layout or guidance details for a step on a Path. Available in Tooling API version 36.0 and later.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| IsDeleted |
Type
boolean
Properties
Sort
Description
Indicates whether the record has been moved to the Recycle Bin (true) or not (false).
|
| ItemId |
Type
ID
Properties
Filter, Group, Sort
Description
A foreign key field pointing to the Type field that represents either the layout (if Type is set to Layout) or the PathAssistantStepInfo (if Type is set to Information) of this guidance detail.
|
| PathAssistantId |
Type
ID
Properties
Filter, Group, Sort
Description
ID of the PathAssistant related to this step.
|
| RecordTypeId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
ID of the record type associated with this path.
|
| Type |
Type
string
Properties
Filter, Group, Sort
Description
The type of data that ItemId refers to.
Valid values are:
- Information
- Layout
|
# PaymentGatewayProvider
Represents the payment gateway provider processing payments. This object is available in API version 48.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), search(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
To access Salesforce Payments objects with the API, your org must have one or more of these licenses: Salesforce Payments, Salesforce Order Management, B2B Commerce, or D2C Commerce. Salesforce Payments objects are available only in Lightning Experience.
## Fields
| Field | Details |
| --- | --- |
| ApexAdapterId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The Apex adapter reference for your payment gateway. This field is unique within your organization. This field is a relationship field.
This field is a relationship field.
Relationship Name
ApexAdapter
Relationship Type
Lookup
Refers To
ApexClass
|
| Comments |
Type
textarea
Properties
Filter, Nillable, Sort
Description
Additional details about the payment gateway provider . Max length is 1000 characters.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.
|
| Fullname |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated in Metadata API. The full name can include a namespaceprefix.
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.
|
| IdempotencySupported |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Indictes whether idempotency can be used.
Possible values are:
- No
- Yes
The default value is No.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the PaymentGatewayProvider.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| LastViewedDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
The timestamp when the current user last viewed this record or list view. A null value may mean that the user only accessed this record or list view (LastReferencedDate) but did not view it.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Label for the PaymentGatewayProvider. In the UI, this field is Payment Gateway Provider.
|
| Metadata |
Type
PaymentGatewayProvider
Properties
Create, Nillable, Update
Description
The PaymentGatewayProvider’s metadata.
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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
# PermissionDependency
Represents permission dependencies for a specified permission. For example, return all child dependencies for the Modify All Data permission. Available in Tooling API version 46.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
Query, GET
## Special Access Rules
As of Summer ’20 and later, only users with View Setup and Configuration permission can access this object.
## Fields
| Field Name | Details |
| --- | --- |
| Permission |
Type
string
Properties
Filter
Description
The permission that depends on other permissions to be enabled. For example, the permission might be Modify All Data, which requires View All Data and other permissions to be enabled.
|
| PermissionType |
Type
string
Properties
Filter
Description
The permission type. For example, user permissions, such as View All Data, or object permissions.
|
| RequiredPermission |
Type
string
Properties
Filter
Description
The permission that is required to be enabled for the dependent permission to be enabled.
|
| RequiredPermissionType |
Type
string
Properties
Filter
Description
The permission type. For example, user permissions, such as View All Data, or object permissions.
|
## Usage
Use the PermissionDependency object to find the permissions on which a specified permission is dependent.
# PermissionSet
Represents a set of permissions that’s used to grant more access to users without changing their profile or reassigning profiles. Available in API version 28.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve(), search()
## Special Access Rules
As of Summer ’20 and later, only users who have one of these permissions can access this object:
- View Setup and Configuration
- Manage Session Permission Set Activations
- Assign Permission Sets
- Manage Profiles and Permission Sets
To view the following settings, assignments, and permissions for standard and custom objects in a specified permission set, the View Setup and Configuration permission is required.
- Client settings
- Field permissions
- Layout assignments
- Object permissions
- Permission dependencies
- Permission set tab settings
- Permission set group components
- Record types
## Fields
| Field Name | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Nillable, Group, Sort
Description
A description of the permission set. Limit: 255 characters.
|
| HasActivationRequired |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the permission set requires an associated active session (true) or not (false).
|
| IsCustom |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the permission set is custom (created by an admin); if false, the permission set is standard and related to a specific permission set license.
|
| IsOwnedByProfile |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the permission set is owned by a profile. Available in API version 25.0 and later.
|
| Label |
Type
string
Properties
Filter, Group, Sort
Description
The permission set label, which corresponds to **Label** in the user interface. Limit: 80 characters.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Name |
Type
string
Properties
Filter, Group, Sort
Description
The permission set group name.
|
| 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. This field is available in API version 30.0 and later.
The namespace prefix can have one of the following values:
In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| PermissionSetGroupId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
If the permission set is owned by a permission set group, this field returns the ID of the permission set group. If the permission set isn’t owned by a permission set group, this field returns a null value. Available in API version 45.0 and later.
|
| ProfileId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
If the permission set is owned by a profile, this field returns the ID of the profile. If the permission set isn’t owned by a profile, this field returns a null value.
|
| Type |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The permission set type.
|
# PermissionSetAssignment
Represents a user’s assignment to a permission set or permission set group. This object is available in API version 22.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
As of Summer ’20 and later, only users who have one of these permissions can access this object:
- View Setup and Configuration
- Assign Permission Sets
- Manage User
## Fields
| Field | Details |
| --- | --- |
| AssigneeId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the user that is assigned the permission set indicated in PermissionSetId or the permission set group indicated in PermissionSetGroupId.
This field is a relationship field.
Relationship Name
Assignee
Relationship Type
Lookup
Refers To
User
|
| ExpirationDate |
Type
dateTime
Properties
Create, Filter, Nillable, Sort, Update
Description
The date that the assignment of the permission set or permission set group expires for the specified user. This field is available in API version 52.0 and later.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the assignment is active (true) or not (false). This field is available in API version 52.0 and later.
The default value is false.
|
| IsRevoked (Beta) |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the assignment was revoked (true) or not (false). This field is available in API version 57.0 and later.

#### Note
This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at [Agreements and Terms](https://www.salesforce.com/company/legal/agreements/).
The default value is false.
|
| LastCreatedByChangeId (Beta) |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the user access change record related to this permission set or permission set group assignment. This field is available in API version 57.0 and later.
This field is a relationship field.
Relationship Name
LastCreatedByChange
Relationship Type
Lookup
Refers To
UserAccessChange

#### Note
This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at [Agreements and Terms](https://www.salesforce.com/company/legal/agreements/).
|
| LastDeletedByChangeId (Beta) |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the user access change record related to this permission set or permission set group assignment being revoked. This field is available in API version 57.0 and later.
This field is a relationship field.
Relationship Name
LastCreatedByChange
Relationship Type
Lookup
Refers To
UserAccessChange

#### Note
This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service is subject to the applicable Beta Services Terms provided at [Agreements and Terms](https://www.salesforce.com/company/legal/agreements/).
|
| PermissionSetGroupId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the permission set group assigned to the user specified in AssigneeId. This field is available in API version 45.0 and later.
This field is a relationship field.
Relationship Name
PermissionSetGroup
Relationship Type
Lookup
Refers To
PermissionSetGroup
|
| PermissionSetId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
The ID of the permission set assigned to the user specified in AssigneeId.
This field is a relationship field.
Relationship Name
PermissionSet
Relationship Type
Lookup
Refers To
PermissionSet
|
# PermissionSetGroup
Represents a group of permission sets and the permissions within them. Use permission set groups to organize permissions based on job functions or tasks. Then, you can package the groups as needed. Available in Tooling API version 45.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
As of Summer ’20 and later, to view this object, users must have one of these permissions:
- View Setup and Configuration
- Manage Session Permission Set Activations
- Assign Permission Sets
To edit this object, users must have the Manage Profiles and Permission Sets permission.
## Fields
| Field Name | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Filter, Group, Nillable, Sort, Query, Retrieve Update
Description
The permission set group description.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, NameField, Sort, Update
Description
The permission set group name used in the API.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| HasActivationRequired |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the permission set group requires an associated active session (true) or not (false). The default value is false.This field is available in API version 53.0 and later.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The Permission Set Group language. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The permission set group label for the aggregated permissions.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The permission set group namespace prefix.
|
| Status |
Type
string
Properties
DefaultedOnCreate, Filter, Group, Restricted picklist, Sort
Description
Indicates the permission set group recalculation status.
- Updated. The group is current.
- Outdated. The group requires recalculation.
- Updating. The group is in recalculation mode.
- Failed. The group recalculation failed.
|
## Usage
Use the PermissionSetGroup object to query existing permission set groups and to find which aggregated permissions are included in the group.
# PermissionSetGroupComponent
A junction object that relates the PermissionSetGroup and PermissionSet objects via their respective IDs; enables permission set group recalculation to determine the aggregated permissions for the group. Available in Tooling API version 45.0 and later.
## Supported Calls
create(), delete(), describeSObject() , query(), retrieve()
## Supported REST HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
As of Spring ’20 and later, only users with the View Setup and Configuration permission can access this object.
## Fields
| Field Name | Details |
| --- | --- |
| PermissionSet |
Type
sObject
Properties
Create, Filter, Group, Sort
Description
The permission set containing the permission set component.
|
| PermissionSetGroup |
Type
PermissionSetGroup
Properties
Create, Filter, Group, Sort
Description
The name of the permission set group.
|
| PermissionSetGroupId |
Type
ID
Properties
Create, Filter, Group, Sort
Description
The ID of the permission set group containing the permission set component.
|
| PermissionSetId |
Type
ID
Properties
Create, Filter, Group, Sort
Description
The ID of the permission set.
|
## Usage
Use the PermissionSetGroupComponent object to add members to or delete members from a permission set group, or to query for group members.
# PermissionSetTabSetting
Represents a tab’s settings for a profile or permission set. Use PermissionSetTabSetting for manipulating tab visibility on profiles and permission sets. Available in Tooling API version 37.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update()
## Supported REST HTTP Methods
Query, GET, POST, PATCH, DELETE
## Special Access Rules
As of Spring ’20 and later, only users with View Setup and Configuration permission can access this object.
## Fields
| Field Name | Details |
| --- | --- |
| Name |
Type
string
Properties
Create, Filter, Group
Description
The tab’s API name. For standard tabs, the name is in the form “standard-Account”. For custom tabs, it’s the developer name.
|
| ParentId |
Type
reference
Properties
Create, Filter, Group
Description
The ID of the permission set to which this tab setting belongs. For profile tab settings, ParentId is the ID of the permission set owned by the profile.
|
| Visibility |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist
Description
The default visibility setting for this tab. Valid values are:
- Default Off
- Default On

#### Note
There’s no _hidden_ value. Instead, a hidden tab is indicated by having no PermissionSetTabSetting row in the database.
|
## Usage
To hide a tab, delete the associated PermissionSetTabSetting object. ParentId and Name fields can’t be updated.
This example creates a tab setting to make the custom object tab named CustomObject\_\_c visible for the System Administrator profile.
try {
// Query for the ID of the permission set owned by the System Administrator profile
String queryString = "SELECT Id FROM PermissionSet
+ WHERE Profile.Name = 'System Administrator'";
QueryResult queryResult = connection.query(queryString);
if (queryResult.getSize() > 0) {
// Construct the tab setting sObject
PermissionSetTabSetting tabSetting = new PermissionSetTabSetting();
tabSetting.setParentId(queryResult.getRecords()\[0\].getId());
tabSetting.setName("CustomObject\_\_c");
tabSetting.setVisibility(TabVisibility.DefaultOn);
SObject\[\] sObjects = new SObject\[\] { tabSetting };
// Create the tab setting
SaveResult\[\] saveResults = connection.create(sObjects);
for (SaveResult saveResult : saveResults) {
if (saveResult.isSuccess()) {
System.out.println("Successfully created the tab setting.");
System.out.println("ID: " + saveResult.getId());
} else {
Error error = saveResult.getErrors()\[0\];
System.out.println("Failed to create the tab setting.");
System.out.println("Status code: " + error.getStatusCode());
System.out.println("Message: " + error.getMessage());
}
}
} else {
System.out.println("Failed to find the ID of the permission set.");
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
This example updates the existing tab setting to make the Account tab available instead of visible for the Standard User profile.
try {
// Query for the ID of the tab setting for the Account tab on the Standard User profile
String queryString = "SELECT Id FROM PermissionSetTabSetting "
+ "WHERE Parent.Profile.Name = 'Standard User' AND Name = 'standard-Account'";
QueryResult queryResult = connection.query(queryString);
if (queryResult.getSize() > 0) {
// Change the visibility
PermissionSetTabSetting tabSetting = (PermissionSetTabSetting)queryResult.getRecords()\[0\];
tabSetting.setVisibility(TabVisibility.DefaultOff);
// Update the tab setting
SObject\[\] sObjects = new SObject\[\] { tabSetting };
SaveResult\[\] saveResults = connection.update(sObjects);
for (SaveResult saveResult : saveResults) {
if (saveResult.isSuccess()) {
System.out.println("Successfully updated the tab setting.");
System.out.println("ID: " + saveResult.getId());
} else {
Error error = saveResult.getErrors()\[0\];
System.out.println("Failed to update the tab setting.");
System.out.println("Status code: " + error.getStatusCode());
System.out.println("Message: " + error.getMessage());
}
}
} else {
System.out.println("Failed to find the ID of the tab setting.");
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
The example deletes the existing tab setting to make the Account tab hidden for the Standard User profile.
try {
// Query for the ID of the tab setting for the Account tab on the Standard User profile
String queryString = "SELECT Id FROM PermissionSetTabSetting "
+ "WHERE Parent.Profile.Name = 'Standard User' AND Name = 'standard-Account'";
QueryResult queryResult = connection.query(queryString);
if (queryResult.getSize() > 0) {
// Delete the tab setting
String\[\] ids = new String\[\] { queryResult.getRecords()\[0\].getId() };
DeleteResult\[\] deleteResults = connection.delete(ids);
for (DeleteResult deleteResult : deleteResults) {
if (deleteResult.isSuccess()) {
System.out.println("Successfully deleted the tab setting.");
System.out.println("ID: " + deleteResult.getId());
} else {
Error error = deleteResult.getErrors()\[0\];
System.out.println("Failed to delete the tab setting.");
System.out.println("Status code: " + error.getStatusCode());
System.out.println("Message: " + error.getMessage());
}
}
} else {
System.out.println("Failed to find the ID of the tab setting.");
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
# PipelineInspMetricConfig
Represents the configuration of a forecast category metric that appears in the Pipeline Inspection view. This object is available in API version 55.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Read only. The unique name of Pipeline Inspection metric configuration in the API.
|
| IsCumulative |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Read only. Whether the metric is cumulative.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Read only. The language of the Pipeline Inspection metric.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Customized label of the Pipeline Inspection metric. Limit: 50 characters.
|
| Metric |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The Pipeline Inspection metric.
Possible values are:
- BestCase
- ClosedLost
- ClosedWon
- Commit
- MostLikely
- OpenPipeline
- TotalPipeline
|
# PlatformEventChannel
Represents a custom channel that you can subscribe to in order to receive a stream of change data capture events.
This object is available in API version 47.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
- To retrieve or query this object, you must have the View Setup and Configuration permission.
- To create, update, or delete this object, you must have the Customize Application permission.
## Fields
| Field Name | Description |
| --- | --- |
| ChannelType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. The channel type. Valid values are:
- data—Change Data Capture channel corresponding to the selected entities.
- event—A channel that contains platform events.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the PlatformEventChannel object. The developer name doesn’t include the \_\_chn custom channel suffix. For example, the developer name of the MyChannel\_\_chn custom channel is MyChannel.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
- When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance slows down while Salesforce generates one for each record.
- Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EventType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of events that the channel can hold. A channel can hold only one type of events. Use this field to optionally specify a specific type of events for a channel in combination with the ChannelType field. Valid values are:
- custom—The channel contains custom platform events. This value is valid with the channelType of event.
- data—The channel contains change data capture events. This value is valid with the channelType of data.
- monitoring—The channel contains Real-Time Event Monitoring events. This value is valid with the channelType of event.
- standard—Reserved for internal use.
Available in API version 61.0 and later.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated PlatformEventChannel in Metadata API. The full name can include a namespace prefix. The full name includes the \_\_chn custom channel suffix. For example, the full name of the MyChannel custom channel is MyChannel\_\_chn.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the MasterLabel.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The channel label. The label of this field is Label.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
Platform event channel metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
## Usage
This JSON example is the body of a REST API POST request that creates the SalesEvents\_\_chn custom channel. The corresponding REST endpoint is /services/data/v68.0/tooling/sobjects/PlatformEventChannel.
{
"FullName": "SalesEvents\_\_chn",
"Metadata": {
"channelType": "data",
"label": "My Custom Channel"
}
}

#### Note
- You can update only the FullName field and the metadata label field of a PlatformEventChannel.
- If you delete a PlatformEventChannel, all its member PlatformEventChannelMember components are also deleted.
You can query custom channels in SOQL over Tooling API but not the standard channel (ChangeEvents). For example, this query returns fields of channel members from all custom channels.
SELECT Id, DeveloperName, ChannelType, MasterLabel FROM PlatformEventChannel
#### See Also
- [_Change Data Capture Developer Guide_: Subscription Channels](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_subscribe_channels.htm "Change Data Capture Developer Guide: Subscription
Channels - HTML (New Window)")
- [_Change Data Capture Developer Guide_: Compose Streams of Change Data Capture Notifications with Custom Channels](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_custom_channel.htm "Change Data Capture Developer Guide: Compose Streams of
Change Data Capture Notifications with Custom Channels - HTML (New Window)")
- [PlatformEventChannelMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_platformeventchannelmember.htm "Represents an entity selected for Change Data Capture notifications on a standard or custom channel, or a platform event selected on a custom channel.")
# PlatformEventChannelMember
Represents an entity selected for Change Data Capture notifications on a standard or custom channel, or a platform event selected on a custom channel.
This object is available in API version 47.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update()
## Supported REST HTTP Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
- To retrieve or query this object, you must have the View Setup and Configuration permission.
- To create, update, or delete this object, you must have the Customize Application permission.
- The EventChannel and SelectedEntity fields can’t be updated.
## Fields
| Field Name | Description |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the PlatformEventChannelMember object.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.
The developer name is in the format ChannelName\_EventName. If your channel member name contains a custom channel name to make it unique, ensure to replace the double underscores in the name with one underscore. For example, the developer name of a member of the MyChannel\_\_chn custom channel is MyChannel\_chn\_AccountChangeEvent. And the developer name of a member of the default standard channel is ChangeEvents\_AccountChangeEvent.

#### Note
- When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance slows down while Salesforce generates one for each record.
- Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EventChannel |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The name of a channel. For the standard channel, the name is ChangeEvents. For a custom channel, the name is in this format: MyChannel\_\_chn.
|
| FilterExpression |
Type
textarea
Properties
Nillable
Description
An expression that is used to filter the stream of events and deliver only the events that match specific criteria. The filter expression can contain one or more field-value expressions. The filter expression format is based on SOQL and supports a subset of SOQL operators and field types.
For example, this filter expression delivers only events that contain the City\_\_c field with a value of 'San Francisco'. City\_\_c = 'San Francisco'
For more information, see [Filter Your Stream of Platform Events with Channels](https://developer.salesforce.com/docs/atlas.en-us.264.0.platform_events.meta/platform_events/platform_events_filter_section.htm "HTML (New Window)") in the Platform Events Developer Guide and [Filter Your Stream of Change Events with Channels](https://developer.salesforce.com/docs/atlas.en-us.264.0.platform_events.meta/platform_events/cdc_filter_section.htm "HTML (New Window)") in the Change Data Capture Developer Guide. Available in API version 56.0 and later.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated PlatformEventChannelMember object in Metadata API. The full name is in the format ChannelName\_EventName and can include a namespace prefix.
Two consecutive underscores in full names designate either a component name suffix or a namespace prefix. In all other cases, two consecutive underscores aren’t supported in full names. If your channel member name contains a custom channel name to make it unique, be sure to replace the double underscores in the name with one underscore. For example, the member name would be MyChannel\_chn\_AccountChangeEvent and not MyChannel\_\_chn\_AccountChangeEvent.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The language of the MasterLabel.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
Platform event channel member metadata.
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 that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that aren’t Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| SelectedEntity |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The change event name of an entity selected for Change Data Capture notifications. For example, for the Account standard object, the name is AccountChangeEvent, or for a custom object MyObject\_\_c, the name is MyObject\_\_ChangeEvent.
|
## Usage
This JSON example is the body of a REST API POST request. It adds a member to a custom channel named SalesEvents\_\_chn. The corresponding REST endpoint is /services/data/v68.0/tooling/sobjects/PlatformEventChannelMember.
{
"FullName": "SalesEvents\_chn\_AccountChangeEvent",
"Metadata": {
"eventChannel": "SalesEvents\_\_chn",
"selectedEntity": "AccountChangeEvent"
}
}
To add a member to the ChangeEvents default channel, the request body looks as follows.
{
"FullName": "ChangeEvents\_AccountChangeEvent",
"Metadata": {
"eventChannel": "ChangeEvents",
"selectedEntity": "AccountChangeEvent"
}
}
You can query PlatformEventChannelMember in SOQL over Tooling API. For example, this query returns fields of all channel members on all channels.
SELECT Id,DeveloperName,EventChannel,SelectedEntity FROM PlatformEventChannelMember

#### Note
For custom channels, the EventChannel value that the query returns is the channel ID, which starts with the 0YL prefix.
You can configure a channel member to include extra fields in change events as part of Change Data Capture Enrichment. For more information, see [Example: Add Event Enrichment Fields with Tooling API](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_enrich_tooling_api.htm "HTML (New Window)") in the Change Data Capture Developer Guide.
#### See Also
- [_Change Data Capture Developer Guide_: Filter Your Stream of Change Events with Channels](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_filter_section.htm "Change Data Capture Developer Guide: Filter Your Stream of Change Events with Channels - HTML (New Window)")
- [_Platform Events Developer Guide_: Filter Your Stream of Platform Events with Channels](https://developer.salesforce.com/docs/atlas.en-us.264.0.platform_events.meta/platform_events/platform_events_filter_section.htm "Platform Events Developer Guide: Filter Your Stream of
Platform Events with Channels - HTML (New Window)")
- [_Change Data Capture Developer Guide_: Example Diagrams for Channels and Channel Members](https://developer.salesforce.com/docs/atlas.en-us.264.0.change_data_capture.meta/change_data_capture/cdc_channel_examples.htm "Change Data Capture Developer Guide: Example Diagrams for
Channels and Channel Members - HTML (New Window)")
- [_Platform Events Developer Guide_: Filter Your Stream of Platform Events with Channels (Beta)](https://developer.salesforce.com/docs/atlas.en-us.264.0.platform_events.meta/platform_events/platform_events_filter_section.htm "Platform Events Developer Guide: Filter Your Stream of
Platform Events with Channels (Beta) - HTML (New Window)")
- [PlatformEventChannel](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_platformeventchannel.htm "Represents a custom channel that you can subscribe to in order to receive a stream of change data capture events.")
# PlatformEventMigration
Represents configuration settings for performing a one-time migration of standard volume platform events to high volume platform events. This object is available in API version 67.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name for the PlatformEventMigration object.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance can slow down while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EventObject |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of a standard volume platform event that needs to be migrated to a high volume platform event. You can find the ID by executing this Tooling API SOQL query in the developer console: SELECT Id FROM CustomObject WHERE DeveloperName='YourStandardVolumePlatformEvent' The name to use as the DeveloperName of your SVPE is labeled Object Name in the UI.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for PlatformEventMigration.
|
## Usage
All standard volume platform events must be migrated to high volume platform events before Winter ‘27. This API provides a means for migration. Standard volume platform events that aren’t migrated won’t work starting in Winter ‘27.
Before starting a migration, ensure that all publish activity has stopped and all subscribers, including triggers and flows, are done processing, then perform a POST request to this endpoint.
/services/data/v67.0/tooling/sobjects/PlatformEventMigration
Provide the values in the request body. This example request starts migrating the standard volume platform event 01Ixx0000005aUJ to a high volume platform event.
{
"DeveloperName":"svpeConfig",
"MasterLabel":"svpeConfig",
"EventObject": "01Ixx0000005aUJ"
}
A successful POST request returns a response that includes an ID.
{
"id":"1hXxx00000000mPEAQ",
"Success":true,
"Errors":\[\],
"Warnings":\[\],
"infos":\[\]
}
To check the status of your migration, use the ID in a GET request to this endpoint.
/services/data/v67.0/tooling/sobjects/PlatformEventMigration
All these requests use the endpoint with the PlatformEventMigration record ID appended.
- Get the status of a specific migration with a GET request.
- Delete a specific migration with a DELETE request. Deleting a migration may not work because the migration could finish processing before the DELETE request is received. Because migration is a one-way door, it can’t be undone after it’s already happened.
- Update a specific migration with a PATCH request. For this request, include the PlatformEventMigration definition in the request body.
Once a migration has started, publishes won’t work and you’ll be unable to create new triggers or flows until the migration finishes. A migration usually takes 10–15 minutes, but can last as long as 24 hours in some cases. You will receive an email when the migration is complete.
Also, you can query and retrieve the configurations in your org with SOQL. If querying from the Developer Console Query Editor, ensure that you select Use Tooling API. This example query retrieves all configurations set up in your Salesforce org.
SELECT Id, DeveloperName, MasterLabel, EventObject, MigrationStatus, StartDate, EndDate, HighVolumePosition FROM PlatformEventMigration
# PlatformEventSubscriberConfig
Represents configuration settings for a platform event Apex trigger, including the batch size and the trigger’s running user. This object is available in API version 51.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| BatchSize |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A custom batch size, from 1 through 2,000, for the platform event Apex trigger. The batch size corresponds to the maximum number of event messages that can be sent to a trigger in one execution. The default batch size is 2,000 for platform event triggers.
We don't recommend setting the batch size to 1 to process one event at a time. Small batch sizes can slow down the processing of event messages.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name for the PlatformEventSubscriberConfig object.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance can slow down while Salesforce generates one for each record.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of PlatformEventSubscriberConfig.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Label for PlatformEventSubscriberConfig. In the UI, this field is Platform Event Subscriber Configuration.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that aren’t Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
| NumPartitions |
Type
int
Properties
Create, Defaulted on create, Filter, Group, Nillable, Sort, Update
Description
Specifies the number of parallel subscriptions, or partitions, that are created internally for an Apex trigger. Use this field to set up parallel subscriptions for the platform event Apex trigger. It can be a number from 1 through 10. See [Platform Event Processing at Scale with Parallel Subscriptions for Apex Triggers](https://developer.salesforce.com/docs/atlas.en-us.264.0.platform_events.meta/platform_events/platform_events_ps.htm) in the Platform Events Developer Guide.
The default value is 1. This field is available in API version 62.0 and later.
|
| PartitionKey |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Can be the standard EventUuid field name, or the name of a required custom field of the custom platform event that the Apex trigger subscribes to. For the standard EventUuid field, the partition key format is the field name without the event name: EventUuid. For a custom field, the partition key includes the event name as a prefix in this format: EventName\_\_e.FieldName\_\_c. Based on the field’s generated hash value, the system determines which partition to send the event to. Use this field to specify the platform event field that is used as a partition key for parallel subscriptions. See [Platform Event Processing at Scale with Parallel Subscriptions for Apex Triggers](https://developer.salesforce.com/docs/atlas.en-us.264.0.platform_events.meta/platform_events/platform_events_ps.htm) in the Platform Events Developer Guide.
The default value is EventUuid. This field is available in API version 62.0 and later.
|
| PlatformEventConsumerId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the platform event Apex trigger to configure. This field is unique within your Salesforce org.
To get the Apex trigger ID, perform a query in Tooling API after replacing the placeholder name with the trigger name. SELECT Id FROM ApexTrigger WHERE Name=''. You can run the Tooling API query in the Developer Console’s Query Editor. For more information, see [Developer Console](https://help.salesforce.com/s/articleView?id=platform.code_dev_console.htm&type=5&language=en_US) in Salesforce Help.
|
| UserId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the user that the platform event Apex trigger runs as. By default, the platform event trigger runs as the Automated Process entity. Setting the running user to a specific user has these benefits:
- Records are created or modified as this user.
- Records with OwnerId fields have their OwnerId fields populated to this user when created or modified.
- Debug logs for the trigger execution are created by this user.
- You can send email from the trigger, which isn’t supported with the default Automated Process user.
|
## Usage
To add a configuration, perform a POST request to this endpoint.
/services/data/v68.0/tooling/sobjects/PlatformEventSubscriberConfig
Provide the values in the request body. This example request configures an existing trigger with the batch size of 200 and specifies the ID of a running user.
{
"BatchSize": "200",
"DeveloperName":"OrderEventTriggerConfig",
"MasterLabel":"OrderEventTriggerConfig",
"PlatformEventConsumerId": "01qRM0000004PEhYAM",
"UserId": "005RM00000231cZYAQ"
}
To get or manipulate a configuration, use this endpoint with the ID of your PlatformEventSubscriberConfig record appended.
/services/data/v68.0/tooling/sobjects/PlatformEventSubscriberConfig/
All these requests use the endpoint with the PlatformEventSubscriberConfig record ID appended.
- Get a specific configuration with a GET request.
- Delete a specific configuration with a DELETE request.
- Update a specific configuration with a PATCH request. For this request, include the PlatformEventSubscriberConfig definition in the request body.
Also, you can query retrieve the configurations in your org with SOQL. If querying from the Developer Console Query Editor, ensure you select **Use Tooling API**. This example query retrieves all configurations set up in your Salesforce org.
SELECT Id,DeveloperName,BatchSize,PlatformEventConsumerId,UserId FROM PlatformEventSubscriberConfig
# PostTemplate
Represents an approval post template for Approvals in Chatter.
This object is available in API version 35.0 and later.
## Supported SOAP Calls
query(), retrieve(), search(), update()
## Supported REST HTTP Methods
GET, PATCH
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A description of the feed post template, limited to 255 characters.
|
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort
Description
A relationship lookup to the object type associated with this PostTemplate. You can’t interact directly with this field. Instead, use it in queries.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The durable ID for the object defined in the EntityDefinition field.
|
| Name |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The template name.
|
# PresenceDeclineReason
Represents the reason an agent can select when declining an Omni-Channel work request. This object is available in API version 65.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available only if Omni-Channel is enabled in your org.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the presence decline reason.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label of the presence decline reason.
|
# PresenceUserConfig
Represents a configuration that determines a presence user’s settings. This object is available in API version 65.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available only if Omni-Channel is enabled in your org.
## Fields
| Field | Details |
| --- | --- |
| AcwExtensionDuration |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum length of time, measured in seconds, an agent can spend on After Conversation Work (ACW) each time they extend the timer. You must set this field if HasAcwExtensionEnabled is set to true. Specify a value from 10 through 3600.
|
| AfterConvoWorkMaxTime |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum length of time, measured in seconds, an agent has to complete ACW. You must set this field if HasAfterConvoWorkTimer is set to true. Specify a value from 10 through 3600.
|
| Capacity |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The maximum number of work units an agent can be assigned at one time.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API.
|
| HasAcwExtensionEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether agents can extend their ACW time (true) or not (false). Available only if HasAfterConvoWorkTimer is set to true. If this field is set to true, you must also set the AcwExtensionDuration and MaxExtensions fields.
The default value is false.
|
| HasAfterConvoWorkTimer |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether ACW time can be configured for the agent (true) or not (false). If set to true, you must also set the AfterConvoWorkMaxTime field to true.
The default value is false.
|
| InterruptibleCapacity |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum number of work units using interruptible capacity that can be assigned to an agent at a time. If the value in this field is empty it defaults to the value set in the Capacity field. This field is available only when the [Interruptible Capacity](https://help.salesforce.com/s/articleView?id=service.omnichannel_interruptible_capacity.htm&type=5&language=en_US) feature is enabled.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the presence configuration.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label of the presence configuration.
|
| MaxExtensions |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Maximum number of times an agent can extend their ACW time. Specify a value from 1 through 10. You must set this field if HasAcwExtensionEnabled is set to true.
|
# ProcessFlowMigration
Represents a process's migrated criteria and the resulting migrated flow. This object is available in API version 58.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API Methods
GET, HEAD, Query
## Fields
| Field | Details |
| --- | --- |
| DestinationFlowDefinitionId |
Type
reference
Properties
Filter, Group, Sort
Description
The ID of the resulting migrated flow.
This field is a relationship field.
Relationship Name
DestinationFlowDefinition
Relationship Type
Lookup
Refers To
FlowDefinition
|
| DestinationFlowVersionId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The version ID of the migrated flow.
This field is a relationship field.
Relationship Name
DestinationFlowVersion
Relationship Type
Lookup
Refers To
Flow
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| Language |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Lanaguage of the MasterLabel.
Possible values are:
- af—Afrikaans
- am—Amharic
- ar—Arabic
- ar\_AE—Arabic (United Arab Emirates)
- ar\_BH—Arabic (Bahrain)
- ar\_DZ—Arabic (Algeria)
- ar\_EG—Arabic (Egypt)
- ar\_IQ—Arabic (Iraq)
- ar\_JO—Arabic (Jordan)
- ar\_KW—Arabic (Kuwait)
- ar\_LB—Arabic (Lebanon)
- ar\_LY—Arabic (Libya)
- ar\_MA—Arabic (Morocco)
- ar\_OM—Arabic (Oman)
- ar\_QA—Arabic (Qatar)
- ar\_SA—Arabic (Saudi Arabia)
- ar\_SD—Arabic (Sudan)
- ar\_SY—Arabic (Syria)
- ar\_TN—Arabic (Tunisia)
- ar\_YE—Arabic (Yemen)
- bg—Bulgarian
- bn—Bengali
- bs—Bosnian
- ca—Catalan
- cs—Czech
- cy—Welsh
- da—Danish
- de—German
- de\_AT—German (Austria)
- de\_BE—German (Belgium)
- de\_CH—German (Switzerland)
- de\_LU—German (Luxembourg)
- el—Greek
- el\_CY—Greek (Cyprus)
- en\_AE—English (United Arab Emirates)
- en\_AU—English (Australian)
- en\_BE—English (Belgium)
- en\_CA—English (Canadian)
- en\_CY—English (Cyprus)
- en\_DE—English (Germany)
- en\_GB—English (UK)
- en\_HK—English (Hong Kong)
- en\_IE—English (Ireland)
- en\_IL—English (Israel)
- en\_IN—English (Indian)
- en\_MT—English (Malta)
- en\_MY—English (Malaysian)
- en\_NL—English (Netherlands)
- en\_NZ—English (New Zealand)
- en\_PH—English (Phillipines)
- en\_SG—English (Singapore)
- en\_US—English
- en\_ZA—English (South Africa)
- es—Spanish
- es\_AR—Spanish (Argentina)
- es\_BO—Spanish (Bolivia)
- es\_CL—Spanish (Chile)
- es\_CO—Spanish (Colombia)
- es\_CR—Spanish (Costa Rica)
- es\_DO—Spanish (Dominican Republic)
- es\_EC—Spanish (Ecuador)
- es\_GT—Spanish (Guatemala)
- es\_HN—Spanish (Honduras)
- es\_MX—Spanish (Mexico)
- es\_NI—Spanish (Nicaragua)
- es\_PA—Spanish (Panama)
- es\_PE—Spanish (Peru)
- es\_PR—Spanish (Puerto Rico)
- es\_PY—Spanish (Paraguay)
- es\_SV—Spanish (El Salvador)
- es\_US—Spanish (United States)
- es\_UY—Spanish (Uruguay)
- es\_VE—Spanish (Venezuela)
- et—Estonian
- eu—Basque
- fa—Farsi
- fi—Finnish
- fr—French
- fr\_BE—French (Belgium)
- fr\_CA—French (Canadian)
- fr\_CH—French (Switzerland)
- fr\_LU—French (Luxembourg)
- fr\_MA—French (Morocco)
- ga—Irish
- gu—Gujarati
- haw—Hawaiian
- hi—Hindi
- hmn—Hmong
- hr—Croatian
- ht—Haitian Creole
- hu—Hungarian
- hy—Armenian
- in—Indonesian
- is—Icelandic
- it—Italian
- it\_CH—Italian (Switzerland)
- iw—Hebrew
- ja—Japanese
- ji—Yiddish
- ka—Georgian
- kk—Kazakh
- kl—Greenlandic
- km—Khmer
- kn—Kannada
- ko—Korean
- lb—Luxembourgish
- lt—Lithuanian
- lv—Latvian
- mi—Te reo
- mk—Macedonian
- ml—Malayalam
- mr—Marathi
- ms—Malay
- mt—Maltese
- my—Burmese
- nl\_BE—Dutch (Belgium)
- nl\_NL—Dutch
- no—Norwegian
- pa—Punjabi
- pl—Polish
- pt\_BR—Portuguese (Brazil)
- pt\_PT—Portuguese (European)
- rm—Romansh
- ro—Romanian
- ro\_MD—Romanian (Moldova)
- ru—Russian
- ru\_AM—Russian (Armenia)
- ru\_BY—Russian (Belarus)
- ru\_KG—Russian (Kyrgyzstan)
- ru\_KZ—Russian (Kazakhstan)
- ru\_LT—Russian (Lithuania)
- ru\_MD—Russian (Moldova)
- ru\_PL—Russian (Poland)
- ru\_UA—Russian (Ukraine)
- sh—Serbian (Latin)
- sh\_ME—Montenegrin
- sk—Slovak
- sl—Slovene
- sm—Samoan
- sq—Albanian
- sr—Serbian (Cyrillic)
- sv—Swedish
- sw—Swahili
- ta—Tamil
- te—Telugu
- th—Thai
- tl—Tagalog
- tr—Turkish
- uk—Ukrainian
- ur—Urdu
- vi—Vietnamese
- xh—Xhosa
- zh\_CN—Chinese (Simplified)
- zh\_HK—Chinese (Hong Kong)
- zh\_MY—Chinese (Malaysia)
- zh\_SG—Chinese (Singapore)
- zh\_TW—Chinese (Traditional)
- zu—Zulu
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package.
Possible values are:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The label for the ProcessFlowMigration.
|
| MigratedCriteriaLabel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The label of the criteria that was migrated.
|
| MigratedCriteriaName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the criteria that was migrated.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package containing the process flow migration object.
|
| ProcessVersionId |
Type
reference
Properties
Filter, Group, Sort
Description
The version ID of the originating process.
This field is a relationship field.
Relationship Name
ProcessVersion
Relationship Type
Lookup
Refers To
Flow
|
# ProductAttributeSet
Used to group variation attributes that apply to one or more products. This object is available in API version 55.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
B2B Commerce or D2C Commerce must be enabled.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
A meaningful description of the product attribute set. Limited to 255 characters.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.
Note: When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated ProductAttributeSet in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the product attribute set.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the product attribute set.
|
| Metadata |
Type
[mns:ProductAttributeSet](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_productattributeset.htm)
Properties
Create, Nillable, Update
Description
The ProductAttributeSet's metadata.
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.
|
# Profile
Represents a user profile. A profile defines a user’s permission to perform different functions within Salesforce. This type extends the Metadata metadata type and inherits its fullName field.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
getDeleted(), getUpdated(), query(), retrieve(), search()
## Supported REST HTTP Methods
GET, HEAD
## Special Access Rules
As of Summer ’20 and later, Customer Portal and Partner Portal users _cannot_ access this object.
To view the following settings, assignments, and permissions for standard and custom objects in a specified profile, the View Setup and Configuration permission is required.
- Client settings
- Field permissions
- Layout assignments
- Object permissions
- Permission dependencies
- Permission set tab settings
- Permission set group components
- Record types
As of API version 50.0 and later, only users with correct permissions can view profile names other than their own if the Profile Filtering setting is enabled.

#### Important
Profile names are also exposed when users with permissions to perform the following tasks take these actions:
- Create a tab or record type with a wizard step that includes the assignment of tabs and record types to profiles.
- Configure a login flow where viewing profile lists is required to make flow associations.
- Set up delegated admins where looking up profiles is needed to identify assignable profiles.
- Administer an org as a delegated customer admin.
- Administer an org as a delegated admin to view and assign profiles of the delegated group.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The profile description, limited to 255 characters.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The unique profile name. Use this name when creating the profile, before you have an ID. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| Metadata |
Type
ProfileMetadata
Properties
Create, Nillable, Update
Description
The profile metadata.
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.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The profile name.
|
| TimeSheetTemplateAssignments |
Type
tns:QueryResult
Properties
Nillable
Description
The time sheet template that you assign to a particular profile. Because this field represents a relationship, use it only in subqueries. This field is available in Tooling API version 46.0 and later.
|
# ProfileLayout
Represents a profile layout.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
GET
## Special Access Rules
As of Summer ’20 and later, only users with the View Setup and Configuration permission can access this object.
## Fields
| Field | Details |
| --- | --- |
| LayoutId |
Type
ID
Properties
Filter, Group, Sort
Description
The unique identifier for this layout.
|
| ProfileId |
Type
ID
Properties
Filter, Group, Sort
Description
The unique identifier for this profile.
|
| RecordTypeId |
Type
ID
Properties
Filter, Group, Sort
Description
The unique identifier for the record.
|
| TableEnumOrId |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
The enum (for example, Account) or ID of the object this field is on.
|
# Programming Objects
Use programming objects to interact with programmatic artifacts: Apex, Visualforce, and Lightning.
- **[ApexClass](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclass.htm)**: Represents the saved copy of an Apex class. ApexClass uses the cached version of the class unless one is unavailable.
- **[ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm)**: Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer.
- **[ApexComponent](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponent.htm)**: Represents the saved copy of a Visualforce component. ApexComponent uses the cached version of the class unless one is unavailable.
- **[ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm)**: Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.
- **[ApexPage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpage.htm)**: Represents the saved copy of a Visualforce page. ApexPage uses the cached version of the page unless one is unavailable.
- **ApexExecutionOverlayAction**: Specifies an Apex code snippet or SOQL query to execute at a specific line of code in an Apex class or trigger. Optionally, generates a heap dump.
- **[ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm)**: Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer.
- **[ApexTrigger](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextrigger.htm)**: Represents the saved copy of an Apex trigger. ApexTrigger uses the cached version of the class unless one is unavailable.
- **[ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm)**: Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer.
- **[AuraDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_auradefinition.htm)**: Represents an Aura component definition, such as component markup, a client-side controller, or an event.
- **[AuraDefinitionBundle](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_auradefinitionbundle.htm)**: Represents a Lightning Aura component definition bundle, such as a component or application bundle. A bundle contains a Lightning Aura component definition and all its related resources.
- **[LightningComponentBundle](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_lightningcomponentbundle.htm)**: Represents a Lightning web component bundle. A bundle contains a Lightning web component and its related resources.
- **[LightningComponentResource](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_lightningcomponentresource.htm)**: Represents a Lightning web component resource, such as HTML markup, JavaScript code, a CSS file, an SVG resource, or an XML configuration file.
- **[StaticResource](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_staticresource.htm)**: Represents the working copy of a static resource file for editing or saving. Static resources allow you to upload content that you can reference in a Visualforce page, including images, stylesheets, JavaScript, and other files.
# Publisher
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.
## Supported SOAP Calls
query()
## 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.")
## Special Access Rules
As of Spring ’20 and later, only authenticated internal and external users can access this object.
## Fields
| Field | Details |
| --- | --- |
| 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. To simplify queries, use this field.
|
| IsSalesforce |
Type
boolean
Properties
Filter, Group, Nillable, Sort
Description
Indicates whether Salesforce provided the associated objects or fields (true).
|
| MajorVersion |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The first number in a package version number. A complete version number combines the values of the MajorVersion and MinorVersion fields into either an x.y format or an x.y.z format. The x represents the major version, y the minor version, and z the patch version. (The patch version can’t be specified; it’s automatically assigned when a managed beta package is uploaded.)
|
| MinorVersion |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The second number in a package version number. A complete version number combines the values of the MajorVersion and MinorVersion fields into either an x.y format or an x.y.z format. The x represents the major version, y the minor version, and z the patch version. (The patch version can’t be specified; it’s automatically assigned when a managed beta package is uploaded.)
If MinorVersion isn’t specified, the default value is 1 more than the minor version of the currently released package (0 if not released).
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The presentation-friendly name of the publisher.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that are not Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
NamespacePrefix is null if the publisher is Salesforce.
|

#### Note
Publisher fields are exposed in SOAP API version 46.0 and later. You can use Tooling API to query for Publisher fields in guest user mode in API version 45.0 and earlier. In API version 46.0 and later, use SOAP API to get this data in guest user mode. Publisher is still exposed in Tooling API to User Profiles with the ViewSetup permission.
# QueryResult
Represents the results of a query. For example, if you query on the object EntityDefinition, all the layouts for that entity are returned as an array of QueryResult objects in the Layouts field. Available in Tooling API version 34.0 and later.
QueryResult is not an extension of sObject.
## Fields
| Field | Details |
| --- | --- |
| done |
Type
boolean
Description
If true, no additional rows can be retrieved from the query result. If false, one or more rows remain to be retrieved. Use this value as a loop condition while iterating through query results.
|
| entityTypeName |
Type
string
Description
The object or entity type, such as ApexClass or CompactLayoutInfo.
|
| nextRecordsUrl |
Type
string
Description
If the results exceed the current batch size, this field contains the URL of the next record in the query result set. This field is populated for the REST resource queryAll, and is analogous to queryLocator for SOAP calls.
|
| queryLocator |
Type
QueryLocator
Description
If the results exceed the current batch size, this field contains a unique identifier used to retrieve the next batch of records. This field is populated for SOAP queryMore() and is analogous to the REST resource queryAll.
Each new batch returns a new queryLocator value.
|
| records |
Type
sObject
Description
Array of sObjects matching the data specified in the query.
|
| size |
Type
int
Description
Total number of rows returned. If no rows were returned, the value is (0). This field is the same as the size field in QueryResult in the Enterprise and Partner WSDLs.
|
| totalSize |
Type
int
Description
Total number of rows returned. Indicates whether the query retrieved any rows (any value greater than 0) or not (0). This field is the same as the totalSize field in QueryResult using the REST resource query or queryAll.
|
## QueryLocator Metadata
| Field | Details |
| --- | --- |
| queryLocator |
Type
string
Description
If the results exceed the current batch size, this field contains an identifier. Use with the SOAP queryMore() call to retrieve the next batch of records. Each new batch returns a new queryLocator value.
|
# QueueRoutingConfig
Represents configuration settings that determine how work items are routed to agents. This object is available in API version 65.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available only if Omni-Channel is enabled in your org.
## Fields
| Field | Details |
| --- | --- |
| CapacityPercentage |
Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The percentage of an agent’s capacity for work items that’s consumed by a specific type of work item from the service channel. For example, capacity percentage for phone call is 100. If the configured limit is reached, the call isn't routed to the agent.
|
| CapacityWeight |
Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The amount of an agent’s capacity for work items that’s consumed by a work item from the service channel. For example, if an agent has a capacity of 6, and cases are assigned a capacity weight of 2, an agent can be assigned up to 3 cases before the agent is at capacity and can’t receive new work items.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API.
|
| DropAdditionalSkillsTimeout |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The number of seconds to wait before additional skills are dropped from Omni-Channel routing. In skills-based routing, you can set some skills to **Additional Skill**. After the timeout elapses, a skill marked as **Additional Skill** is dropped from Omni-Channel routing and the case is routed to the best-matched agent, even if the agent doesn’t have all the skills.
If CustomRequestedDateTime is set in the [PendingServiceRouting object](https://developer.salesforce.com/docs/atlas.en-us.258.0.object_reference.meta/object_reference/sforce_api_objects_pendingservicerouting.htm), DropAdditionalSkillsTimeout uses CustomRequestedDateTime as the start time. If CustomRequestedDateTime and DropAdditionalSkillsTimeout have already passed, Omni-Channel drops the additional skills.
|
| IsAttributeBased |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the routing configuration is used with skills-based routing rules (true) or not (false).
The default value is false.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the queue routing configuration.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label of the queue routing configuration.
|
| PausedCapacityPercentage |
Type
percent
Properties
Create, Filter, Nillable, Sort, Update
Description
The percentage of an agent's capacity that’s consumed when a work item is paused. This field is available only with status-based capacity and Enhanced Omni-Channel.
|
| PausedCapacityWeight |
Type
double
Properties
Create, Filter, Nillable, Sort, Update
Description
The amount of an agent's capacity that’s consumed when a work item is paused. This field is available only with status-based capacity and Enhanced Omni-Channel.
|
| PushTimeout |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The time limit set for an agent to respond to an item before it’s pushed to another agent. The time limit is measured in seconds.
|
| RoutingModel |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The routing type that determines how work items are routed to agents.
Possible values are:
- ExternalRouting: integrates third-party routing with Omni-Channel to provide more routing options.
- LeastActive: routes work items to the agent whose work is comsuming the smallest amount of capacity.
- MostAvailable: routes work items to the agent who has the greatest amount of available capacity.
|
| RoutingPriority |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The priority in which work items from the service channels are routed to agents. Work items that have lower values (for example, 0) are routed to agents first.
|
# QuickActionDefinition
Represents the definition of a quick action.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| ActionSubtype |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- The subtype of the action. Valid values are:
-
Action—This value is available only
for actions of type LightningWebComponent.
-
Create—This value is available only
for actions of type Flexipage. (This
value is available as a Beta in API version 68.0 and later)
-
ScreenAction—This value is
available only for actions of type LightningWebComponent.
-
Update—This value is available only
for actions of type Flexipage. (This
value is available as a Beta in API version 68.0 and later)
This field is available in API version 50.0 and later.
- This field is available only for Lightning web component quick actions.
|
| Description |
- Type
- textarea
- Properties
- Filter, Group, Nillable, Sort
- Description
- The description of the action.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The unique name of the action in the API. This field corresponds to the
Name field in the user interface.
- Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
|
| EntityDefinitionId |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The ID of the object associated with the quick action.
- Relationship Name
- EntityDefinition
- Relationship Type
- Lookup
- Refers To
- EntityDefinition
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the associated metadata object in Metadata API.
- 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.
|
| Height |
- Type
- int
- Properties
- Filter, Group, Nillable, Sort
- Description
- The height of the action, in pixels. This field is set only when the quick
action has a custom icon.
|
| IconId |
- Type
- reference
- Properties
- Filter, Group, Nillable, Sort
- Description
- The ID of the action icon. This field is set only when the quick action has
a custom icon.
- Relationship Name
- Icon
- Relationship Type
- Lookup
- Refers To
- StaticResource
|
| Label |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The action label that corresponds to the Label field
in the user interface.
|
| Language |
- Type
- picklist
- Properties
- Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
- Description
- The language of the action. Valid values are:
- Chinese (Simplified): zh_CN
- Chinese (Traditional): zh_TW
- Danish: da
- Dutch: nl_NL
- English: en_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es_MX Spanish
(Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user
interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The action label.
|
| Metadata |
- Type
- QuickAction
- Properties
- Create, Nillable, Update
- Description
- The metadata for the quick action.
- 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 of the action.
|
| OptionsCreateFeedItem |
- Type
- boolean
- Properties
- Filter,
- Description
- Indicates whether successful completion of the action creates a feed item
(true) or not (false). Applies only to Create Record, Update Record, and Log a
Call quick action types. Available in API version 36.0 and later.
|
| SobjectType |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- The associated object’s API name. For example, FeedItem.
|
| StandardLabel |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- The standard label for the action. Valid values are:
- AddRecord
- AddMember
- ChangeDueDate
- ChangePriority
- ChangeStatus
- CreateNew
-
CreateNewRecordType
(For example, a label with something like “Create New
Idea”)
- Defer
- EditDescription
-
EnrollInProgram
(Available in API versions 46.0 and later only if the org
has Health Cloud enabled)
- Escalate
- EscalateToRecord
-
Forward (Available in
API version 42.0 and later)
- LogACall
- LogANote
-
ModifyAppointment
(Available in API version 47.0 and later)
-
New (A new record)
-
NewChild (A new child
record)
- NewChildRecordType
-
NewRecordType (For
example, a label with something like “New
Idea”)
- OfferFeedback
-
PatientDetails
(Available in API version 57.0 and later if the org has
Health Cloud enabled)
-
PerformCount (Available
in API version 63.0 and later.)
-
Quick (A quick
record)
- QuickRecordType
-
RelocateAsset
(Available in API version 63.0 and later)
-
ReplaceAsset (Available
in API version 63.0 and later)
-
Reply (Available in API
version 42.0 and later)
-
ReplyAll (Available in
API version 42.0 and later)
- RequestFeedback
-
SendEmail (This value
is available in API version 31.0 and later.)
- Update
|
| SuccessMessage |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The message that displays to the user upon successful completion of the
action. Available in API version 36.0 and later.
|
| TargetField |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- The API name of the parent object for the record created by this quick
action. For example, CollaborationGroup.
|
| TargetRecordTypeId |
- Type
- reference
- Properties
- Filter, Group, Nillable, Sort
- Description
- The ID of the target record type.
- Relationship Name
- TargetRecordType
- Relationship Type
- Lookup
- Refers To
- RecordType
|
| TargetSobjectType |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- The API name of the type of object record this action creates. For example,
OpportunityLineItem.
|
| Type |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- The type of action. Valid values are:
- Canvas
- Create
-
Flexipage (This value is available
as a Beta in API version 68.0 and later)
-
Flow (This value is available as a
Beta in API version 41.0 and later.)
-
LightningComponent (This value is
available in API version 38.0 and later.)
- LightningWebComponent
- LogACall
- Post
- SendEmail
- SocialPost
- Update
- VisualforcePage
|
| Width |
- Type
- int
- Properties
- Filter, Group, Nillable, Sort
- Description
- The width of the action, in pixels. This field is set only when the quick
action has a custom icon.
|
## Usage
A QuickActionDefinition represents information about a quick action. The following example creates a global quick action that lets users quickly create a task.
QuickActionDefinition qad = new QuickActionDefinition();
qad.setDeveloperName("MyQuickCreateTaskAction");
qad.setSobjectType("Global");
qad.setTargetSobjectType("Task");
qad.setMasterLabel("Quick create a task");
qad.setType(QuickActionType.Create);
qad.setDescription("Quickly creates a Task");
sforce.create(new SObject\[\]{qad});
# QuickActionList
Represents a list of quick actions.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| LayoutId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the associated layout.
|
## Usage
A QuickActionList is a junction between QuickActionListItem objects and a layout. If a layout doesn’t have an associated QuickActionList, it inherits the actions from the global page layout.
The following example retrieves all quick action lists in an organization and their associated layout ID.
String query = "SELECT Id,LayoutId FROM QuickActionList";
SObject\[\] records = sforce.query(query).getRecords();
for (int i = 0; i < records.length; i++) {
QuickActionList list = (QuickActionList)records\[i\];
String relatedLayoutId = list.get("LayoutId");
}
# QuickActionListItem
Represents an item in a quick action list.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| QuickActionDefinition |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The enum name or ID of the QuickActionDefinition that’s associated with this list item. Valid values are:
- Case.ChangeStatus
- Case.LogACall
- FeedItem.ContentPost
- FeedItem.LinkPost
- FeedItem.MobileSmartActions
- FeedItem.PollPost
- FeedItem.QuestionPost
- FeedItem.TextPost
|
| QuickActionListId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the QuickActionList associated with this list item.
|
| SortOrder |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The order in which this list item appears in the picklist. This field must be an ordinal number greater than 0, and must be unique in the list.
|
## Usage
A QuickActionListItem associates a QuickActionDefinition with a QuickActionList. You can query to find out which quick actions are in a list, insert or delete to add or remove quick actions from a list, and update to change the order of quick actions in the list.
The following example reverses the order in the list of the actions, and then removes the first action from the list.
String query = "SELECT Id,SortOrder FROM QuickActionListItem Where QuickActionListId='" + listId + "'"
SObject\[\] records = sforce.query(query).getRecords();
for(int i=0;i
# RecentlyViewed
Represents metadata entities typically found in Setup such as page layout definitions, workflow rule definitions, and email templates that the current user has recently viewed.
This object is available in the Tooling API version 33.0 and later.
## Supported SOAP Calls
query(), update(),
## Supported REST HTTP Methods
GET
## Special Usage Rules
The RecentlyViewed object supports the following metadata entities:
- Apex classes
- Apex triggers
- Approval processes
- Apps
- Custom report types
- Email templates
- Fields
- Objects
- Page layouts
- Permission sets
- Profiles
- Static resources
- Tabs
- Users
- Validation rules
- Visualforce pages
- Visualforce components
- Workflow email alerts
- Workflow field updates
- Workflow outbound messages
- Workflow rules
- Workflow tasks
## Fields
| Field | Details |
| --- | --- |
| Alias |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The alias on the item.
|
| Email |
Type
email
Properties
Filter, Group, Nillable, Sort
Description
The email address on the item.
|
| FirstName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The first name on the item.
|
| Id |
Type
ID
Properties
Defaulted on create, Filter, Group, Sort
Description
The ID of the recently viewed item.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the recently viewed item is an active user (true) or not (false). This field contains a value only if the recently viewed item is a user.
|
| LastName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The last name on the item.
|
| LastReferencedDate |
Type
dateTime
Properties
Filter, Nillable, Sort, Update
Description
The timestamp for when the current user last viewed an item related to this item.
|
| LastViewedDate |
Type
dateTimedateTime
Properties
Filter, Nillable, Sort, Update
Description
The timestamp for when the current user last viewed this item. If this value is null, this item might only have been referenced (see LastReferencedDate) and not viewed.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If the recently viewed item is a user, this is the user’s name. Specifically, it’s the concatenation of the FirstName and LastName field values.
|
| NetworkId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the Experience Cloud site that this recently viewed item is part of. This field is available only if digital experiences is enabled in your org.
|
| Phone |
Type
phone
Properties
Filter, Group, Nillable, Sort
Description
The phone number on the item.
|
| ProfileId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
If the recently viewed item is a user, this is the user’s profile ID.
|
| RelatedObject |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The object that the recently viewed item is related to. For example, if the recently viewed item is an Account Custom Field, then the related object will be Account. Not all recently viewed items will have a related object.
|
| Title |
Type
string
Properties
FilterGrouplable, Sort
Description
If the recently viewed item is a user, this is the user’s title. For example, CFO or CEO.
|
| Type |
Type
picklist
Properties
Filter Group NillableRestricted picklist Sort
Description
The sObject type for this recently viewed item.
|
| UserRoleId |
Type
reference
Properties
FilterGroupNillableSort
Description
The ID of the user role associated with this object.
|
## Usage
This object provides a heterogeneous list of different metadata types and consists of recently viewed records. A record is considered viewed when the user sees the details associated with it, but not when the user sees it in a list with other records. Use this object to programmatically construct a list of recently viewed items specific to the current user, for example, on a custom user interface or for search auto-complete options. You can also retrieve a filtered list of records by object type (Type). The RecentlyViewed data is periodically truncated down to 200 records per object. RecentlyViewed data is retained for 90 days, after which it is removed on a periodic basis.
Use this query in your code to retrieve a list of all the records that were recently viewed. The results are ordered from most to least recent.
SELECT Id, Name
FROM RecentlyViewed
WHERE LastViewedDate !=null
ORDER BY LastViewedDate DESC
Use this query to retrieve data that was either viewed or referenced, but only for a limited set of objects.
SELECT Id, Name
FROM RecentlyViewed
WHERE Type IN ('CustomEntityDefinition', 'CustomFieldDefinition')
ORDER BY LastViewedDate DESC
# RecommendationStrategy
Represents a recommendation strategy. Recommendation strategies are applications, similar to data flows, that determine a set of recommendations to be delivered to the client through data retrieval, branching, filtering, and logic operations. Available in API 45.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
DELETE, GET, HEAD, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| ContextRecordType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The sObject type of the $Record used by the flow.
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Description of the recommendation strategy.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the recommendation strategy in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**.
|
| Fullname |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata type in Metadata API. 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.
|
| IsTemplate |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the recommendation strategy is a template (true) or not (false). When installed from managed packages, recommendation strategies can’t be viewed or cloned by subscribers because of intellectual property (IP) protection. But when those recommendation strategies are templates, subscribers can open them in a builder, clone them, and customize the clones. The default value is false. Available in API version 47.0 and later.
|
| Label |
Type
string
Properties
Filter, Group, Sort
Description
Required. Label for the recommendation strategy.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the recommendation strategy.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Master label for the recommendation strategy. This display value is the internal label that is not translated. Limit: 40 characters.
|
| Metadata |
Type
[mns: RecommendationStrategy](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recommendationstrategy.htm "HTML (New Window)")
Properties
Create, Nillable, Update
Description
The recommendation strategy’s metadata.
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. If the recommendation strategy is part of a managed package, this field will be Null. Metadata isn’t returned for recommendation strategies in managed packages, unless the recommendation strategies are templates.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| OnBehalfOfExpression |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Formula expression defining the intended target of the recommendations (for example, the Contact associated with a Case). Mainly used for reaction tracking.
|
# RecordActionDeployment
Represents configuration settings for the Actions & Recommendations, Action Launcher, and Bulk Action Panel components. RecordActionDeployment is available in API version 45.0 and later.
## Supported SOAP Calls
create(), delete(), describeLayout(), describeSObject(), query(), retrieve(), update()upsert()
## Supported REST HTTP Methods
GET, HEAD, PATCH, POST, DELETE
## Fields
| Field | Details |
| --- | --- |
| ChannelConfigurations |
Type
mns:[RecordActionDeploymentChannel](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recordactiondeployment.htm#recordactiondeployment/recordActionDeploymentChannel "HTML (New Window)")
Properties
Not applicable.
Description
Channel default settings for the deployment. This field is visible only in the metadata for a record.
|
| ComponentName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies the name of the component used in the deployment.
Possible values are:
- ActionsAndRecommendations—0
- ActionLauncher—1
- BulkActionPanel—2. This value is available in API version 60.0 and later.
For example, a value of 1 indicates that 1 is stored in the database if Action Launcher is used to create a deployment. Available in API version 56.0 and later. Available in API version 56.0 and later.
|
| DeploymentContexts |
Type
mns:[RecordActionDeploymentContext](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recordactiondeployment.htm#recordactiondeployment/recordActionDeploymentContext "HTML (New Window)")
Properties
Not applicable.
Description
Object context for the deployment. This field is visible only in the metadata for a record. Available in API version 46.0 and later.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
A unique name for this record action deployment. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. Provides a globally unique identifier for the record action deployment, which prevents conflicts with other record action deployments that have the same MasterLabel.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| FullName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name used as the record action deployment identifier for API access. The fullName can contain only underscores and alphanumeric characters. It must be unique, begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
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.
|
| HasGuidedActions |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, indicates that the component shows standard actions; for example, flows and quick actions. Available in API version 46.0 and later.
|
| HasComponents |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the record actions deployment includes components (true) or not (false).
|
| HasOmniscripts |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the record actions deployment includes OmniScripts (true) or not (false). Available in API version 56.0 and later.
The default value is false.
|
| HasRecommendations |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, indicates that the component shows recommendations from a Next Best Action strategy. Available in API version 46.0 and later.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the record action deployment. The following values are supported:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The name of the deployment.
|
| Metadata |
Type
mns:[RecordActionDeployment](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recordactiondeployment.htm "HTML (New Window)")
Properties
Create, Nillable, Update
Description
Metadata that defines record action deployments.
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 the record action deployment, which is assigned to the AppExchange package. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. The namespace helps differentiate custom objects and fields from those in use by other record action deployments.
|
| Recommendation |
Type
mns:[RecordActionRecommendation](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recordactiondeployment.htm#recordactiondeployment/recordActionRecommendation "HTML (New Window)")
Properties
Not applicable.
Description
Settings for how Next Best Action recommendations appear. This field is visible only in the metadata for a record. Available in API version 46.0 and later.
|
| SelectableItems |
Type
mns:[RecordActionSelectableItem](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recordactiondeployment.htm#recordactiondeployment/recordActionDeploymentSelectableItemsID "HTML (New Window)")
Properties
Not applicable.
Description
A subset of actions that users can launch at runtime. This field is visible only in the metadata for a record.
|
# RecordType
Represents a custom record type.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), getDeleted(), getUpdated(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| BusinessProcessId |
Type
ID
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of an associated BusinessProcess.
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The record type description, limited to 255 characters.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the entity containing the record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether this record is active (true) or not (false). Only active record types can be applied to records.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
RecordTypeMetadata
Properties
Create, Nillable, Update
Description
Record metadata.
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.
|
| Name |
Type
string
Properties
Nillable
Description
The record type name.
|
| NamespacePrefix |
Type
string
Properties
Nillable
Description
A unique string to distinguish this type from any others.
|
| SobjectType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The type of standard object that this record type is derived from.
|

#### Note
Turn on source tracking in your sandboxes in order for the picklist values to appear correctly in the Metadata.picklistValues field when you query RecordType. Without source tracking, custom field picklist values can be omitted. You can also use the Metadata API request with object and field inputs to fetch the picklist values of a record type.
# RegisteredExternalService
Represents a registered external service used to provide an extension or integration. This object is available in API version 49.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
The RegisteredExternalService object is available only if the B2B Commerce or D2C Commerce license is enabled.
## Fields
| Field | Details |
| --- | --- |
| ConfigUrl |
Type
url
Properties
Filter, Nillable, Sort
Description
Link to the configuration page for the integration.
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Description of the external service provider.
This field is available in API version 59.0 and later.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| DocumentationUrl |
Type
url
Properties
Filter, Nillable, Sort
Description
Link to documentation for the registered external service.
|
| ExtensionPointName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
This field is available in API version 55.0 and later. Name of an extension point.
Possible values are:
- Commerce\_Domain\_Cart\_Calculate
- Commerce\_Domain\_Checkout\_CreateOrder
- Commerce\_Domain\_Inventory\_CartCalculator
- Commerce\_Domain\_Inventory\_Service
- Commerce\_Domain\_OrderManagement\_Product
- Commerce\_Domain\_Pricing\_CartCalculator
- Commerce\_Domain\_Pricing\_Service
- Commerce\_Domain\_Promotions\_CartCalculator
- Commerce\_Domain\_Promotions\_ShippingCalculator
- Commerce\_Domain\_Shipping\_CartCalculator
- Commerce\_Domain\_Shipping\_SplitShipment
- Commerce\_Domain\_Tax\_CartCalculator
- Commerce\_Domain\_Tax\_Service
- Commerce\_Endpoint\_Account\_Address
- Commerce\_Endpoint\_Account\_Addresses
- Commerce\_Endpoint\_Cart\_Item
- Commerce\_Endpoint\_Cart\_ItemCollection
- Commerce\_Endpoint\_Catalog\_Product
- Commerce\_Endpoint\_Catalog\_Products
- Commerce\_Endpoint\_Search\_ProductSearch
- Commerce\_Endpoint\_Search\_Products
- Commerce\_Endpoint\_Search\_ProductsByCategory
|
| ExternalServiceProviderId |
Type
reference
Properties
Filter, Group, Sort
Description
Required. The ID of an Apex class functioning as a provider. The Apex class can either implement one of the following interfaces:
- sfdc\_checkout.CartInventoryValidation
- sfdc\_checkout.CartPriceCalculations
- sfdc\_checkout.CartShippingCharges
- sfdc\_checkout.CartTaxCalculations
or the Apex class can extend one of the base classes for an extension. See [Available Extensions](https://developer.salesforce.com/docs/commerce/salesforce-commerce/guide/available-extensions.html).
This field is a relationship field.
Relationship Name
ExternalServiceProvider
Relationship Type
Lookup
Refers To
ApexClass
|
| ExternalServiceProviderType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The type of external service provider. For an extension, you set the type to Extension, and you specify an extensionPointName. For example, for a Pricing Cart Calculator extension, you specify Commerce\_Domain\_Pricing\_CartCalculator as the extensionPointName. For an integration, you set the type to one of the other possible values, such as Price, and you omit extensionPointName.
Possible values are:
- Extension (this value is available in API version 55.0 and later)
- Inventory
- Price
- Promotions (this value is available in API version 53.0 and later)
- Shipment
- Tax
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated RegisteredExternalService in the Metadata API. The full name can include a namespace prefix.
|
| IconUri |
Type
url
Properties
Filter, Nillable, Sort
Description
URI of icon for the extension provider.
This field is available in API version 59.0 and later.
|
| IsApplication |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the extension provider is contained within a managed package.
The default value is false.
This field is available in API version 59.0 and later.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the RegisteredExternalService.
Possible values are:
- da—Danish
- de—German
- en\_US—English
- es—Spanish
- es\_MX—Spanish (Mexico)
- fi—Finnish
- fr—French
- it—Italian
- ja—Japanese
- ko—Korean
- nl\_NL—Dutch
- no—Norwegian
- pt\_BR—Portuguese (Brazil)
- ru—Russian
- sv—Swedish
- th—Thai
- zh\_CN—Chinese (Simplified)
- zh\_TW—Chinese (Traditional)
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the RegisteredExternalService.
|
| Metadata |
Type
[https://developer.salesforce.com/docs/atlas.en-us.api\_meta.meta/api\_meta/meta\_flexipage.htm](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_flexipage.htm)
Properties
Create, Nillable, Update
Description
The metadata for the RegisteredExternalService.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace prefix that is associated with this object. Each Developer Edition org 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 the following values.
- In Developer Edition orgs, NamespacePrefix is set to the namespace prefix of the org for all objects that support it, unless 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 org of the package developer.
- In orgs that aren’t Developer Edition orgs, NamespacePrefix is set only for objects that are part of an installed managed package. All other objects have no namespace prefix.
|
# RelatedListColumnDefinition
Represents information about a column in a related list. A related list specifies a set of records for a related object, based on specific criteria. This object is available in API version 55.0 and later.
## Supported SOAP API Calls
describeSObjects(), query()
## Supported REST API Methods
Query
## Special Access Rules
This object is read-only.
## Fields
| Field | Details |
| --- | --- |
| Alias |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique alias of the column in the related list.
|
| ColumnSoql |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The SOQL query string used in a SELECT clause for the column.
|
| DataType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The field type of the column.
|
| DurableId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique identifier for the column. Always retrieve this value before using it, as the value can change from one release to the next. Simplify queries by using this field instead of making multiple queries.
|
| FieldDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the FieldDefinition associated with the column, if applicable.
This is a relationship field.
Relationship Name
FieldDefinition
Relationship Type
Lookup
Refers To
[FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm)
|
| IsDefault |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the column appears on the related list by default (true) or not (false).
The default value is false.
|
| IsDescribable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the column can appear in the results of a describeLayout call containing the related list (true) or not (false).
The default value is false.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The label for the column.
|
| LookupId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The lookup ID for the column.
|
| RelatedListDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the RelatedListDefinition that contains the column.
This is a relationship field.
Relationship Name
RelatedListDefinition
Relationship Type
Lookup
Refers To
[RelatedListDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_relatedlistdefinition.htm "HTML (New Window)")
|
## Usage
Find all available columns on a related list definition.
SELECT Alias, ColumnSoql, DurableId FROM RelatedListColumnDefinition WHERE RelatedListDefinitionId = 'Account.Opportunities'
# RelatedListDefinition
Represents information about a related list. A related list specifies a set of records for a related object, based on specific criteria. This object is available in API version 55.0 and later.
## Supported SOAP API Calls
describeSObjects(), query()
## Supported REST API Methods
Query
## Special Access Rules
This object is read-only.
## Fields
| Field | Details |
| --- | --- |
| DefaultSort |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The default sort string for the related list.
|
| DurableId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique identifier for the related list. Always retrieve this value before using it, as the value can change from one release to the next. Simplify queries by using this field instead of making multiple queries.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the entity containing the related list.
This is a relationship field.
Relationship Name
EntityDefinition
Relationship Type
Lookup
Refers To
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "HTML (New Window)")
|
| IsCustomizable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether columns on the related list can be customized (true) or not (false).
The default value is false.
|
| IsDescribable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the related list can appear in describeLayout call results (true) or not (false).
The default value is false.
|
| IsLayoutable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the related list can be assigned to a layout. (true) or not (false).
The default value is false.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The label for the related list.
|
| ParentEntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the ParentEntityDefinition that’s associated with the rows in the related list.
This is a relationship field.
Relationship Name
ParentEntityDefinition
Relationship Type
Lookup
Refers To
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "HTML (New Window)")
|
| RelatedListId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the related list.
|
| RelatedListName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the related list in the API.
|
## Usage
Find all available related lists for a given entity, for example, an Account record.
SELECT DurableId, Label, RelatedListName FROM RelatedListDefinition WHERE ParentEntityDefinitionId = 'Account'
# RelationshipDomain
Represents the relationship an object has with other objects. RelationshipDomain allows you to write simpler queries. For example, “which objects are the child objects for the object defined in ParentSobject” is easier using RelationshipDomain. Available in Tooling API version 34.0 and later.
## Supported SOAP Calls
query()
## 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 |
| --- | --- |
| ChildSobject |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort
Description
Metadata for the child object, if any.
|
| ChildSobjectId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the ChildSobject.
|
| 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. To simplify queries, use this field.
|
| Field |
Type
[FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm "Represents a standard or custom field, providing row-based access to field metadata. Contrast FieldDefinition with EntityParticle, which represents each element of a field that can be presented in a user interface. FieldDefinition has parity with metadata type Field.")
Properties
Filter, Group, Sort
Description
The relationship field on this object that defines the relationship to ChildSobject or ParentSobject.
|
| FieldId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of Field.
|
| IsCascadeDelete |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, this object’s parent can’t be deleted until all records for this object are deleted. Corresponds to Cascade value for DeleteConstraint in the Metadata API.
|
| IsDeprecatedAndHidden |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, this object is unavailable for the current version.
|
| IsRestrictedDelete |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, this object can’t be deleted. Corresponds to Restrict value for DeleteConstraint in the Metadata API.
|
| JunctionIdListNames |
Type
complexvalue
Properties
Nillable
Description
The names of the lists of junction IDs associated with an object. Each ID represents an object that has a relationship with the associated object.
|
| ParentSobject |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort
Description
Metadata for the parent object, if any.
|
| ParentSobjectId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the ParentSobject.
|
| RelationshipInfo |
Type
[RelationshipInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_relationshipinfo.htm "Represents the properties of a relationship between objects. Simplify queries with RelationshipInfo, such as answering the question “which objects are parent objects for the object defined in ChildSobject. Available in Tooling API version 34.0 and later.")
Properties
Filter, Group, Sort
Description
Properties about the relationship.
|
| RelationshipInfoId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of RelationshipInfo for this relationship domain.
|
| RelationshipName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Name of this relationship.
|
# RelationshipInfo
Represents the properties of a relationship between objects. Simplify queries with RelationshipInfo, such as answering the question “which objects are parent objects for the object defined in ChildSobject. Available in Tooling API version 34.0 and later.
## 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 |
| --- | --- |
| ChildSobject |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort
Description
Metadata for the child object, if any.
|
| ChildSobjectId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the ChildSobject.
|
| 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. To simplify queries, use this field.
|
| Field |
Type
[FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm "Represents a standard or custom field, providing row-based access to field metadata. Contrast FieldDefinition with EntityParticle, which represents each element of a field that can be presented in a user interface. FieldDefinition has parity with metadata type Field.")
Properties
Filter, Group, Sort
Description
The relationship field that defines the relationship to ChildSobject or ParentSobject.
|
| FieldId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of Field.
|
| IsCascadeDelete |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, this object’s parent can’t be deleted until all records for this object are deleted. Corresponds to Cascade value for DeleteConstraint in the Metadata API.
|
| IsDeprecatedAndHidden |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, this object is unavailable for the current version.
|
| IsRestrictedDelete |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, this object can’t be deleted. Corresponds to Restrict value for DeleteConstraint in the Metadata API.
|
| JunctionIdListNames |
Type
complexvalue
Properties
Nillable
Description
The names of the lists of junction IDs associated with an object. Each ID represents an object that has a relationship with the associated object.
|
| RelationshipDomains |
Type
[QueryResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_queryresult.htm "Represents the results of a query. For example, if you query on the object EntityDefinition, all the layouts for that entity are returned as an array of QueryResult objects in the Layouts field. Available in Tooling API version 34.0 and later.")
Properties
Filter, Group, Sort
Description
The RelationshipDomain records associated with this object. Because this field represents a relationship, use only in subqueries.
|
# ReleaseUpdate
Represents an individual release update. Available in API version 50.0 and later.
## Supported SOAP Calls
describeSObjects(), query()
## Supported REST HTTP Methods
Query
## Fields
| Field | Details |
| --- | --- |
| ApiVersion |
Type
double
Properties
Filter, Nillable, Sort
Description
The API version to which the update is applied.
|
| Category |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Indicates the type of the release update. For example, “Security” or “Usability.”
|
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
The description of the update that appears on the front of the card.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the release update.
|
| DueDate |
Type
date
Properties
Filter, Group, Nillable, Sort
Description
The date by which test runs must be completed.
|
| DurableId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The unique name of the release update.
|
| HasNewSteps |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if steps have been added to the release update since its original release (true) or not (false).
|
| IsReleased |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the update is released (true) or not (false).
|
| NumCompSteps |
Type
integer
Properties
Filter, Group, Nillable, Sort
Description
Indicates how many steps have been completed in the update.
|
| NumReqSteps |
Type
integer
Properties
Filter, Group, Nillable, Sort
Description
Indicates the total number of required steps before proceeding with test run.
|
| NumSteps |
Type
integer
Properties
Filter, Group, Nillable, Sort
Description
Indicates the total number of all steps in the update.
|
| | |
| Release |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The release, including patch number, in which the update is available. For example, 50.00.00.

#### Note
Also see ReleaseDate and ReleaseLabel.
|
| ReleaseDate |
Type
date
Properties
Filter, Group, Nillable, Sort
Description
The date in which the update is enforced.

#### Note
Only specified if the update is part of a scheduled release, so either Release or ReleaseDate will be non-null. Also see Release and ReleaseLabel.
|
| ReleaseLabel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The release label in which the update is enforced. For example, “Winter ‘21.” The label could also be a formatted date if Release is null and ReleaseDate is non-null.
|
| Status |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Values include:
- Complete: The update has been applied.
- Info: An information-only update; no actions to take.
- Invocable: The update is not yet applied; ready for invocation.
- Invoked: The update has been invoked but can’t be revoked yet.
- Nascent: The update has incomplete steps so test run can’t be run yet.
- Pending: The Complete Steps By date is in the past and update is awaiting enforcement.
- Revocable: The update is in test run mode.
|
| StepStage |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Indicates the stage in which the update is at. Options include Needs Action, Due Soon, Overdue, and Archived.
|
| SupportsRevoke |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the update has a test run(true) or not (false). Default is false.
|
| Title |
Type
string
Properties
Filter, Nillable, Sort
Description
The release update title that appears at the top of the release update in the UI.
|
# ReleaseUpdateStep
Represents an individual release update step. Available in API version 49.0 and later.
## Supported SOAP API Calls
create(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
GET, HEAD, PATCH, POST, Query
## Special Access Rules
To enable or disable release updates, users must have the Manage Release Updates or Customize Application permission.
## Fields
| Field | Details |
| --- | --- |
| Name |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the release update step.
|
| Number |
Type
int
Properties
Create, Filter, Group, Sort, Update
Description
The corresponding number for this release update step.
|
| ReleaseUpdateId |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the related release update.
This field is a relationship field.
Relationship Name
ReleaseUpdate
Refers To
ReleaseUpdate
|
| Status |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The status of the release update step.
Possible values are:
- Complete
- Incomplete
- New
- Started
- Viewed
|
# RemoteProxy
Represents a set of remote site settings that allows you to access an external site from Salesforce. Use RemoteProxy when accessing external sites called by Visualforce pages, Apex callouts, or JavaScript codes using XmlHttpRequest in an s-control or custom button. To be accessible, an external site must have its settings defined with RemoteProxy or registered in the Remote Site Settings page. Available in Tooling API version 37.0 and later.
## Supported SOAP Calls
create(), query(), retrieve() update()
## Supported REST HTTP Methods
GET
## Fields
| Description |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- The description explaining what this remote site setting
is used for.
|
| EndpointUrl |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Required. The URL of the remote site.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The unique name used as the remote site identifier for
API access. The name can contain only underscores and
alphanumeric characters. It must be unique, begin with a
letter, not include spaces, not end with an underscore,
and not contain two consecutive underscores.
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.
|
| IsActive |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Required. Indicates whether the remote site setting is
active (true) or not
(false).
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is contained
in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| Metadata |
- Type
- complexvalue
- Properties
- Create, Nillable, Update
- Description
- Metadata that defines the remote site setting.
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 of up to 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 the
following values:
- In Developer Edition organizations, the
namespace prefix is set to the namespace prefix of
the organization for all objects that support it.
There is 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 are not Developer Edition
organizations, NamespacePrefix is set only for
objects that are part of an installed managed
package. There is no namespace prefix for all
other objects.
|
| ProtocolMismatch |
- Type
- boolean
- Properties
- Defaulted on create, Filter, Group, Sort
- Description
- Required. Indicates whether code within Salesforce can access the remote site regardless of whether the
user's connection is over HTTP or HTTPS
(true) or not
(false). When
true, code within Salesforce can pass data between HTTPS and HTTP sessions.
|
| SiteName |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- Required. The name of the remote site.
|
# REST Header Examples
Use these examples to understand REST headers.
REST headers in the Tooling API WSDL are described in [REST Headers for Tooling API](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_api_tooling_rest_headers.htm "Tooling API provides a subset of the REST headers available in REST API."). For more details about REST Resources, see the REST API Developer Guide.
## Examples
The following examples use Apex to execute REST requests with headers. You can use any standard REST tool to access Tooling REST API.

#### Note
The examples in this guide use a production login URL with MyDomainName in place of the org’s My Domain name. The format for sandbox login URLs differs. To use these examples, update the login URL. You can find the My Domain name and My Domain login URL for your org on the My Domain page in Setup.
First, set up the connection to your org and the HTTP request type:
HttpRequest req = new HttpRequest();
req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionID());
req.setHeader('Content-Type', 'application/json');
At the end of each request, add the following code to send the request and retrieve the body of the response:
Http h = new Http();
HttpResponse res = h.send(req);
system.debug(res.getBody());
# REST Headers
Use REST if you’re using a language that isn’t strongly typed, like JavaScript.
For details on usage, syntax, and authentication, see the REST API Developer Guide.
REST headers available in the Tooling API WSDL are described in [REST Headers for Tooling API](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_api_tooling_rest_headers.htm "Tooling API provides a subset of the REST headers available in REST API.").
For examples of REST headers being used, see [REST Header Examples](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_header_examples.htm "Use these examples to understand REST headers.").
# REST Headers for Tooling API
Tooling API provides a subset of the REST headers available in REST API.
Control the behavior of REST requests:
- [Call Options Header](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/headers_calloptions.htm)
Specifies options for the client you’re using to access REST API resources. For example, you can provide a default namespace prefix so that you don’t need to specify the prefix in your code.
- [Limit Info Header](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/headers_api_usage.htm)
This response header is returned in each request to REST API (except for calls to the Versions URI, /, which do not count towards your org’s limit). You can use the information to monitor API limits.
- [Package Version Header](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/headers_packageversion.htm)
Specifies the version of each package referenced by a client. A package version is a number that identifies the set of components and behavior contained in a package. This header can also be used to specify a package version when making calls to an Apex REST web service.
- [Query Options Header](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/headers_queryoptions.htm)
Specifies options used in a query, such as the query results batch size. Use this request header with the Query resource.
# REST Overview
Use REST if you’re using a language that isn’t strongly typed, like JavaScript.
For details on usage, syntax, and authentication, see the REST API Developer Guide.
- **[REST Resources](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources.htm)**
REST resources give you access to Tooling API objects. When querying Tooling API objects using REST resources, keep in mind that the user permissions needed for access vary from endpoint to endpoint and from object to object. Check the description of the endpoint and object you want to use to determine user permission requirements for access.
- **[REST Resources for Unit Testing](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing.htm)**
Retrieve and execute Apex and flow tests in one place. Get a complete view of your tests by using the Test Discovery API. Execute tests asynchronously or synchronously by using the Test Runner API. These APIs are both Tooling API REST resources.
- **[REST Resource Examples](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resource_examples.htm)**
Robust examples using REST resources in the Tooling API.
- **[REST Headers](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_headers.htm)**
Use REST if you’re using a language that isn’t strongly typed, like JavaScript.
- **[REST Header Examples](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_header_examples.htm)**
Use these examples to understand REST headers.
- **[Improve Performance with the Composite Resource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_resources_composite_composite.htm)**
Use the /composite resource to improve the performance of a development tool or app built with Tooling API. This resource executes a series of Tooling API requests in a single call, minimizing the number of round trips needed between the client and server. You can use the output of one request as the input to a subsequent request. The requests’ response bodies and HTTP statuses are returned in a single response body. The entire request counts as a single call toward your API limits. Available in API version 40.0 and later.
- **[Retrieve Compilation Results for Invalid Apex with the apexCompileResults Resource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_recompile_invalid_apex.htm)**
Retrieve compilation results for Apex classes and triggers with validation errors. Routinely monitoring results allows you to detect and respond to compilation issues.Available in API version 68.0 and later. This resource requires the Author Apex org permission.
- **[Retrieve Apex Type Information with the Symbols Resource (Beta)](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_apex_symbols.htm)**
Use the Apex Symbol API to retrieve detailed metadata for built-in, custom, packaged, and dynamic Apex types, including classes, interfaces, enums, methods, and triggers. Available in API version 68.0 and later. This resource requires the Author Apex org permission and the View Setup user permission.
#### See Also
- [Tooling API Objects](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_list.htm)
- [REST API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_rest.meta/api_rest/ "REST API Developer Guide - HTML (New Window)")
# REST Resource Examples
Robust examples using REST resources in the Tooling API.
## Example Setup
The following examples use Apex to execute REST requests, but you can use any standard REST tool to access the Tooling API.

#### Note
The examples in this guide use a production login URL with MyDomainName in place of the org’s My Domain name. The format for sandbox login URLs differs. To use these examples, update the login URL. You can find the My Domain name and My Domain login URL for your org on the My Domain page in Setup.
First, set up the connection to your org and the HTTP request type:
HttpRequest req = new HttpRequest();
req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionID());
req.setHeader('Content-Type', 'application/json');
At the end of each request, add the following code to send the request and retrieve the body of the response:
Http h = new Http();
HttpResponse res = h.send(req);
system.debug(res.getBody());
## Retrieve a Description
To get a description of all available objects in Tooling API:
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/sobjects/');
req.setMethod('GET');
To get a description of a specific Tooling API object, for example, [TraceFlag](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_traceflag.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/sobjects/
TraceFlag/');
req.setMethod('GET');
To get a description of all metadata for a specific Tooling API object, for example, [TraceFlag](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_traceflag.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/sobjects/
TraceFlag/describe/');
req.setMethod('GET');
## Manipulate Objects by ID
To create a new Tooling API object, for example, [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/sobjects/
MetadataContainer/');
req.setBody('{"Name":"TestContainer"}');
req.setMethod('POST');

#### Tip
Use the ID from this call in the rest of the examples.
To retrieve a Tooling API object by ID, for example, [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/sobjects/
MetadataContainer/ + containerID + '/');
req.setMethod('GET');
To update a Tooling API object by ID, for example, [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/sobjects/
MetadataContainer/ + containerID + '/');
req.setBody('{"Name":"NewlyNamedContainer"}');
req.setMethod('PATCH');
To query a Tooling API object by ID, for example, [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/query/?q=
Select+id,Name+from+MetadataContainer+Where+ID\=\\'' + containerID + '\\'');
req.setMethod('GET');
## Query Within MetadataContainer
To query an object within a [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/query/?q=
Select+id,Body,LastSyncDate,Metadata+from+ApexClassMember+Where+MetadataContainerID=\\'
\+ containerID + '\\'');
req.setMethod('GET');
## Check Deployment Status
To check on the status of a deployment, using [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm):
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/sobjects/
ContainerAsyncRequest/' + requestID + '/');
req.setMethod('GET');
## Execute Anonymous Apex
To execute anonymous Apex:
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/executeAnonymous/?
anonymousBody=System.debug('Test')%3B');
req.setMethod('GET');
## Retrieve Apex
To retrieve your Apex classes and triggers, and the global Apex classes and triggers from your installed managed packages:
req.setEndpoint('https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/apexManifest');
req.setMethod('GET');
## Execute Apex Unit Tests
To execute Apex unit tests, use the runTestsSynchronous or runTestsAsynchronous resource. This example illustrates how to POST to the runTestsSynchronous resource using JavaScript. The comment blocks show which objects these calls return.
var xhttp = new XMLHttpRequest();
xhttp.open("POST", "https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/runTestsSynchronous/", true)
// SESSION\_ID is the session ID
xhttp.setRequestHeader("Authorization", "OAuth ")
xhttp.setRequestHeader('Accept', "application/json");
// testObject should include a list of object(s) with the classId and list of
// desired test methods for the desired classes to be tested
testObject = {tests: \[{classId: "N0tARealClassId", testMethods: \["testMethod1", "testMethod2"\]}\]}
requestObject = json.stringify(testObject);
response = xhttp.send(requestObject)
response = JSON.parse(response)
/\*
{
"successes": \[
{
"namespace": null,
"name": "MyTestClass",
"methodName": "testMethod1",
"id": "N0tARealTestId1",
"time": 1167,
"seeAllData": false
},
{
"namespace": null,
"name": "MyTestClass",
"methodName": "testMethod2",
"id": "N0tARealTestId2",
"time": 47,
"seeAllData": false
}
\],
"failures": \[
{
"type": "Class",
"namespace": null,
"name": "MyTestClass",
"methodName": "testMethod3",
"message": "System.AssertException: Assertion Failed",
"stackTrace": "Class.MyTestClass.testMethod3: line 13, column 1",
"id": "01pxx0000000JTpAAM",
"seeAllData": false,
"time": 27,
"packageName": "MyTestClass"
},
{
"type": "Class",
"namespace": null,
"name": "MyTestClass",
"methodName": "testMethod4",
"message": "System.AssertException: Assertion Failed",
"stackTrace": "Class.MyTestClass.testMethod4: line 17, column 1",
"id": "01pxx0000000JTpAAM",
"seeAllData": false,
"time": 32,
"packageName": "MyTestClass"
}
\],
"totalTime": 143,
"apexLogId": "07Lxx0000000A9NEAU",
"numFailures": 2,
"codeCoverage": \[
\],
"codeCoverageWarnings": \[
\],
"numTestsRun": 4
}
\*/
// Check how many tests ran
response\["numTestRun"\] === 4
// Check how many tests passed
response\["successes"\].length === 2
// Return a list of objects that correspond to the tests that passed
response\["successes"\]
/\*
\[
{
"id": "N0tARealTestId1",
"methodName": "testMethod1",
"name": "MyTestClass",
"namespace": null,
"seeAllData": false,
"time": 1167
}
\]
\*/
// Access the first object in the list
response\["successes"\]\[0\]\["name"\] === "MyTestClass"
response\["successes"\]\[0\]\["methodName"\] === "testMethod1"
// This ID refers to the classId
response\["successes"\]\[0\]\["id"\] === "MyTestClass"
response\["successes"\]\[0\]\["time"\] === 1167 // milliseconds
response\["failures"\]
/\*
{
"type": "Class",
"namespace": null,
"name": "MyTestClass",
"methodName": "testMethod3",
"message": "System.AssertException: Assertion Failed",
"stackTrace": "Class.MyTestClass.testMethod3: line 13, column 1",
"id": "01pxx0000000JTpAAM",
"seeAllData": false,
"time": 27,
"packageName": "MyTestClass"
},
{
"type": "Class",
"namespace": null,
"name": "MyTestClass",
"methodName": "testMethod4",
"message": "System.AssertException: Assertion Failed",
"stackTrace": "Class.MyTestClass.testMethod4: line 17, column 1",
"id": "01pxx0000000JTpAAM",
"seeAllData": false,
"time": 32,
"packageName": "MyTestClass"
}
\*/
response\["failures"\]\[0\]\["name"\] === "MyTestClass"
response\["failures"\]\[0\]\["methodName"\] === "testMethod3"
response\["failures"\]\[0\]\["message"\] === "System.AssertException: Assertion Failed"
response\["failures"\]\[0\]\["stackTrace"\] === "Class.MyTestClass.testMethod3: line 13, column 1"
response\["failures"\]\[0\]\["time"\] === 27
# REST Resources
REST resources give you access to Tooling API objects. When querying Tooling API objects using REST resources, keep in mind that the user permissions needed for access vary from endpoint to endpoint and from object to object. Check the description of the endpoint and object you want to use to determine user permission requirements for access.
For details on usage, syntax, and authentication, see the REST API Developer Guide.
For examples, see [REST Resource Examples](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resource_examples.htm "Robust examples using REST resources in the Tooling API.").
For information on how to minimize the number of round trips between client and server, see [Improve Performance with the Composite Resource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_resources_composite_composite.htm#tooling_resources_composite_composite "Use the /composite resource to improve the performance of a development tool or app built with Tooling API. This resource executes a series of Tooling API requests in a single call, minimizing the number of round trips needed between the client and server. You can use the output of one request as the input to a subsequent request. The requests’ response bodies and HTTP statuses are returned in a single response body. The entire request counts as a single call toward your API limits. Available in API version 40.0 and later.").
## REST Resources Supported by Tooling API
The base URI for each Tooling API REST resource is https://domain/services/data/vXX.X**/tooling/** where **domain** is your org’s My Domain login URL and **vXX.X** is the API version number. For example: https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/
Tooling API uses these resources.
## /apexCompileResults/
Supported methods: POST
Retrieve compilation results for Apex classes and triggers with validation errors. Available in API version 68.0 and later.
For more information, see [Retrieve Compilation Results for Invalid Apex with the apexCompileResults Resource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_recompile_invalid_apex.htm "Retrieve compilation results for Apex classes and triggers with validation errors. Routinely monitoring results allows you to detect and respond to compilation issues.Available in API version 68.0 and later. This resource requires the Author Apex org permission.").
## /completions?type=
Supported methods: GET
Retrieves available code completions of the referenced type for Apex system method symbols (type=apex). Available in API version 28.0 and later.
Retrieves available code completions of the referenced type for Visualforce markup (type=visualforce). Available in API version 38.0 and later.
## /executeAnonymous/?anonymousBody=
Supported methods: GET
Executes Apex code anonymously. Available in API version 29.0 and later.
Salesforce blocks all /executeanonymous requests from components in managed packages. See [Block Execute Anonymous from Managed Packages (Release Update)](https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_block_exec_anon_ru.htm&type=5&language=en_US).
## /query/?q=SOQL\_Query\_Statement
Supported methods: GET
Executes a query against an object and returns data that matches the specified criteria. Tooling API exposes objects like EntityDefinition and FieldDefinition that use the external object framework. That is, they don’t exist in the database but are constructed dynamically. Special query rules apply to virtual entities.
If the query result is too large, it’s broken up into batches. The response contains the first batch of results and a query identifier. The identifier can be used in a request to retrieve the next batch.
## /runTestsAsynchronous/
Supported methods: POST
Runs Apex and automated flow tests asynchronously. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later.
For more information, see [Run Unit Tests Asynchronously](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing_runner_async.htm "Use the Test Runner API to execute Apex and flow tests asynchronously. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later.").
## /runTestsSynchronous/
Supported methods: POST
Runs Apex and automated flow tests synchronously. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later.
For more information, see [Run Unit Tests Synchronously](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing_runner_sync.htm "Use the Test Runner API to execute one or more Apex or flow tests synchronously. All test methods in a synchronous test run must be in the same class. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later. In API version 40.0 and later, running Apex tests synchronously using the POST method for /runTestsSynchronous/ requires the View Setup user permission.").
## /search/?q=SOSL\_Search\_Statement
Supported methods: GET
Search for records containing specified values.
## /sobjects/
Supported methods: GET
Lists the available Tooling API objects and their metadata.
## /sobjects/SObjectName/
Supported methods: GET, POST
Describes the individual metadata for the specified object or creates a record for a given object.
- To retrieve the metadata for the ApexExecutionOverlayAction object, use the GET method.
- To create a ApexExecutionOverlayAction object, use the POST method.
## /sobjects/SObjectName/describe/
Supported methods: GET
Completely describes the individual metadata at all levels for the specified object.
For example, use this resource to retrieve the fields, URLs, and child relationships for a Tooling API object.
## /sobjects/SObjectName/id/
Supported methods: GET, PATCH, DELETE
Accesses records based on the specified object ID.
Use the GET method to retrieve records or fields, the DELETE method to delete records, and the PATCH method to update records.
## /sobjects/ApexLog/id/Body/
Supported methods: GET
Retrieves a raw debug log by ID. Available in API version 28.0 and later.
## /symbols?category=
Supported methods: GET
Retrieves detailed metadata for built-in, custom, packaged, and dynamic Apex types, including classes, interfaces, enums, methods, and triggers. This resource is available in API version 68.0 and later.
For more information, see [Retrieve Apex Type Information with the Symbols Resource (Beta)](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_apex_symbols.htm "Use the Apex Symbol API to retrieve detailed metadata for built-in, custom, packaged, and dynamic Apex types, including classes, interfaces, enums, methods, and triggers. Available in API version 68.0 and later. This resource requires the Author Apex org permission and the View Setup user permission.").
## /tests/
Supported methods: GET
Retrieves Apex and automated flow tests. Available in API version 65.0 and later.
For more information, see [Retrieve Unit Tests](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing_discovery.htm "The Test Discovery API returns details about Apex and automated flow tests. This resource is available in Tooling API version 65.0 and later.").
# REST Resources for Unit Testing
Retrieve and execute Apex and flow tests in one place. Get a complete view of your tests by using the Test Discovery API. Execute tests asynchronously or synchronously by using the Test Runner API. These APIs are both Tooling API REST resources.

#### Note
The Test Discovery API and Test Runner API support only flow tests created with [automated flow testing](https://help.salesforce.com/s/articleView?id=platform.automate_flow_test_record_data_cloud_triggered.htm&type=5&language=en_US) in Flow Builder.
The base URI for these Tooling API REST resources is https://domain/services/data/vXX.X/tooling/ where **domain** is your org’s My Domain login URL and vXX.X is the API version number. For example: https://MyDomainName.my.salesforce.com/services/data/v68.0/tooling/
- **[Retrieve Unit Tests](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing_discovery.htm)**
The Test Discovery API returns details about Apex and automated flow tests. This resource is available in Tooling API version 65.0 and later.
- **[Run Unit Tests Asynchronously](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing_runner_async.htm)**
Use the Test Runner API to execute Apex and flow tests asynchronously. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later.
- **[Run Unit Tests Synchronously](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing_runner_sync.htm)**
Use the Test Runner API to execute one or more Apex or flow tests synchronously. All test methods in a synchronous test run must be in the same class. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later. In API version 40.0 and later, running Apex tests synchronously using the POST method for /runTestsSynchronous/ requires the View Setup user permission.
# RestrictionRule
Represents a restriction rule or a scoping rule. A restriction rule has EnforcementType set to Restrict and controls the access that specified users have to designated records. A scoping rule has EnforcementType set to Scoping and controls the default records that your users see without restricting access.
This object is available in API version 52.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Only users with the View Restriction and Scoping Rules permission can view restriction rules and scoping rules via the API. Only users with the Manage Sharing permission can view, create, update, and delete restriction rules and scoping rules.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
Required. The description of the rule.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the RestrictionRule object.
This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. This field is automatically generated, but you can supply your own value if you create the record using the API.
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| EnforcementType |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Required. The type of rule.
Possible values are:
- FieldRestrict—Don’t use.
- Restrict—Restriction rule.
- Scoping—Scoping rule.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
Required. The full name of the associated RestrictionRule in Metadata API. The full name can include a namespaceprefix.
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.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the rule is active (true) or not (false). The default value is false.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the rule. The value for this field is the language value of the org.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the rule.
|
| Metadata |
Type
mns:[RestrictionRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_restrictionrule.htm)
Properties
Create, Nillable, Update
Description
The restriction rule’s metadata.
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.
|
| RecordFilter |
Type
textarea
Properties
Create, Filter, Group, Sort, Update
Description
Required. The criteria that determine which records are accessible via the rule.
|
| TargetEntity |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. The object for which you're creating the rule. We recommend that you don’t edit this field after the rule is created.
If EnforcementType is set to Restrict, custom objects, external objects, and these objects are supported:
- Contract
- Event
- Quote
- Task
- TimeSheet
- TimeSheetEntry
If EnforcementType is set to Scoping, custom objects and these objects are supported:
- Account
- Case
- Contact
- Event
- Lead
- Opportunity
- Task
|
| UserCriteria |
Type
textarea
Properties
Create, Filter, Group, Sort, Update
Description
Required. The users that this rule applies to, such as all active users or users with a specified role or profile.
|
| Version |
Type
int
Properties
Filter, Group, Sort
Description
Required. The rule's version number.
|
## Usage
The following is an example of a RestrictionRule representing a restriction rule.
{
"FullName":"restriction\_rule\_tasks\_you\_own",
"Metadata": {
"active":true,
"description":"Allows users of a specific profile to see only tasks that they own.",
"enforcementType":"Restrict",
"masterLabel":"Tasks You Own",
"recordFilter":"OwnerId = $User.Id",
"targetEntity":"Task",
"userCriteria":"$User.ProfileId = '00exxxxxxxxxxxx'",
"version":1
}
}
The following is an example of a RestrictionRule representing a scoping rule.
{
"FullName":"Department A contact scoping rule",
"Metadata": {
"active":true,
"description":"View contacts from Department A.",
"enforcementType":"Scoping",
"masterLabel":"SR for Department A",
"recordFilter":"Department=$User.Department",
"targetEntity":"Contact",
"userCriteria":"$User.UserRoleId = '00Exxxxxxxxxxxx'",
"version":1
}
}
#### See Also
- [https://developer.salesforce.com/docs/atlas.en-us.restriction\_rules.meta/restriction\_rules/restriction\_rules\_about.htm](https://developer.salesforce.com/docs/atlas.en-us.264.0.restriction_rules.meta/restriction_rules/restriction_rules_about.htm)
# Retrieve Apex Type Information with the Symbols Resource (Beta)
Use the Apex Symbol API to retrieve detailed metadata for built-in, custom, packaged, and dynamic Apex types, including classes, interfaces, enums, methods, and triggers. Available in API version 68.0 and later. This resource requires the Author Apex org permission and the View Setup user permission.
## Syntax

#### Important
Apex Symbol API is a pilot or beta service that is subject to the Beta Services Terms at [Agreements and Terms](https://www.salesforce.com/company/legal/agreements/) or a written Unified Pilot Agreement if executed by Customer, and applicable terms in the [Product Terms Directory](https://ptd.salesforce.com/). Use of this pilot or beta service is at the Customer's sole discretion.
**URI**: /services/data/vXX.X/tooling/symbols/
**HTTPS Method**: GET
**Authentication**: Authorization: Bearer token
**Format**: JSON
## Request Query Parameters
### category
- **Type**: String
- **Description**: Required. The category of Apex types to retrieve.
- **Possible values**:
- builtin\-standard Apex types, such as types in the System, Database, and Messaging namespaces.
- database\-custom and packaged Apex types.
- dynamic\-dynamic Apex types.
### namespace
- **Type**: String
- **Description**: Optional. Filters the results to a specific namespace. To retrieve only types in the local org namespace, pass an empty string (namespace=). If this parameter is omitted, Apex types from all namespaces in the category are returned.
### name
- **Type**: String
- **Description**: Optional. Filters the results to the specified Apex type name. If both namespace and name are specified, the results must match both conditions.
## Request Body Properties
None.
## Response Body Properties
### typeStubs
- **Type**: Object\[\]
- **Description**: An array of Apex types. Each object describes one Apex class, interface, enum, or trigger, including members such as fields, properties, methods, annotations, and documentation when available.
Each object in the typeStubs array can include these properties.
### name
- **Type**: String
- **Description**: The developer name of the Apex type stub.
### namespacePrefix
- **Type**: String
- **Description**: The namespace of the Apex type, or null if the type doesn't have a namespace.
### kind
- **Type**: String
- **Description**: The kind of Apex type. Possible values are CLASS, INTERFACE, ENUM, and TRIGGER.
### modifiers
- **Type**: String\[\]
- **Description**: The modifiers applied to the type, such as public, global, virtual, or abstract.
### annotations
- **Type**: Object\[\]
- **Description**: The annotations applied to the type, such as AuraEnabled, IsTest, or NamespaceAccessible.
### superClass
- **Type**: Object
- **Description**: A type reference for the superclass, or null if the type doesn't have a superclass.
### interfaces
- **Type**: Object\[\]
- **Description**: Type references for interfaces implemented by the type.
### fields
- **Type**: Object\[\]
- **Description**: The fields declared on the type. A field is a variable declared at the type level instead of inside a method.
### properties
- **Type**: Object\[\]
- **Description**: The properties declared on the type.
### methods
- **Type**: Object\[\]
- **Description**: The methods and constructors declared on the type.
### innerTypes
- **Type**: Object\[\]
- **Description**: Nested Apex types declared within the type. Each nested type uses the same structure as a top-level type stub.
### triggerOperations
- **Type**: String\[\]
- **Description**: For triggers, the trigger operations, such as BEFORE UPDATE. The value is null for non-trigger types.
### documentation
- **Type**: String
- **Description**: Documentation for the type. For built-in types, this property can include official usage guidance. For custom types, this property can include ApexDoc comments. In API version 68.0, ApexDoc comments from managed packages aren't returned.
### triggerObjectType
- **Type**: Object
- **Description**: For triggers, a type reference for the sObject that the trigger is defined on. The value is null for non-trigger types.
### compileError
- **Type**: String
- **Description**: A compilation error message if symbol extraction encountered a compile error for the type; otherwise, null.
## Annotations Array Properties
Each object in an annotations array can include these properties.
### name
- **Type**: String
- **Description**: The annotation name.
### parameters
- **Type**: Object\[\]
- **Description**: The annotation parameters.
### documentation
- **Type**: String
- **Description**: Documentation for the annotation, if available.
## Annotation Parameters Array Properties
Each object in an annotation parameters array can include these properties.
### name
- **Type**: String
- **Description**: The parameter name.
### type
- **Type**: Object
- **Description**: A type reference for the parameter type.
### value
- **Type**: String
- **Description**: The parameter value.
## Fields Array Properties
Each object in the fields array can include these properties.
### name
- **Type**: String
- **Description**: The field name.
### type
- **Type**: Object
- **Description**: A type reference for the field type.
### modifiers
- **Type**: String\[\]
- **Description**: The field modifiers.
### annotations
- **Type**: Object\[\]
- **Description**: The field annotations.
### documentation
- **Type**: String
- **Description**: Documentation for the field, if available.
### definingType
- **Type**: Object
- **Description**: A type reference for the Apex type that originally declares this field. This property is set only for inherited fields and is omitted when the field is declared directly on the enclosing type.
## Properties Array Properties
Each object in the properties array can include these properties.
### name
- **Type**: String
- **Description**: The property name.
### type
- **Type**: Object
- **Description**: A type reference for the property type.
### modifiers
- **Type**: String\[\]
- **Description**: The property modifiers.
### annotations
- **Type**: Object\[\]
- **Description**: The property annotations.
### getter
- **Type**: Object
- **Description**: Present if the property has a get accessor. The object includes a modifiers array and a documentation property.
### setter
- **Type**: Object
- **Description**: Present if the property has a set accessor. The object includes a modifiers array and a documentation property.
### documentation
- **Type**: String
- **Description**: Documentation for the property, if available.
### definingType
- **Type**: Object
- **Description**: A type reference for the Apex type that originally declares this property. This property is set only for inherited properties and is omitted when the property is declared directly on the enclosing type.
## Methods Array Properties
Each object in the methods array can include these properties.
### name
- **Type**: String
- **Description**: The method or constructor name.
### isConstructor
- **Type**: Boolean
- **Description**: true if the member is a constructor; otherwise, null.
### returnType
- **Type**: Object
- **Description**: A type reference for the return type. The value is null for constructors.
### modifiers
- **Type**: String\[\]
- **Description**: The method modifiers.
### annotations
- **Type**: Object\[\]
- **Description**: The method annotations.
### parameters
- **Type**: Object\[\]
- **Description**: The method parameters.
### documentation
- **Type**: String
- **Description**: Documentation for the method, if available.
### definingType
- **Type**: Object
- **Description**: A type reference for the Apex type that originally declares this method. This property is set only for inherited methods and is omitted when the method is declared directly on the enclosing type.
## Methods Parameter Array Properties
Each object in a method parameters array can include these properties.
### name
- **Type**: String
- **Description**: The parameter name.
### type
- **Type**: Object
- **Description**: A type reference for the parameter type.
### annotations
- **Type**: Object\[\]
- **Description**: The parameter annotations.
### documentation
- **Type**: String
- **Description**: Documentation for the parameter, if available.
## Type Reference Properties
Several response properties use a nested type reference object instead of returning a type as a string. This structure separates the type into parts that developer tools can consume.
Type references appear in these properties:
- superClass
- Objects in the interfaces array
- The type property of a field or property
- A method's returnType property
- The definingType property of an inherited field, method, or property
- A parameter's type property
- triggerObjectType
Each type reference object can include these properties.
### namespacePrefix
- **Type**: String
- **Description**: The namespace of the referenced type, or null if the type doesn't have a namespace.
### name
- **Type**: String
- **Description**: The name of the referenced type.
### typeParameters
- **Type**: Object\[\]
- **Description**: Type references for generic type arguments, such as String in List. The value is null if the type isn't parameterized.
## Usage
Use the Apex Symbol API to build tools that:
- Provide code completion with full generic type support. For example, List displays with readable type parameters instead of internal encoding.
- Display official documentation for built-in types, including usage guidance and examples.
- Display ApexDoc comments for custom types.
- Show constructor signatures with parameter types, annotations, and modifiers.
- Identify trigger operations, such as before insert and after update, without parsing source code.
- Access type information across all standard Apex namespaces, such as the System, Database, and Messaging namespaces.
## Considerations
- The API enforces a concurrency limit of one request per org. If a request is in progress and a second request is made for the same org, the second request fails. Avoid parallel calls to this API from the same org.
- In API version 68.0, ApexDoc comments from managed packages aren't returned. Packaged ApexDoc comments for global identifiers are planned for a later API version.
## Example
**Example Request**: Retrieve the built-in ApexPages type in the System namespace.
GET "https://MyDomain.my.salesforce.com/services/data/v68.0/tooling/symbols?category=builtin&namespace=System&name=ApexPages"
**Example Response Body** (excerpt)
{
"typeStubs": \[
{
"name": "ApexPages",
"namespacePrefix": "System",
"kind": "CLASS",
"modifiers": \[
"global"
\],
"annotations": \[\],
"superClass": null,
"interfaces": \[\],
"fields": \[\],
"properties": \[\],
"methods": \[
{
"name": "addMessage",
"isConstructor": null,
"returnType": {
"namespacePrefix": null,
"name": "void",
"typeParameters": null
},
"modifiers": \[
"global",
"static"
\],
"annotations": \[\],
"parameters": \[
{
"name": "message",
"type": {
"namespacePrefix": "ApexPages",
"name": "Message",
"typeParameters": null
},
"annotations": \[\],
"documentation": ""
}
\],
"documentation": "Add a message to the current page context."
}
\],
"innerTypes": \[\],
"triggerOperations": null,
"documentation": "Use ApexPages to add and check for messages associated...",
"triggerObjectType": null,
"compileError": null
}
\]
}
# Retrieve Compilation Results for Invalid Apex with the apexCompileResults Resource
Retrieve compilation results for Apex classes and triggers with validation errors. Routinely monitoring results allows you to detect and respond to compilation issues.Available in API version 68.0 and later. This resource requires the Author Apex org permission.
## Syntax
**URI**: /services/data/vXX.X/tooling/apexCompileResults/
**HTTPS Method**: POST
**Authentication**: Authorization: Bearer token
**Format**: JSON
## Request Parameters
None.
## Request Body
The request body must be an empty JSON object ({}). Specifying any fields returns an error.
## Response Body Properties
### status
- **Type**: String
- **Description**: The operation-level outcome of the compilation.
- **Possible values**:
- OK—all invalid Apex classes and triggers compiled successfully, or no invalid classes or triggers required recompilation.
- PARTIAL\_FAILURE—at least one invalid Apex class or trigger failed to compile.
### results
- **Type**: Object\[\]
- **Description**: An array of compilation outcomes for Apex classes and triggers that failed to compile.
Each object includes the class or trigger name, namespace, success indicator, errors, and warnings. Classes and triggers that compile successfully aren’t included. Warnings are included only when the class or trigger also has compilation errors.
If the entire compilation succeeds without any failures, this array is empty.
Each object in the results array can include these properties.
### name
- **Type**: String
- **Description**: The developer name of the Apex class or trigger.
### namespace
- **Type**: String
- **Description**: The namespace of the Apex class or trigger. For the default namespace, the value is an empty string.
### success
- **Type**: Boolean
- **Description**: Indicates whether the Apex class or trigger compiled successfully. The value is true when there are no compilation problems. The value is false when at least one problem is present. Warning-only outcomes are still considered successful, so these outcomes aren’t returned in the results array.
### problems
- **Type**: Object\[\]
- **Description**: An array of compilation errors for the Apex class or trigger. Empty when success is true.
### warnings
- **Type**: Object\[\]
- **Description**: An array of compilation warnings for the Apex class or trigger. Warnings are returned only for classes and triggers that also have compilation errors.
Each object in a problems or warnings array can include these properties.
### line
- **Type**: Integer
- **Description**: The source line of the error or warning. The value is 0 if a line isn’t applicable.
### column
- **Type**: Integer
- **Description**: The source column of the problem or warning. The value is 0 if a column isn’t applicable.
### message
- **Type**: String
- **Description**: A description of the compilation error or warning.
## Usage
- Use the apexCompileResults resource to retrieve compilation results for invalid Apex class and triggers. To recompile invalid classes or triggers, use the “Compile only invalid classes” and “Compile only invalid triggers” buttons on the Apex Classes or Apex Triggers pages in Setup. Successful compilation via the Setup buttons updates the IsValid field on the corresponding Apex class or trigger to true. Retrieving compilation results via apexCompileResults doesn’t update the field.
- The request is synchronous.
## Example
**Example Request Body**
{}
**Example Response Body on Successful Compilation**: Returned if all invalid Apex classes and triggers compiled successfully, or none required recompilation.
{
"status": "OK",
"results": \[\]
}
**Example Response Body on Partial Failure**: Returned if least one invalid Apex class or trigger failed to compile.
{
"status": "PARTIAL\_FAILURE",
"results": \[
{
"name": "MyInvalidClass",
"namespace": "MyNamespace",
"success": false,
"problems": \[
{
"line": 14,
"column": 9,
"message": "Variable does not exist: var1"
}
\],
"warnings": \[
{
"line": 0,
"column": 0,
"message": "Apex API version 18.0 is scheduled for retirement. Update to the latest API version to avoid compile failures."
}
\]
}
\]
}
# Retrieve Unit Tests
The Test Discovery API returns details about Apex and automated flow tests. This resource is available in Tooling API version 65.0 and later.
## Syntax
**URI**: /services/data/vXX.X/tooling/tests/
**HTTPS Method**: GET
**Authentication**: Authorization: Bearer token
**Response Encoding**: X-Chatter-Entity-Encoding: false

#### Important
The X-Chatter-Entity-Encoding HTTP request header must be set to false so that the client requests raw (unencoded) output in the response. See [Response Body Encoding](https://developer.salesforce.com/docs/atlas.en-us.264.0.chatterapi.meta/chatterapi/intro_encoding.htm "HTML (New Window)").
**Format**: JSON
## Request Query Parameters
### category
- **Type**: Enum of type String
- **Description**: Specifies the test category from which tests are retrieved. If this parameter isn’t specified, tests in all categories are retrieved. You can’t specify multiple categories in the same call. This parameter is available in API version 66.0 and later.
Existing categories are:
- apex—Retrieves only Apex test classes.
- flow—Retrieves only automated flow test classes.
### testLevel
- **Type**: Enum of type String
- **Description**: Specifies which tests to retrieve based on test level. If omitted, defaults to RunAllTestsInOrg. Aligns with the testLevel request body parameter in the [Test Runner API](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_resources_testing_runner_async.htm "Use the Test Runner API to execute Apex and flow tests asynchronously. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later."). Available in API version 68.0 and later and replaces showAllMethods. Valid values:
- RunAllTestsInOrg—all tests in the org, regardless of namespace. Includes tests from installed managed packages.
- RunLocalTests—tests in the org’s namespace, plus flow tests. Excludes tests from installed managed packages.
### showAllMethods
- **Type**: Boolean
- **Description**: Deprecated. Available only in API version 67.0 and earlier. In API version 68.0 and later, use testLevel instead.
Specifies whether to retrieve all methods (true) or only visible methods (false) in a test class.
If this parameter value isn’t specified, the default value is false.
Results adhere to standard Apex visibility rules, which are influenced by factors such as namespace, managed package origin, access modifiers, and user permissions. For example, if a test class is private, then it isn’t retrieved unless showAllMethods is set to true.
### namespacePrefix
- **Type**: String
- **Description**: Specifies the namespace from which tests are retrieved. If this parameter isn’t specified, tests in all namespaces are retrieved.
All automated flow tests are in the FlowTesting namespace. In namespaced packages and orgs, the full namespace of an automated flow test is FlowTesting.namespacePrefix.
- In API version 66.0 and later, to query for only flow tests in all namespaces, set the category query parameter to flow and don’t specify a namespacePrefix. To query for only flow tests in a specific namespaced package or org, set the category query parameter to flow and set namespacePrefix to the namespace.
- In API version 65.0, to query for only flow tests, set the namespacePrefix to FlowTesting. To query for flow tests in a specific namespaced package or org, set namespacePrefix to FlowTesting.namespacePrefix.
### nextRecord
- **Type**: String
- **Description**: A cursor that specifies the first test class to retrieve in the next page of results. This value is included in the nextRecordUrl property of the current page.
### pageSize
- **Type**: Integer
- **Description**: Specifies the number of test classes to retrieve per page. If this parameter value isn’t specified, the default value is 1000 classes. The maximum value is 10000 classes.
## Request Body
None.
## Response Body Properties
### apexTestClasses
- **Type**: Object\[\]
- **Description**: An array of Apex test class objects. If there aren’t any tests in the result set, the value is \[\].
### size
- **Type**: Integer
- **Description**: The total number of test classes in the result set across all pages. If the result set is empty, the value is 0.
### nextRecordsUrl
- **Type**: String
- **Description**: The URL of the next page in the result set. If the current page is the last page in a result set, the nextRecordsUrl value is null.
### testSetSignature
- **Type**: String
- **Description**: An MD5 hash that represents the test classes and methods in the result set. If there aren’t any tests in the result set, the value is "".
When a result set spans multiple pages, the testSetSignature can change from one page to the next. A different testSetSignature indicates that the tests in the result set have changed since the retrieval of the previous page.
### message
- **Type**: String
- **Description**: An informational message about the request, such as an input validation warning, or null if there is no applicable message.
Each Apex test class object in the apexTestClasses list includes these properties.
### id
- **Type**: String
- **Description**: The Salesforce ID of the test class.
All Apex test classes have an ID.
Not all flow test classes have an ID. If the flow test class doesn’t have an ID, then the id value is "".
### name
- **Type**: String
- **Description**: The name of the test class.
For a flow test, the name is the API name of the flow.
### namespacePrefix
- **Type**: String
- **Description**: The namespace of the test class.
Apex tests are in the default namespace. If an Apex test is in a namespaced package or org, the namespacePrefix value is "NamepacePrefix". Otherwise, the namespacePrefix value is "".
All flow tests are in the [FlowTesting](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexref.meta/apexref/apex_namespace_flowtesting.htm) namespace. If a flow test is in a namespaced package or org, the namespacePrefix value is "FlowTesting.NamepacePrefix". Otherwise, the namespacePrefix value is "FlowTesting".
### testMethods
- **Type**: Object\[\]
- **Description**: An array of test methods in the test class.
Each test method object includes the name property, which is set to the name of the test method. For example, {"name": "testSimpleAddition"}.
A flow test method name includes the API name of the flow followed by an underscore (\_) and the API name of the flow test. For example, {"name":"FlowName\_UpdateRecordFlowTest"}
## Example
**Example Request**
curl "https://MyDomain.my.salesforce.com/services/data/v68.0/tooling/tests?namespacePrefix=my\_namespace&pageSize=2" \\
\-H "Authorization: Bearer token" \\
-H "X-Chatter-Entity-Encoding: false"
**Example Response Body**
{
"apexTestClasses":\[
{
"id":"01pxx0000004UVl",
"name":"BAAdditionTest",
"namespacePrefix":"my\_namespace",
"testMethods":\[
{"name":"testNegativeAddition"},
{"name":"testSimpleAddition"}
\]
},
{
"id":"01pxx0000004UXN",
"name":"BABitwiseTest",
"namespacePrefix":"my\_namespace",
"testMethods":\[
{"name":"testBitwiseAND"},
{"name":"testBitwiseOR"}
\]
}
\],
"message":null,
"nextRecordsUrl":"/services/data/v68.0/tooling/tests?namespacePrefix=my\_namespace&pageSize=2&nextRecord=my\_namespace.BAComparisonTest",
"size":10,
"testSetSignature":"91a678b54197669171f11eb824d6765a"
}
# Run Unit Tests Asynchronously
Use the Test Runner API to execute Apex and flow tests asynchronously. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later.
## Syntax
**URI**: /services/data/vXX.X/tooling/runTestsAsynchronous/
**HTTPS Method**: POST
**Authentication**: Authorization: Bearer token
**Format**: JSON
## Request Parameters
None.
## Request Body Properties
There are two supported JSON request body formats.
You can run asynchronous tests according to the test level or test category. For Apex tests, you can specify test classes or test suites.
### testLevel
- **Type**: String
- **Description**: Optional. Specifies the level of tests to run.
If you set this property to a value other than RunSpecifiedTests, omit the classNames, classids, suitenames, and suiteids properties.
If not specified, the default value is RunSpecifiedTests.
- **Possible values**:
- RunLocalTests—run all tests in your org, except the ones that originate from installed managed packages.
- RunAllTestsInOrg—run all tests in your org, including tests in managed packages.
- RunSpecifiedTests—run only the test suites or classes that you specify.
### Category
- **Type**: String\[\]
- **Description**: Optional. Specifies the categories of tests to run.
If not specified, tests in all categories are run.
- **Possible values**:
- Apex–run Apex tests.
- Flow–run flow tests.
### maxFailedTests
- **Type**: String
- **Description**: Optional. Specifies the maximum failed Apex tests allowed to run as an integer value from "0" to "1,000,000".
If not specified, all Apex tests run regardless of the number of tests that have passed or failed.
A value of "0" causes the test run to stop if any failure occurs. A value of "1" causes the test run to stop on the second failure, and so on. High values can cause slow performance. Each 1,000 tests that you add to your maxFailedTests value adds about three seconds to your test run, not including the time that the tests take to execute.
maxFailedTests doesn’t support flow tests. Flow tests that fail during a test run aren’t included in the maxFailedTests count.
### skipCodeCoverage
- **Type**: String
- **Description**: Optional. Specifies whether to opt out of collecting code coverage information during the test run ("true") or to collect code coverage information ("false").
If not specified, the default value is false.
### classNames
- **Type**: String
- **Description**: Optional. A comma-separated list of Apex and flow test classes. If not specified, all test classes in the org run, as long as they meet the criteria of the other specified property values.
For Apex test classes, use the namespace prefix of the test class, followed by a period (.) and the name of the test class. For example, "customNamepacePrefix.TestClassName". For Apex tests that don’t originate from namespaced packages or orgs, omit the namespace. For example, "TestClassName".
All flow tests are in the FlowTesting namespace, and the flow test class name is the API name of the flow. Therefore, for a flow test that doesn’t originate from a namespaced package or org, specify the className value as "FlowTesting.flowName". For a flow test in a namespaced package or org, specify the className value as "FlowTesting.customNamepacePrefix.flowName".
classNames doesn’t support flow tests.
### classids
- **Type**: String
- **Description**: Optional. A comma-separated list of Apex test class IDs. If not specified, all Apex test classes run, as long as they meet the criteria of the other specified property values.
classids doesn’t support flow tests.
### suiteNames
- **Type**: String
- **Description**: Optional. A comma-separated list of Apex test suite names. If not specified, all Apex test suites run, as long as they meet the criteria of the other specified property values.
suiteNames doesn’t support flow tests.
### suiteids
- **Type**: Strings
- **Description**: Optional. A comma-separated list of Apex test suite IDs. If not specified, all Apex test suites run, as long as they meet the criteria of the other specified request properties.
suiteids doesn’t support flow tests.
You can also run asynchronous tests for specific test classes and methods. With this format, you can specify Apex and flow tests.
### tests
- **Type**: Object\[\]
- **Description**: Required. An array of objects that represent tests to run. Each test object includes the test class name or test class ID and optionally methods in that class.
### maxFailedTests
- **Type**: String
- **Description**: Optional. Specifies the maximum failed Apex tests allowed to run as an integer value from "0" to "1,000,000".
If not specified, all Apex tests run regardless of the number of tests that have passed or failed.
A value of "0" causes the test run to stop if any failure occurs. A value of "1" causes the test run to stop on the second failure, and so on. High values can cause slow performance. Each 1,000 tests that you add to your maxFailedTests value adds about three seconds to your test run, not including the time that the tests take to execute.
maxFailedTests doesn’t support flow tests. Flow tests that fail during a test run aren’t included in the maxFailedTests count.
### skipCodeCoverage
- **Type**: String
- **Description**: Optional. Specifies whether to opt out of collecting code coverage information during the test run ("true") or to collect code coverage information ("false").
If not specified, the default value is "false".
Each test object in the tests array can include these properties.
### className
- **Type**: String
- **Description**: Required if classId isn’t included. The namespace prefix of the test class, followed by a period (.) and the name of the test class. For example, "customNamepacePrefix.TestClassName".
For Apex tests that don’t originate from namespaced packages or orgs, omit the namespace. For example, "TestClassName".
All flow tests are in the FlowTesting namespace, and the flow test class name is the API name of the flow. Therefore, for a flow test that doesn’t originate from a namespaced package or org, specify the className value as "FlowTesting.flowName". For a flow test in a namespaced package or org, specify the className value as "FlowTesting.customNamepacePrefix.flowName".
### classId
- **Type**: String
- **Description**: Required if className isn’t included. The Salesforce ID of the Apex test class.
classId doesn’t support flow tests.
### testMethods
- **Type**: String\[\]
- **Description**: Optional. The names of methods in a test class to run. If not specified, all methods in the test class are run.
For a flow test, includes the API name of the flow followed by an underscore (\_) and the API name of the flow test. For example, FlowName\_UpdateRecordFlowTest.
Multiple occurrences of a test method name in a testMethods array are ignored. Test methods that don’t exist are skipped.
## Response Body Properties
### root
- **Type**: String
- **Description**: The [AsyncApexJob](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_asyncapexjob.htm "HTML (New Window)") ID that identifies the set of tests that were run.
## Usage
- To view the test progress and a results summary, query [ApexTestRunResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_apextestrunresult.htm) and filter by the AsyncApexJob ID.
- To view detailed test results after the tests are completed, query [ApexTestResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_apextestresult.htm) and filter by the ApexTestRunResult ID.
- If you set skipCodeCoverage to false, code coverage for each test method is stored in the [ApexCodeCoverage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverage.htm) Tooling API object. See [Testing and Code Coverage](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_code_coverage_intro.htm).
## Example
**Example Request Body: All Tests By Category**: Run tests according to the test level and test category.
{
"testLevel": "RunAllTestsInOrg",
"Category": \["Flow", "Apex"\],
"skipCodeCoverage": "true"
}
**Example Request Body: Specific Tests**: Execute specific test classes and methods.
{
"tests": \[
{
"className": "FlowTesting.UpdateAccountDescriptionFlow",
"testMethods": \[
"UpdateAccountDescriptionFlow\_TestAccountDescriptionUpdated",
"UpdateAccountDescriptionFlow\_TestAccountDescriptionHasWords"
\]
},
{
"className": "FlowTesting.pkgNs1.UpdateContactDescriptionFlow"
},
{
"className": "my\_namespace.BAAdditionTest"
},
{
"className": "SimpleApexTest"
}
\],
"maxFailedTests": "2",
"skipCodeCoverage": "false"
}
**Example Response Body**:
{"root": "707xx0000000bnbh"}
# Run Unit Tests Synchronously
Use the Test Runner API to execute one or more Apex or flow tests synchronously. All test methods in a synchronous test run must be in the same class. Available for Apex tests in API version 30.0 and later. Available for automated flow tests in API version 65.0 and later. In API version 40.0 and later, running Apex tests synchronously using the POST method for /runTestsSynchronous/ requires the View Setup user permission.
## Syntax
**URI**: /services/data/vXX.X/tooling/runTestsSynchronous/
**HTTPS Method**: POST
**Authentication**: Authorization: Bearer token
**Format**: JSON
## Request Parameters
None.
## Request Body Properties
### tests
- **Type**: Object\[\]
- **Description**: Required. An array that contains a test object. The test object includes the Apex or flow test class name, the Apex test class ID, and optionally methods in that class to run. Only one test object is allowed in the array. For definitions of properties that the test object can include, see the next table.
### maxFailedTests
- **Type**: String
- **Description**: Optional. Specifies the maximum failed Apex tests allowed to run as an integer value from "0" to "1,000,000".
If not specified, all Apex tests run regardless of the number of tests that have passed or failed.
A value of "0" causes the test run to stop if any failure occurs. A value of "1" causes the test run to stop on the second failure, and so on. High values can cause slow performance. Each 1,000 tests that you add to your maxFailedTests value adds about three seconds to your test run, not including the time that the tests take to execute.
maxFailedTests doesn’t support flow tests. Flow tests that fail during a test run aren’t included in the maxFailedTests count.
### skipCodeCoverage
- **Type**: String
- **Description**: Optional. Specifies whether to opt out of collecting code coverage information during the test run ("true") or to collect code coverage information ("false"). If not specified, the default value is "false".
The test object in the tests array can include these properties.
### className
- **Type**: String
- **Description**: Required if classId isn’t included. The namespace prefix of the test class, followed by a period (.) and the name of the test class. For example, "customNamepacePrefix.TestClassName".
For Apex tests that don’t originate from namespaced packages or orgs, omit the namespace. For example, "TestClassName".
All flow tests are in the FlowTesting namespace, and the flow test class name is the API name of the flow. Therefore, for a flow test that doesn’t originate from a namespaced package or org, specify the className value as "FlowTesting.flowName". For a flow test in a namespaced package or org, specify the className value as "FlowTesting.customNamepacePrefix.flowName".
### classId
- **Type**: String
- **Description**: Required if className isn’t included. The Salesforce ID of the Apex test class.
classId doesn’t support flow tests.
### testMethods
- **Type**: String\[\]
- **Description**: Optional. The names of methods in a test class to run. If not specified, all methods in the test class are run.
For a flow test, includes the API name of the flow followed by an underscore (\_) and the API name of the flow test. For example, FlowName\_UpdateRecordFlowTest.
Multiple occurrences of a test method name in a testMethods array are ignored. Test methods that don’t exist are skipped.
## Response Body Properties
### apexLogId
- **Type**: String
- **Description**: The ID of the [ApexLog](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_apexlog.htm) object that contains information about the test run if debug logging is enabled. If debug logging disabled, the apexLogId is null.
### codeCoverage
- **Type**: CodeCoverageResult\[\]
- **Description**: If skipCodeCoverage is "true" or the test run only contains flow tests, returns an empty array.
If skipCodeCoverage is "false" and the test run contains Apex tests, returns an array of [CodeCoverageResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_deployresult.htm#codecoverageresult) objects that contain the details of the code coverage for the specified unit tests.
### codeCoverageWarnings
- **Type**: CodeCoverageWarning\[\]
- **Description**: If skipCodeCoverage is "true" or the test run only contains flow tests, returns an empty array.
If skipCodeCoverage is "false" and the test run contains Apex tests, returns an array of [CodeCoverageWarning](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_deployresult.htm#codecoveragewarning) objects that contain both the total number of lines that could have been executed, as well as the number, line, and column positions of code that was not executed.
### failures
- **Type**: Object\[\]
- **Description**: An array of objects that represents test methods that failed during the test run.
### flowCoverage
- **Type**: FlowCoverageResult\[\]
- **Description**: If skipCodeCoverage is "true" or the test run only contains Apex tests, returns an empty array.
If skipCodeCoverage is false and the test run contains flow tests, returns an array of [FlowCoverageResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_deployresult.htm#flowcoverageresult) objects that contain information about the flow version and the number of elements executed by the test run.
### flowCoverageWarnings
- **Type**: FlowCoverageWarning\[\]
- **Description**: If skipCodeCoverage is "true" or the test run only contains Apex tests, returns an empty array.
If skipCodeCoverage is false and the test run contains flow tests, returns an array of [FlowCoverageWarning](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_deployresult.htm#flowcoveragewarning) objects that contain information about the flow version that generated warnings.
### numFailures
- **Type**: Integer
- **Description**: The number of test methods that failed during the test run.
### numTestsRun
- **Type**: Integer
- **Description**: The total number test methods that were run.
### successes
- **Type**: Object\[\]
- **Description**: An array of objects that represents test methods that succeeded during the test run.
### totaltime
- **Type**: Integer
- **Description**: The total duration of the test run in milliseconds.
Each failures and successes array is comprised of objects that represent test methods. Each test object has these properties.
### id
- **Type**: String
- **Description**: The Salesforce ID of the test method.
### methodName
- **Type**: String
- **Description**: The name of the test method.
For a flow test, the methodName value is the API name of the flow test.
### name
- **Type**: String
- **Description**: The name of the test class.
For a flow test, the name value is the API name of the flow.
### namespace
- **Type**: String
- **Description**: The namespace prefix of the test class that contains the test method.
For a flow test that originates from a namespaced package or org, the namespace value is "FlowTesting.NamespacePrefix".
For an Apex or flow test that doesn’t originate from a namespaced package or org, the namespace value is null.
### seeAllData
- **Type**: Boolean
- **Description**: Indicates whether the test method was allowed to access all record data in the org during the test run (true) or not (false).
For Apex tests, the seeAllData value is set with the [isTest(SeeAllData=True)](http://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_testing_seealldata_using.htm) annotation on the Apex test class or method. For automated flow tests, the seeAllData value is always true.
### time
- **Type**: Integer
- **Description**: The time it took the test method to run, in milliseconds.
The failures array can also contain these properties.
### message
- **Type**: String
- **Description**: The error message that the failed test returns.
### stackTrace
- **Type**: String
- **Description**: The location of the exception in the failed test.
### type
- **Type**: String
- **Description**: For internal use only. Possible values are: Class
## Example
**Example Request Body**
{
"tests": \[
{
"className": "FlowTesting.pkgNs1.UpdateAccountDescriptionFlow",
"testMethods": \["UpdateAccountDescriptionFlow\_TestUpdateDescriptionDeleted",
"UpdateAccountDescriptionFlow\_TestAccountDescriptionHasWords"\]
}
\],
"maxFailedTests": "2",
"skipCodeCoverage": "true"
}
**Example Response Body**
{
"apexLogId": null,
"codeCoverage": \[\],
"codeCoverageWarnings": \[\],
"failures": \[\],
"flowCoverage": \[\],
"flowCoverageWarnings": \[\],
"numFailures": 0,
"numTestsRun": 2,
"successes": \[
{
"id": "07Mxx00000000NuEAI",
"methodName": "TestUpdateDescriptionDeleted",
"name": "UpdateAccountDescriptionFlow",
"namespace": "FlowTesting.PkgNs1",
"seeAllData": true,
"time": 12
},
{
"id": "07Mxx00000000NtEAI",
"methodName": "TestAccountDescriptionHasWords",
"name": "UpdateAccountDescriptionFlow",
"namespace": "FlowTesting.PkgNs1",
"seeAllData": true,
"time": 129
}
\],
"totalTime": 12189
}
# SandboxInfo
Represents a sandbox.
SandboxInfo enqueues a sandbox for creation or refresh. A create operation on SandboxInfo represents creation of a new sandbox, and an update represents refresh of an existing sandbox. For every creation or update, a SandboxProcess is automatically created and is used for monitoring the sandbox copy process.
This object is available in API version 35.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update()
## Supported REST HTTP Methods
GET, PATCH, POST, DELETE
## Fields
| Field | Details |
| --- | --- |
| ActivationUserGroupId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A reference to the ID of the public group consisting of users who can access the sandbox. The user who created the sandbox is added to the group by default.
This field is a relationship field.
Restrictions
- You can specify this value only during sandbox creation and refresh.
- Available in API version 60.0 and later.
- Behavior change announcement: Starting in Spring ’25, this field will be required when creating or refreshing a Developer or Developer Pro sandbox. To avoid losing the ability to create or refresh Developer and Developer Pro sandboxes, use API version 60.0 or later.
Relationship Name
ActivationUserGroup
Relationship Type
Lookup
Refers To
Group
|
| ApexClassId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A reference to the ID of an Apex class that runs after each copy of the sandbox. Allows you to perform business logic on the sandbox to prepare it for use.
Restrictions
- You can specify this value only during sandbox creation.
- The class must extend the System.SandboxPostCopy interface.
- Available in API version 36.0 and later.
Relationship Name
ApexClass
Relationship Type
Lookup
Refers To
ApexClass
|
| AutoActivate |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, you can activate a sandbox refresh immediately.
Restrictions
This field only affects behavior for update operations (Sandbox refresh).
|
| CopyArchivedActivities |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, archived activity data is copied to the sandbox.
Restrictions
This field is visible only if your organization has purchased an option to copy archived activities for sandbox. To obtain this option, contact Salesforce Customer Support.
You can set the value to true only for a Full sandbox.
|
| CopyChatter |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, archived Chatter data is copied to the sandbox.
Restrictions
You can set the value to true only for a Full sandbox.
|
| Description |
Type
string
Properties
Create, Filter, Nillable, Sort, Update
Description
A description of the sandbox, which helps you distinguish it from other sandboxes.
Restrictions
The description length can’t exceed 1,000 characters.
|
| Features |
Type
textarea
Properties
Create, Nillable, Update
Description
The add-on features to apply when creating or refreshing the sandbox.
Currently there’s one valid value:
- \['SandboxStorage'\]: Increases the data storage available for Developer sandboxes from 200 MB to 400 MB and Developer Pro sandboxes from 1 GB to 2 GB. You can’t use this feature with Partial Copy or Full sandboxes.
|
| HistoryDays |
Type
int
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Represents the number of days of object history to be copied in the sandbox.
Valid values:
- \-1, which means all available days
- 0 (default)
- 10
- 20
- 30
- 60
- 90
- 120
- 150
- 180
Restrictions
This field affects behavior only for Full sandboxes.
|
| IsNonPreview |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
If true, creates a non-preview sandbox.
During the transition from one Salesforce major release to another, sandboxes get upgraded on different timelines based on their release type. Preview sandboxes provide early access to new features and are upgraded approximately six weeks before production orgs, while non-preview sandboxes are upgraded as the major release upgrade completes.
Between the completion of a major release upgrade and the start of the next release upgrade, we attempt to create preview sandboxes by default when you create or refresh a sandbox.
Use a non-preview sandbox to test changes in an environment that’s identical to your production org without potential issues from the next release upgrade.

#### Note
If you create a non-preview sandbox 24 hours or less from the start of the next release upgrade, we can’t guarantee that the non-preview sandbox creation will be successful. See [Salesforce Sandbox Preview Instructions](https://help.salesforce.com/s/articleView?id=000357271&language=en_US&type=1) in Salesforce Help for more information on release transitions and timelines.
Restrictions
- Non-preview sandbox creation is a restricted feature. Contact Salesforce Customer Support to enable the feature and related API in your production org.
- The IsNonPreview field is valid only between the completion of a major release upgrade and the start of the next release upgrade. If you create a sandbox outside of this window of time, remove the IsNonPreview field.
|
| LicenseType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Represents the sandbox license type. Valid values:
- DEVELOPER
- DEVELOPER\_PRO
- PARTIAL
- FULL
|
| SandboxName |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Name of the sandbox.
Restrictions
- Must be a unique sandbox name.
- Must be alphanumeric characters.
- Must be 10 or fewer characters.
- Can’t be the same as the name of a sandbox that’s pending deletion.
|
| SourceId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A reference to the ID of a SandboxInfo that serves as the source org for a cloned sandbox.
Relationship Name
Source
Relationship Type
Lookup
Refers To
SandboxInfo
|
| TemplateId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
A reference to the PartitionLevelScheme that represents the sandbox template associated with this sandbox. A sandbox template lets you select which objects to copy in a sandbox.
To use the TemplateId field, you must have the ManageSandboxes user permission.
Restrictions
- Setting a TemplateId value for a Partial Copy sandbox is required.
- Setting a TemplateId value for a Full sandbox is optional.
- Setting a TemplateId value for other sandbox types is prohibited, because other sandbox types don’t support sandbox templates.
Relationship Name
Template
Relationship Type
Lookup
Refers To
PartitionLevelScheme
|
## Usage
SandboxInfo and [SandboxProcess](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sandboxprocess.htm#tooling_api_objects_sandboxprocess "Represents the sandbox copy process for a SandboxInfo record.") work together to manage the creation or refresh of a sandbox.
## Creating a Sandbox
To enqueue a new sandbox:
- Create a SandboxInfo record.
- To find the status of a sandbox after it is enqueued, query SandboxProcess for a given SandboxInfoId field to find the latest SandboxProcess record. The value of Completed in Status indicates that the creation process is finished.
## Refreshing a Sandbox
To refresh a sandbox:
- To start a sandbox refresh, edit the SandboxInfo record.
- To find the status of a sandbox after it is enqueued, find the latest SandboxProcess record by querying SandboxProcess for a given SandboxInfoId value. The value of Status indicates the current state of the process.
- When the Status field value is Pending Activation, change the value of the RefreshAction field to either ACTIVATE or DISCARD.
## Deleting a Sandbox
To delete a sandbox, delete the SandboxInfo record that represents the sandbox. Deleting the SandboxInfo record deletes the sandbox and frees up a license.
## Checking Sandbox Progress
Each SandboxProcess record progresses through several stages represented by the StageType and StageNumber on the SandboxProcessStage record. The system updates progress details as the copy proceeds. For every stage, you can view specifics using the Status, StartTime, EndTime, and InfoLastUpdated fields.
If your sandbox status is suspended or stopped for more than 1 hour, contact Salesforce customer support.
While the system can't provide a time-based estimate, you can track your place in the queue or how much work exists and has been completed.
- During the In Queue stage, you can check your current place in the queue with the EstimatedTotalWork field.
- During the Data Copy and Activation stages, you can check how much work exists and has been completed to estimate copy completion with the EstimatedTotalWork, ActualTotalWork, and CompletedWork fields.

#### Note
- If IsActualWorkFinal = true, then ActualTotalWork is a better representation of the total work required.
- If IsActualWorkFinal = false, then EstimatedTotalWork is a better representation of the total work required.
# SandboxProcess
Represents the sandbox copy process for a SandboxInfo record.
When you create a SandboxInfo record, a corresponding SandboxProcess record is created. The latest SandboxProcess record for a SandboxInfo record represents the current state of the sandbox.
This object is available in API version 35.0 and later.
## Supported SOAP Calls
query(), retrieve(), update()
## Supported REST HTTP Methods
GET, PATCH
## Fields
Except for RefreshAction, all fields are read only. The read-only fields represent the attributes chosen on SandboxInfo when a copy process was enqueued, or represent the state of the process for monitoring purposes.
| Field | Details |
| --- | --- |
| ActivatedById |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
A reference to the ID of the user who requested sandbox activation.
Relationship Name
ActivatedBy
Relationship Type
Lookup
Refers To
User
|
| ActivatedDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents when the sandbox was activated during a refresh.
|
| ActivationUserGroupId |
Type
reference
Properties
Filter, Group, Nillable, Sort, Update
Description
A reference to the ID of the group consisting of users who can access the sandbox. The user who created the sandbox is added to the group by default. Available in API version 60.0 and later.
This field is a relationship field.
Relationship Name
ActivationUserGroup
Relationship Type
Lookup
Refers To
Group
|
| ApexClassId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
A reference to the ID of an Apex class to run after each copy of the sandbox. Running this class allows you to perform DML operations on the sandbox to prepare it for use. The class must extend the System.SandboxPostCopy interface. Available in API version 36.0 and later.
Relationship Name
ApexClass
Relationship Type
Lookup
Refers To
ApexClass
|
| AutoActivate |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Represents whether the sandbox refresh is configured to activate immediately upon completion.
|
| CopyArchivedActivities |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, archived activity data is copied to the sandbox.
Restrictions
This field is visible only if your organization has purchased an option to copy archived activities for sandbox. To obtain this option, contact Salesforce Customer Support.
You can set the value to true only for a Full sandbox.
|
| CopyChatter |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Represents whether archived Chatter data is copied to the sandbox.
|
| CopyProgress |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Represents how much of a copy has been completed.
Available for Developer, Developer Pro, and Full sandboxes. Not available for Full or Partial sandboxes created from sandbox templates.
|
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
A description of the sandbox, which helps you distinguish it from other sandboxes.
|
| EndDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents when the sandbox copy process finished.
|
| Features |
Type
textarea
Properties
Nillable, Update
Description
The list of add-on features to apply after the sandbox is created or refreshed.
Currently there’s one valid value:
- \['SandboxStorage'\]: Increases the data storage available for Developer sandboxes from 200 MB to 400 MB and Developer Pro sandboxes from 1 GB to 2 GB. You can’t use this feature with Partial Copy or Full sandboxes.
|
| HistoryDays |
Type
int
Properties
Defaulted on create, Filter, Group, Sort
Description
Represents the number of days of object history to be copied in the sandbox.
Valid values:
- \-1, which means all available days
- 0
- 10
- 20
- 30
- 60
- 90
- 120
- 150
- 180
|
| LicenseType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The sandbox license type. Valid values:
- ADVANCED\_DEV
- ADVANCED\_FULL
- DEVELOPER
- DEVELOPER\_PRO
- PARTIAL
- FULL
- FULL\_PLUS
|
| RefreshAction |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Editing this field activates or discards a sandbox refresh. Valid values:
- ACTIVATE
- DISCARD
Restrictions
If all the following are true, you can activate or discard a sandbox refresh by editing the value in this field.
- This record is the latest SandboxProcess record.
- The associated sandbox has been refreshed.
- This record’s Status is Pending Activation.
|
| SandboxInfoId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
A reference to the ID of the SandboxInfo being processed (create or refresh).
Relationship Name
SandboxInfo
Relationship Type
Lookup
Refers To
SandboxInfo
|
| SandboxName |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The name of the sandbox.
|
| SandboxOrganization |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the org created by the copy process. This field is available in API version 37.0 and later.
|
| SourceId |
Type
reference
Properties
Filter, Group, Nillable, Sort, Update
Description
A reference to the ID of the SandboxInfo that this sandbox is a clone of. This field is used only when cloning a sandbox. When this field is used, LicenseType must be null. Your source sandbox must be an existing, completed sandbox, that belongs to the same production org as the sandbox you’re creating or refreshing. Your SourceId value can’t be the same SandboxInfo that you’re updating. Available in API version 37.0 and later.
Relationship Name
Source
Relationship Type
Lookup
Refers To
SandboxInfo
|
| StartDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
Represents when the sandbox copy process started.
|
| Status |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Current state of the sandbox copy process.
If running a SOQL query, use the values in parentheses. Possible values include:
- Activating
- Activation Confirmed (5)
- Deactivation Confirmed (6)
- Deactivation Finished (7)
- Activation Processing (8)
- Completed (1)
- Deleted (D)
- Deleting (E)
- Discarding (F)
- Locked (B)
- Locking (L)
- Pending (0)
- Pending Activation (4)
- Processing (2)
- Sampling (X)
- Stopped (G)
- Suspended (S)
|
| TemplateId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
A reference to the ID of the PartitionLevelScheme that represents the sandbox template associated with the sandbox for this process. A sandbox template selects which objects to copy in a sandbox.
To use the TemplateId field, you must have the ManageSandboxes user permission.
Relationship Name
Template
Relationship Type
Lookup
Refers To
PartitionLevelScheme
|
## Usage
[SandboxInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sandboxinfo.htm#tooling_api_objects_sandboxinfo "Represents a sandbox.") represents a sandbox, and SandboxProcess represents the sandbox copy process, which occurs when you create a sandbox or refresh it. You can also delete a sandbox.
## Creating a Sandbox
To enqueue a new sandbox:
- Create a SandboxInfo record.
- To find the status of a sandbox after it is enqueued, query SandboxProcess for a given SandboxInfoId field to find the latest SandboxProcess record. The value of Completed in Status indicates that the creation process is finished.
## Refreshing a Sandbox
To refresh a sandbox:
- To start a sandbox refresh, edit the SandboxInfo record.
- To find the status of a sandbox after it is enqueued, find the latest SandboxProcess record by querying SandboxProcess for a given SandboxInfoId value. The value of Status indicates the current state of the process.
- When the Status field value is Pending Activation, change the value of the RefreshAction field to either ACTIVATE or DISCARD.
## Deleting a Sandbox
To delete a sandbox, delete the SandboxInfo record that represents the sandbox. Deleting the SandboxInfo record deletes the sandbox and frees up a license.
## Checking Sandbox Progress
Each SandboxProcess record progresses through several stages represented by the StageType and StageNumber on the SandboxProcessStage record. The system updates progress details as the copy proceeds. For every stage, you can view specifics using the Status, StartTime, EndTime, and InfoLastUpdated fields.
If your sandbox status is suspended or stopped for more than 1 hour, contact Salesforce customer support.
While the system can't provide a time-based estimate, you can track your place in the queue or how much work exists and has been completed.
- During the In Queue stage, you can check your current place in the queue with the EstimatedTotalWork field.
- During the Data Copy and Activation stages, you can check how much work exists and has been completed to estimate copy completion with the EstimatedTotalWork, ActualTotalWork, and CompletedWork fields.

#### Note
- If IsActualWorkFinal = true, then ActualTotalWork is a better representation of the total work required.
- If IsActualWorkFinal = false, then EstimatedTotalWork is a better representation of the total work required.
# SandboxProcessStage
Represents the status and progress during a spectific stage for a SandboxProcess record.
Provides real time visibility into the status and progress of the sandbox copy so users can effectively plan and manage their development and testing activities.
This object is available in API version 66.0 and later.
## Supported SOAP Calls
query(), retrieve()
## Supported REST HTTP Methods
GET
## Fields
All fields are read only and represent the status and progress of the sandbox for monitoring purposes.
| Field | Details |
| --- | --- |
| SandboxProcess |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
Indicates the sandbox process that this progress belongs to.
Relationship Name
SandboxProcess
Relationship Type
Lookup
Refers To
SandboxProcess
|
| StageType |
Type
picklist
Properties
Filter, Group, Nillable, Sort
Description
Indicates the type of stage.
Valid values:
- In Queue
- Data Copy
- Pending Activation
- Activation
Refers To
SandboxProcess
|
| StageNumber |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Indicates the order of the stages.
- 0In Queue
- 1Data Copy
- 2Pending Activation
- 3Activation
|
| Status |
Type
picklist
Properties
Filter, Group, Nillable, Sort
Description
Indicates whether the stage has completed or not.
Valid values:
- Pending
- In Progress
- Completed
|
| StartTime |
Type
dateTime
Properties
Filter, Group, Nillable, Sort
Description
When the stage's status goes into In Progress.
|
| EndTime |
Type
dateTime
Properties
Filter, Group, Nillable, Sort
Description
When the stage's status goes into Completed.
|
| InfoLastUpdated |
Type
dateTime
Properties
Filter, Group, Nillable, Sort
Description
When we last checked the internal system for progress information on this stage.
|
| CompletedWork |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Indicates the current amount of work completed.
Restrictions
Only used for Data Copy and Activation.
|
| ActualTotalWork |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Indicates the verified amount of work to be completed. This number calculates continuously and may represent a partial amount while IsActualWorkFinal=false.
Restrictions
Only used for Data Copy and Activation
|
| IsActualWorkFinal |
Type
boolean
Properties
Filter, Group, Nillable, Sort
Description
Default false, set to true after calculation of the actual work completes.
|
| EstimatedTotalWork |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
During the In Queue stage, this represents the number of sandboxes ahead of yours.
During the Data Copy and Activation stages, this represents an estimation of work while IsActualWorkFinal=false. The estimation total derives this value from a prior sandbox copy and doesn't change throughout processing. This estimation isn't available if there's no prior copy.
|
## Usage
[SandboxInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sandboxinfo.htm#tooling_api_objects_sandboxinfo "Represents a sandbox.") represents a sandbox, and [SandboxProcess](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sandboxprocess.htm#tooling_api_objects_sandboxprocess "Represents the sandbox copy process for a SandboxInfo record.") represents the sandbox copy process, which occurs when you create a sandbox or refresh it. **SandboxProcessStage** represents the status and progress of a copy during a specific stage within the sandbox copy process.
## Creating a Sandbox
To enqueue a new sandbox:
- Create a SandboxInfo record.
- To find the status of a sandbox after it is enqueued, query SandboxProcess for a given SandboxInfoId field to find the latest SandboxProcess record. The value of Completed in Status indicates that the creation process is finished.
## Refreshing a Sandbox
To refresh a sandbox:
- To start a sandbox refresh, edit the SandboxInfo record.
- To find the status of a sandbox after it is enqueued, find the latest SandboxProcess record by querying SandboxProcess for a given SandboxInfoId value. The value of Status indicates the current state of the process.
- When the Status field value is Pending Activation, change the value of the RefreshAction field to either ACTIVATE or DISCARD.
## Deleting a Sandbox
To delete a sandbox, delete the SandboxInfo record that represents the sandbox. Deleting the SandboxInfo record deletes the sandbox and frees up a license.
## Checking Sandbox Progress
Each SandboxProcess record progresses through several stages represented by the StageType and StageNumber on the SandboxProcessStage record. The system updates progress details as the copy proceeds. For every stage, you can view specifics using the Status, StartTime, EndTime, and InfoLastUpdated fields.
If your sandbox status is suspended or stopped for more than 1 hour, contact Salesforce customer support.
While the system can't provide a time-based estimate, you can track your place in the queue or how much work exists and has been completed.
- During the In Queue stage, you can check your current place in the queue with the EstimatedTotalWork field.
- During the Data Copy and Activation stages, you can check how much work exists and has been completed to estimate copy completion with the EstimatedTotalWork, ActualTotalWork, and CompletedWork fields.

#### Note
- If IsActualWorkFinal = true, then ActualTotalWork is a better representation of the total work required.
- If IsActualWorkFinal = false, then EstimatedTotalWork is a better representation of the total work required.
# SchedulingObjective
Represents scheduling objective settings for Workforce Engagement. This object is available in API version 55.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This object is available only if Workforce Engagement is enabled in your org. To view, create, edit, and delete records, the user requires the Workforce Engagement Planner permission set.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata type in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the scheduling objective.
Possible values are the supported languages in Workforce Engagement.
|
| MasterLabel |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Label for the scheduling objective. In the UI, this field is Scheduling Objective.
|
| Metadata |
Type
mns:[SchedulingObjective](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_schedulingobjective.htm)
Properties
Create, Nillable, Update
Description
The scheduling objective’s metadata.
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.
|
| SchedulingCategory |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
What the scheduling logic applies the objective to.
Possible values are:
- A—Service Appointment
- B—Shift
|
| SchedulingObjectiveType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Specifies the type of scheduling objective.
Possible values are:
- AgentPreference—In the UI, this value appears as Maximized Preferences.
- BalanceNonStandardShifts
- BalanceShifts
|
# SchedulingRule
Represents scheduling rule settings for Workforce Engagement. This object is available in API version 53.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This object is available only if Workforce Engagement is enabled in your org. To view, create, edit, and delete records, the user requires the Workforce Engagement Planner permission set.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata type in Metadata API. The full name can include a namespace prefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the scheduling rule.
Possible values are the supported languages in Workforce Engagement.
|
| MasterLabel |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Label for the scheduling rule. In the UI, this field is Scheduling Rule.
|
| Metadata |
Type
mns:[SchedulingRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_schedulingrule.htm)
Properties
Create, Nillable, Update
Description
The scheduling rule’s metadata.
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.
|
| SchedulingCategory |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. What the scheduling logic applies the rule to.
Possible values are:
- A—Service Appointment
- B—Shift
|
| SchedulingRuleType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Specifies the type of rule.
Possible values are:
- A—Active Resources
- B—Match Skills
- C—Availability
- LimitNonstandardShifts—Specifies a rule type that limits how many non-standard shifts can be assigned to each agent. Available in API version 54.0 and later.
- M—Match Territory
- Q—Match Queues
- RestTimeMinutes—Specifies a rule type that finds resources who have met the minimum rest time in minutes between consecutive shifts. Available in API version 56.0 and later.
- W—Work Limit
|
# ScndTelephPrvdOtbdDtl
Represents the outbound SIP routing configuration for a secondary telephony provider in Agentforce Contact Center BYOC. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access ScndTelephPrvdOtbdDtl, you must have the Agentforce Contact Center Admin (Salesforce Voice) permission set assigned.
## Fields
| Field | Details |
| --- | --- |
| CustomHeader |
Type
textarea
Properties
Create, Nillable, Update
Description
Custom SIP headers for outbound calls.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Unique name of the object in the API.
|
| HostConfig |
Type
textarea
Properties
Create, Nillable, Update
Description
Key-value pair of IP address and port. You can specify a maximum of 5 entries.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the MasterLabel.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
User interface label for the outbound details for the secondary telephony provider. This internal label doesn’t get translated.
|
| OutboundAuthEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether outbound authentication is enabled (true) or not (false).
The default value is false.
|
| SecondaryTelephonyProviderId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
ID of the associated secondary telephony provider.
This field is a relationship field.
Relationship Name
SecondaryTelephonyProvider
Refers To
SecondaryTelephonyProvider
|
# Scontrol
Represents a custom s-control, which is custom content that our system hosts, but client applications execute. An s-control can contain any type of content that you can display or run in a Web browser.

#### Important
Visualforce pages supersede s-controls. Organizations that haven't previously used s-controls can’t create them. Existing s-controls are unaffected and can still be edited. We recommend that you move your s-controls to Visualforce. We continue to support this object.
## Supported SOAP Calls
query()
## Supported REST Methods
GET
## Special Access Rules
- Your organization must be using Enterprise, Developer, or Unlimited Edition and be enabled for custom s-controls.
- Customer Portal users can’t access this object.
## Fields
| Field | Details |
| --- | --- |
| ContentSource |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Specify the source of the s-control content, either custom HTML, a snippet (s-controls that are included in other s-controls), or a URL.
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort, Update
Description
Description of the custom s-control.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort, Update
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **S-Control Name**.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, Salesforce generates one for each record, which slows performance.
|
| EncodingKey |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort, Update
Description
Picklist of character set encodings, including ISO-08859-1, UTF-8, EUC, JIS, Shift-JIS, Korean (ks\_c\_5601-1987), Simplified Chinese (GB2312), and Traditional Chinese (Big5).
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Name |
Type
string
Properties
Filter, Group, Sort, Update
Description
Required. Name of this custom s-control. Label is **Label**.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 is the namespace prefix of the Developer Edition organization of the package developer.
- In organizations that are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| SupportsCaching |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the s-control supports caching (true) or not (false).
|
## Usage
Use custom s-controls to manage custom content that extends application functionality. All users can view custom s-controls, but the “Customize Application” permission is required to create or update custom s-controls.
# SearchLayout
Represents a search layout defined for an object.
This object is available in the Tooling API version 34.0 and later.
## Supported SOAP Calls
describeObjects(), query()
## 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 |
| --- | --- |
| ButtonsDisplayed |
Type
[SearchLayoutButtonsDisplayed](#searchlayoutbuttonsdisplayed)
Properties
Nillable
Description
The list of buttons available in list views for an object.
This field is equivalent to the Buttons Displayed value in Object Name List View in the Search Layouts related list on the object detail page. It’s also equivalent to the listViewButtons field on SearchLayouts in Metadata API.
|
| 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. DurableId in queries allows you to find the right record without having to retrieve the entire record.
|
| EntityDefinition |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the object associated with this search layout. Use in subqueries.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the record in EntityDefinition. Use in subqueries.
|
| FieldsDisplayed |
Type
[SearchLayoutFieldsDisplayed](#searchlayoutfieldsdisplayed)
Properties
Nillable
Description
The list of fields displayed in a search result for the object. The name field is required. It’s always displayed as the first column header, so it isn’t included in this list; all additional fields are included. The field name relative to the object name, for example MyCustomField\_\_c, is specified for each custom field.
This field is equivalent to the Search Results in the Search Layouts related list on the object detail page in the application user interface. It’s also equivalent to searchResultsAdditionalFields in Metadata API.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The label for this search layout.
|
| LayoutType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The type of search layout.
|
| ListLayout |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Unique identifier for the field. Identifies the list layout a search layout is related to. Available in API version 48.0 and later.
|
| Profile |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Unique identifier for the field. Identifies the profile to which a search layout applies. Available in API version 48.0 and later.
|
| ProfileName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the profile to which a search layout applies. Available in API version 48.0 and later.
|
## SearchLayoutButtonsDisplayed
| Type | Details |
| --- | --- |
| applicable |
Type
boolean
Description
If true, the buttons listed in buttons apply to the object associated with this search layout.
|
| buttons |
Type
[SearchLayoutButton](#SearchLayoutButton)
Description
The list of buttons on the object associated with this search layout.
|
## SearchLayoutButton
| Type | Details |
| --- | --- |
| apiName |
Type
string
Description
The API name of the button.
|
| label |
Type
string
Description
The button’s label text.
|
## SearchLayoutFieldsDisplayed
| Type | Details |
| --- | --- |
| applicable |
Type
boolean
Description
If true, the fields listed in fields are available in the object associated with this search layout.
|
| fields |
Type
string
Description
The list of fields on the object associated with this search layout.
|
## SearchLayoutField
| Type | Details |
| --- | --- |
| apiName |
Type
string
Description
The API name of the field.
|
| label |
Type
string
Description
The field’s label text.
|
| sortable |
Type
boolean
Description
If true, the fields can be sorted.
|
# SecondaryTelephonyProvider
Represents the SIP configuration for secondary telephony providers in Agentforce Contact Center Bring Your Own Carrier (BYOC). This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access SecondaryTelephonyProvider, you must have the Agentforce Contact Center Admin (Salesforce Voice) permission set assigned.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Unique name of the object in the API.
|
| InboundAuthEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether inbound authentication is enabled (true) or not (false).
The default value is false.
|
| InboundIpAllowlist |
Type
textarea
Properties
Create, Nillable, Update
Description
Allowed inbound caller ID configurations used to process incoming calls from the secondary telephony provider.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the MasterLabel.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
User interface label for the secondary telephony provider. This internal label doesn’t get translated.
|
| TelephonyProviderId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the associated telephony provider.
This field is a relationship field.
Relationship Name
TelephonyProvider
Refers To
TelephonyProvider
|
# SecurityHealthCheck
Represents your org’s Health Check score. The score indicates how well your org’s security settings comply with Salesforce-recommended values in the baseline standard. Only users with the “View Setup and Configuration” user permission can retrieve data from this object. Available in Tooling API version 37.0 and later.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| CustomBaselineId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Unique identifier for the field. Identifies which baseline is used to import settings and calculate score.
|
| 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. To simplify queries, use this field.
|
| Score |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The Health Check score for the org. The score can range from 0 to 100.
|
## Usage
Use this object to query your org’s Health Check score.
SELECT Score FROM SecurityHealthCheck
More Health Check information is available by querying the object [SecurityHealthCheckRisks](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_securityhealthcheckrisks.htm "Represents your org’s security setting values, risks, and Salesforce-recommended setting values. Only users with the \"View Setup and Configuration\" user permission can retrieve data from this object. Available in Tooling API version 37.0 and later.").
# SecurityHealthCheckRisks
Represents your org’s security setting values, risks, and Salesforce-recommended setting values. Only users with the "View Setup and Configuration" user permission can retrieve data from this object. Available in Tooling API version 37.0 and later.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| 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. To simplify queries, use this field.
|
| OrgValue |
Type
string
Properties
Filter, Nillable, Sort
Description
The org’s value for the security setting.
|
| OrgValueRaw |
Type
string
Properties
Filter, Nillable, Sort
Description
The org’s value for the security setting as it is stored in the database, usually without units of measure or extra text. For example, if the Minimum Password Length setting’s OrgValue is 8 characters, the OrgValueRaw is 8.
|
| RiskType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The level of risk of the org’s security setting value. Valid values are:
- HIGH\_RISK
- MEDIUM\_RISK
- MEETS\_STANDARD
|
| SecurityHealthCheckId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the Health Check score record associated with this field.
|
| Setting |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the security setting. For example, Minimum password length.
|
| SettingGroup |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the security setting group in which the setting resides in the Setup tree. For example, Password Policies.
|
| SettingRiskCategory |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The level of risk of the org’s security settings. Available in version 40.0 and later. Valid values are:
- HIGH\_RISK
- MEDIUM\_RISK
- LOW\_RISK
- INFORMATIONAL
|
| StandardValue |
Type
string
Properties
Filter, Nillable, Sort
Description
Salesforce-recommended standard value for the security setting.
|
| StandardValueRaw |
Type
string
Properties
Filter, Nillable, Sort
Description
Salesforce-recommended standard value for the security setting as it is stored in the database, usually without units of measure or extra text. For example, if the Minimum Password Length setting’s StandardValue is 8 characters, the StandardValueRaw is 8.
|
## Usage
Use this object to query your org’s security setting values, risks, and Salesforce-recommended setting values. Reading security settings and their security status is useful if you have multiple Salesforce applications that require consistency and compliance in their security posture.
This query gets a list of your org’s high risk settings.
SELECT RiskType, Setting, SettingGroup, OrgValue, StandardValue FROM SecurityHealthCheckRisks where RiskType=’HIGH\_RISK’
This query gets your org’s Health Check score and a list of your org’s high risk settings.
SELECT Score, (SELECT RiskType, Setting, SettingGroup, OrgValue, StandardValue FROM SecurityHealthCheckRisks where RiskType=’HIGH\_RISK’) FROM SecurityHealthCheck
This query gets your org’s Health Check score and the security settings that meet the Salesforce baseline standard.
SELECT Score, (SELECT RiskType, Setting, SettingGroup, OrgValue, StandardValue FROM SecurityHealthCheckRisks where RiskType=’MEETS\_STANDARD’) FROM SecurityHealthCheck
This query lists all the values in the Salesforce baseline standard.
SELECT Setting, SettingGroup, StandardValue FROM SecurityHealthCheckRisks
# SensitiveDataRuleElmnt
Represents a predefined PII, PHI, and PCI named-entity type supported by the PII Redaction Model Service. This object is available in API version 68.0 and later.
Each record maps to a specific entity type, such as PERSON, SSN, or CREDIT\_CARD that the parent sensitive data rule detects and redacts, and optionally overrides the confidence threshold defined by the parent group.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Fields
| Field | Details |
| --- | --- |
| Category |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Category of the named-entity type.
Possible values are:
- PCI: Payment Card Industry Data
- PHI: Protected Health Information
- PII: Personally Identifiable Information
|
| IsEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the entity type is active for the parent rule (true) or not (false).
The default value is false, which temporarily deactivates detection for the entity type without deleting the record.
|
| SensitiveDataRuleElmntGrpId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the associated sensitive data rule element group.
This field is a relationship field.
Relationship Name
SensitiveDataRuleElmntGrp
Refers To
SensitiveDataRuleElmntGrp
|
| Type |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
PII/PCI named-entity type to detect and redact.
Possible values are:
- ADDRESS
- BANK\_ACCOUNT
- CREDIT\_CARD
- CREDIT\_CARD\_CVV
- CREDIT\_CARD\_EXPIRY
- EMAIL
- PERSON
- PHONE
- PIN\_PASSWORD
- SSN
|
# SensitiveDataRuleElmntGrp
Stores Named Entity Recognition (NER)-based sensitive-data rules at the organization level to redact PII/PCI from voice and messaging transcripts. This object is available in API version 68.0 and later.
Each record defines the redaction action, mask character, participant roles, channel, and an optional default confidence threshold. These rules run in parallel with regex-based [LiveChatSensitiveDataRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_livechatsensitivedatarule.htm) and merges all detected spans before applying redaction.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Fields
| Field | Details |
| --- | --- |
| ChannelName |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Channel to which the rule group applies.
Possible values are:
- MESSAGING\_SESSION
- VOICE
|
| Description |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Summary of what this rule redacts and its intended purpose. Admins can view the description while managing or reviewing rules.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Unique API name of the object.
|
# ServiceChannel
Represents a channel for work items that are received from your customers. This object is available in API version 65.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available only if Omni-Channel is enabled in your org.
## Fields
| Field | Details |
| --- | --- |
| AcwExtensionDuration |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum length of time, measured in seconds, an agent can spend on After Conversation Work (ACW) each time they extend the timer. You must set this field if HasAcwExtensionEnabled is set to true. Specify a value from 10 through 3600. Available only for service channels of type Messaging or Voice.
|
| AfterConvoWorkMaxTime |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The maximum length of time, measured in seconds, an agent has to complete ACW. You must set this field if HasAfterConvoWorkTimer is set to true. Specify a value from 10 through 3600. Available only for service channels of type Messaging or Voice.
|
| CapacityModel |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The method that determines when an agent's capacity for a work item is released. With the Status-Based capacity routing model, work remains assigned and applied to an agent’s capacity until the work is completed or reassigned to a different agent. In contrast, the tab-based capacity model releases an agent’s capacity when a work tab is closed in the service console.
Possible values are:
- StatusBased
- TabBased
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API.
|
| DoesCheckCapOnOwnerChange |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the override the capacity check is set to on (true) or not (false). In Status-Based capacity routing model, when work is reassigned to an agent, you can choose to override the capacity check and keep the work assigned to a specific agent. This field is available in API version 65.0 and later.
The default value is false.
|
| DoesCheckCapOnStatusChange |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the override the capacity check is set to on (true) or not (false). In the Status-Based capacity routing model, when work is reopened, you can choose to override the capacity check and keep the work assigned to a specific agent. This field is available in API version 65.0 and later.
The default value is false.
|
| DoesMinimizeWidgetOnAccept |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether the Omni-Channel widget automatically minimizes when an agent accepts work (true) or not (false).
The default value is false.
|
| HasAcwExtensionEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether agents can extend their ACW (true) or not (false). Available only if HasAfterConvoWorkTimer is set to true. If set to true, you must also set the AcwExtensionDuration and MaxExtensions fields. Available only for service channels of type Messaging or Voice.
The default value is false.
|
| HasAfterConvoWorkTimer |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether ACW time can be configured for the channel (true) or not (false). If set to true, you must also set the AfterConvoWorkMaxTime field. Available only for service channels of type Messaging or Voice.
The default value is false.
|
| HasAutoAcceptEnabled |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Indicates whether work items in a service channel open automatically in the agent’s workspace so that the agent doesn’t have to manually accept them (true) or not (false).
The default value is false.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language for the service channel.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label for the service channel.
|
| MaxExtensions |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The maximum number of times an agent can extend their ACW time. Specify a value from 1 through 10. You must set this field if hasAcwExtensionEnabled is set to true. Available only for service channels of type Messaging or Voice.
|
| RelatedEntity |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of object that’s associated with this service channel. This field is unique within your organization.
Possible values are:
- Account
- Activity
- Case
- ChangeRequest
- Contact
- ContactRequest
- FlowOrchestrationWorkItem
- Incident
- Lead
- Opportunity
- Order
- Problem
- SocialPost
- WorkOrder
|
# ServiceFieldDataType
Deprecated in API version 34.0, the ServiceFieldDataType object is removed in version 58.0 and later.
# ServicePresenceStatus
Represents a presence status that can be assigned to a service channel. This object is available in API version 65.0 and later.
## Supported SOAP API Calls
create(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available only if Omni-Channel is enabled in your org.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language of the presence status.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The label of the presence status.
|
# Setup Objects
Use setup objects to interact with metadata for declarative development. For example, you can create your own version of Setup, or restrict the amount of data required to push to an app to a mobile phone.
- **[AuthorizedEmailDomain](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_authorizedemaildomain.htm)**: Represents an authorized domain for email verification.
- **[BusinessProcess](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_businessprocess.htm)**: Represents a business process.
- **[CleanDataService](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_cleandataservice.htm)**: Represents a data service that adds and updates data in existing records in an org.
- **[CleanRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_cleanrule.htm)**: Represents a data integration rule that controls how a data service adds and updates data for existing records in an org.
- **[CompactLayout](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_compactlayout.htm)**: Represents the values that define a compact page layout.
- **[CompactLayoutInfo](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_compactlayoutinfo.htm)**: Represents the metadata for a custom or standard compact layout.
- **[CompactLayoutItemInfo](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_compactlayoutiteminfo.htm)**: Represents a field selected for a compact layout, and the order of that field in the compact layout.
- **[CustomField](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_customfield.htm)**: Represents a custom field on a custom object that stores data unique to your organization.
- **[CustomFieldMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_customfieldmember.htm)**: Represents the working copy of a field for editing or saving in a MetadataContainer.
- **[CustomObject](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_customobject.htm)**: Represents a custom object that stores data unique to your organization. Includes access to the associated CustomObject object and related fields in Salesforce Metadata API.
- **[CustomTab](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_customtab.htm)**: Represents a custom tab.
- **DataAssessmentConfigItem**: Represents a saved configuration for a specific vendor’s package for data assessment.
- **[DataIntegrationRecordPurchasePermission](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_dataintegrationrecordpurchasepermission.htm)**: Represents Lightning Data purchase credits that a Salesforce admin has granted to users.
- **[DuplicateJobDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_duplicatejobdefinition.htm)**: Setup object defining a job that identifies duplicate record items globally.
- **[DuplicateJobMatchingRuleDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_duplicatejobmatchingruledefinition.htm)**: Setup object specifying a MatchingRule to use with DuplicateJob instances that share a DuplicateJobDefinition.
- **[Document](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_document.htm)**: Represents a file that a user has uploaded. Unlike Attachment records, documents are not attached to a parent object.
- **[EmailTemplate](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_emailtemplate.htm)**: Represents a template for an email, mass email, list email, or HVS email.
- **[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm)**: Provides row-based access to metadata about standard and custom objects.
- **[EntityLimit](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_entitylimit.htm)**: Represents the limits for an object as displayed in the Setup UI.
- **[FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm)**: Represents a standard or custom field, providing row-based access to field metadata. Contrast FieldDefinition with EntityParticle, which represents each element of a field that can be presented in a user interface. FieldDefinition has parity with metadata type Field.
- **[FieldMapping](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_fieldmapping.htm)**: Represents a mapping between fields in an object in the org and fields in a data service. A data service uses two separate field maps: one controls how the data service matches records in an object, and the other controls how the data service adds or updates data for an existing record.
- **[FieldMappingField](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_fieldmappingfield.htm)**: Represents a field in an object in the org that maps to a field in a data service.
- **[FieldMappingRow](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_fieldmappingrow.htm)**: Represents a field in a data service record that maps to a field in an object record in the org.
- **[FieldSet](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_fieldset.htm)**: Represents the metadata for a group of fields.
- **[FlexiPage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_flexipage.htm)**: Represents a Lightning page. A Lightning page is a customizable page composed of regions containing Lightning components.
- **[Flow](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_flow.htm)**: Use the Flow object to retrieve and update specific flow versions.
- **[FlowDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_flowdefinition.htm)**: The parent of a set of flow versions.
- **[Group](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_group.htm)**: Represents a set of User records. Groups can contain individual users, other groups, or the users in a particular role or territory. In addition, groups can contain all users below a particular role or territory in the hierarchy.
- **[HistoryRetentionJob](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_historyretentionjob.htm)**: Represents the body of retained data from the archive, and the status of the archived data.
- **[KeywordList](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_keywordlist.htm)**: Represents a list of keywords used in Experience Cloud site moderation.
- **[Layout](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_layout.htm)**: Represents a page layout.
- **[LookupFilter](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_lookupfilter.htm)**: Represents a lookup filter, which restricts the valid values and lookup dialog results for lookup, master-detail, and hierarchical relationship fields.
- **[MatchingRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_matchingrule.htm)**: Setup object specifying a MatchingRule to use with DuplicateJob instances that share a DuplicateJobDefinition. Available in Tooling API version 42.0 and later.
- **[MenuItem](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_menuitem.htm)**: Represents a menu item.
- **[ModerationRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_moderationrule.htm)**: Represents a rule used in your Experience Cloud site to moderate member-generated content.
- **[PermissionSet](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_permissionset.htm)**: Represents a set of permissions that’s used to grant more access to users without changing their profile or reassigning profiles. Available in API version 28.0 and later.
- **[PermissionSetAssignment](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_permissionsetassignment.htm)**: Represents a user’s assignment to a permission set or permission set group. This object is available in API version 22.0 and later.
- **[PermissionSetGroup](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_permissionsetgroup.htm)**: Represents a group of permission sets and the permissions within them. Use permission set groups to organize permissions based on job functions or tasks. Then, you can package the groups as needed. Available in Tooling API version 45.0 and later.
- **[PermissionSetGroupComponent](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_permissionsetgroupcomponent.htm)**: A junction object that relates the PermissionSetGroup and PermissionSet objects via their respective IDs; enables permission set group recalculation to determine the aggregated permissions for the group. Available in Tooling API version 45.0 and later.
- **[PermissionSetTabSetting](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_permissionsettabsetting.htm)**: Represents a tab’s settings for a profile or permission set. Use PermissionSetTabSetting for manipulating tab visibility on profiles and permission sets. Available in Tooling API version 37.0 and later.
- **[Profile](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_profile.htm)**: Represents a user profile. A profile defines a user’s permission to perform different functions within Salesforce.
- **[ProfileLayout](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_profilelayout.htm)**: Represents a profile layout.
- **[QuickActionDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_quickactiondefinition.htm)**: Represents the definition of a quick action.
- **[QuickActionList](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_quickactionlist.htm)**: Represents a list of quick actions.
- **[QuickActionListItem](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_quickactionlistitem.htm)**: Represents an item in a quick action list.
- **[RecentlyViewed](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_recentlyviewed.htm)**: Represents metadata entities typically found in Setup such as page layout definitions, workflow rule definitions, and email templates that the current user has recently viewed.
- **[RecordType](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_recordtype.htm)**: Represents a custom record type.
- **[SearchLayout](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_searchlayout.htm)**: Represents a search layout defined for an object.
- **[Scontrol](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_scontrol.htm)**: Represents a custom s-control, which is custom content that our system hosts, but client applications execute. An s-control can contain any type of content that you can display or run in a Web browser.
- **[User](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_user.htm)**: Represents a user. You can retrieve standard fields on User with the Tooling API, but custom fields can’t be retrieved.
- **[WebLink](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_weblink.htm)**: Represents a custom button or link.
- **[ValidationRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_validationrule.htm)**: Represents a validation rule or workflow rule which specifies the formula for when a condition is met.
- **[WorkflowAlert](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_workflowalert.htm)**: Represents a workflow alert. A workflow alert is an email generated by a workflow rule or approval process and sent to designated recipients.
- **[WorkflowFieldUpdate](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_workflowfieldupdate.htm)**: Represents a workflow field update.
- **[WorkflowOutboundMessage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_workflowoutboundmessage.htm)**: Represents an outbound message. An outbound message sends information to a designated endpoint, like an external service. Outbound messages are configured from Setup. You must configure the external endpoint and create a listener for the messages using the SOAP API.
- **[WorkflowRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_workflowrule.htm)**: Represents a workflow rule that is used to fire off a specific workflow action when the specified criteria is met. Includes access to the associated WorkflowRule object in Salesforce Metadata API.
- **[WorkflowTask](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_workflowtask.htm)**: Represents a workflow task that is used to fire off a specific workflow action when the specified criteria is met. Includes access to the associated WorkflowRule object in Salesforce Metadata API.
# ShiftSegmentType
Represents shift segment type settings for Shift Scheduling and Workforce Engagement. This object is available in API version 55.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
This object is available only if Shift Scheduling or Workforce Engagement is enabled in your org. To view, create, edit, and delete records, the user requires the Shift Scheduling Planner or Workforce Engagement Planner permission set.
## Fields
| Field | Details |
| --- | --- |
| AdherenceThreshold |
Type
int
Properties
Filter, Group, Sort
Description
A threshold, in minutes. If the agent starts the scheduled activity within this threshold, the shift segment activity is in adherence.
|
| Category |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
A category for the type of shift segment.
Possible values are:
- Break—Break times, such as a coffee or lunch break.
- NonWork—Non-working activities, such as training or meetings.
- Work—Work activities, such as answering calls, responding to chats, or handling cases.
|
| Color |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Sets a background color when shift activities of this type are displayed in the UI. Use a 3- or 6-digit hexadecimal format, for example #FF00FF.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. This field is automatically generated, but you can supply your own value if you create the record using the API.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record. If no DeveloperName is specified, performance may slow while Salesforce generates one for each record.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata type in Metadata API. The full name can include a namespace prefix.
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.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if the shift segment type is active (true) or not (false).
The default value is true.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the shift segment type.
Possible values are the languages that Workforce Engagement supports.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The label of the shift segment type.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
# SiteDetail
Represents the details of a Salesforce site or Experience Cloud site. Available in API version 38.0 and later.
## Supported Calls
describeSObjects(), query()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| DurableId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The ID of the Site object.
|
| IsRegistrationEnabled |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether the site allows users to sign up.
|
| SecureUrl |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The URL of the website.
|

#### Note
SiteDetail fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for SiteDetail 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. SiteDetail is still exposed in Tooling API to User Profiles with the ViewSetup permission.
# Skill
Represents the settings for a skill used for field service or to route chats to agents in Chat, such as the name of the skill and which agents the skills are assigned to. This object is available in API version 65.0 and later.
## Supported SOAP API Calls
create(), describeSObjects(), query(), retrieve(), search(), update(), upsert()
## Supported REST API Methods
GET, HEAD, PATCH, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Create, Nillable, Update
Description
Specifies the description of the skill.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. This field is automatically generated, but you can supply your own value if you create the record using the API.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The language for the Skill.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The label for Skill.
|
# SOAP Calls
Use SOAP if you’re using a strongly typed language like Java that generates Web service client code. For details about usage, syntax, and authentication, see the SOAP API Developer Guide.
To access the Tooling API WSDL, from Setup, enter API in the Quick Find box, then select **API** and click **Generate Tooling WSDL**.
Like the Salesforce SOAP API, Tooling API uses the following calls.
- **create()**: Adds one or more records to your organization’s data. When creating objects with the Metadata field, only one object can be processed in a request.
- **delete()**: Deletes one or more records from your organization’s data.
- **describeLayout()**: Retrieve metadata about page layouts for a specified SOjbect.
- **describeGlobal()**: Lists the available Tooling API objects and their metadata.
- **describeSObjects()**: Describes the metadata (field list and object properties) for the specified object or array of objects.
Call describeGlobal() to retrieve a list of all Tooling API objects for your organization, then iterate through the list and use describeSObjects() to obtain metadata about individual objects.
- **describeValueType()**: Describes the metadata for a specified namespace and value type. For information about describeValueType, see the Metadata API Developer Guide.
- **describeWorkitemActions()**: Describes which actions are available for a specified work item.
- **executeanonymous(string apexcode)**: Executes the specified block of Apex anonymously and returns the result.
- **query()**: Executes a query against a Tooling API object and returns data that matches the specified criteria.
- **queryMore()**: Retrieves the next batch of objects from a query().
- **retrieve()**: Retrieves one or more records based on the specified IDs.
- **runTests()**: Runs one or more methods within an Apex class, using the synchronous test execution mechanism. All test methods in a synchronous test run must be in the same class. The synchronous runTests() call accepts a [RunTestsRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_calls_runtests_request.htm "HTML (New Window)") object. For sample code and more information, see [runTests()](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_calls_runtests.htm "HTML (New Window)").
- **runTestsAsynchronous()**: Runs one or more methods within one or more Apex classes, using the asynchronous test execution mechanism.
This example shows a call to a class that calls the runTestsAsynchronous endpoint.
conn.runTestsAsynchronous(classids, suiteids, maxFailedTests, testLevel.value,
classNames, suiteNames, tests, skipCodeCoverage)
For more runTestsAsynchronous() example code, see [ApexTestQueueItem](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextestqueueitem.htm).
All parameters are mandatory. To provide values for only some parameters, specify the others as null.
- The classids, suiteids, classNames, and suiteNames parameters must all be specified. To provide values for only some of these parameters, specify the others as null. To use TestLevel.RunLocalTests or TestLevel.RunAllTestsInOrg, specify all class- and suite-related parameters as null.
- A value for maxFailedTests is mandatory. To allow all tests in your org to run, regardless of how many tests fail, set maxFailedTests to \-1. To stop the test run from executing new tests after a given number of tests fail, set maxFailedTests to an integer value from 0 to 1,000,000. This integer value sets the maximum allowable test failures. A value of 0 causes the test run to stop if any failure occurs. A value of 1 causes the test run to stop on the second failure, and so on. Keep in mind that high values can cause slow performance. Each 1,000 tests that you add to your maxFailedTests value adds about 3 seconds to your test run, not including the time that the tests take to execute.
- The testLevel parameter is available and required in API version 37.0 and later, but its value can be null. Other permissible values include:
- **RunSpecifiedTests**: Only the tests that you specify are run.
- **RunLocalTests**: All tests in your org are run, except the ones that originate from installed managed packages. Omit identifiers for specific tests when you use this value.
- **RunAllTestsInOrg**: All tests are run. The tests include all tests in your org, including tests of managed packages. Omit identifiers for specific tests when you use this value.
- The tests parameter is available and required in API version 41.0 and later, but its value can be null. This property is an array of type [TestsNode](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_calls_runtests_request.htm "HTML (New Window)").
- The skipCodeCoverage parameter is available in API version 43.0 and later, but its value can be null. This property is a boolean that indicates whether to opt out of collecting code coverage information during the test run.
- **search()**: Search for records that match a specified text string.
- **update()**: Updates one or more existing records in your org’s data. When updating objects with the Metadata field, only one object can be updated per request.
- **upsert()**: Creates records and updates existing records; uses a custom field to determine the presence of existing records. To upsert objects with the Metadata field, pass in only one object per request.
## SOAP Headers
The SOAP headers available in the Tooling API WSDL are described in [SOAP Headers for Tooling API](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_api_tooling_soap_headers.htm#intro_api_tooling_soap_headers "Tooling API provides SOAP headers similar to the SOAP API headers.").
## Examples
These examples use C#, but you can use any language that supports Web services.
To compile Apex classes or triggers in Developer Edition or sandbox organizations, use create(). The next sample uses [ApexClass](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclass.htm) to compile a simple class with a single method called SayHello.
String classBody = "public class Messages {\\n"
+ "public string SayHello() {\\n"
+ " return 'Hello';\\n" + "}\\n"
+ "}";
// create an ApexClass object and set the body
ApexClass apexClass = new ApexClass();
apexClass.Body = classBody;
ApexClass\[\] classes = { apexClass };
// call create() to add the class
SaveResult\[\] saveResults = sforce.create(classes);
for (int i = 0; i < saveResults.Length; i++)
{
if (saveResults\[i\].success)
{
Console.WriteLine("Successfully created Class: " +
saveResults\[i\].id);
}
else
{
Console.WriteLine("Error: could not create Class ");
Console.WriteLine(" The error reported was: " +
saveResults\[i\].errors\[0\].message + "\\n");
}
}
The IsCheckOnly parameter on [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm) indicates whether an asynchronous request compiles code but doesn’t execute or save it (true), or compiles and save the code (false).
The next example expands upon the first by modifying the SayHello() method to accept a person’s first and last name. This example uses [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm) with [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm) to retrieve and update the class, and [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm) to compile and deploy the changes to the server. You can use the same method with [ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm), [ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm), and [ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm).

#### Note
To test your code, modify the IsCheckOnly parameter in the next sample, and log in to your organization after a successful execution to verify the results.
- When IsCheckOnly = true, the SayHello() method remains the same. ApexClassMember contains the compiled results, but the class on the server remains the same.
- When IsCheckOnly = false, the SayHello() method shows the change to accept a person’s first and last name.
String updatedClassBody = "public class Messages {\\n"
+ "public string SayHello(string fName, string lName) {\\n"
+ " return 'Hello ' + fName + ' ' + lName;\\n" + "}\\n"
+ "}";
//create the metadata container object
MetadataContainer Container = new MetadataContainer();
Container.Name = "SampleContainer";
MetadataContainer\[\] Containers = { Container };
SaveResult\[\] containerResults = sforce.create(Containers);
if (containerResults\[0\].success)
{
String containerId = containerResults\[0\].id;
//create the ApexClassMember object
ApexClassMember classMember = new ApexClassMember();
//pass in the class ID from the first example
classMember.ContentEntityId = classId;
classMember.Body = updatedClassBody;
//pass the ID of the container created in the first step
classMember.MetadataContainerId = containerId;
ApexClassMember\[\] classMembers = { classMember };
SaveResult\[\] MembersResults = sforce.create(classMembers);
if (MembersResults\[0\].success)
{
//create the ContainerAsyncRequest object
ContainerAsyncRequest request = new ContainerAsyncRequest();
//if the code compiled successfully, save the updated class to the server
//change to IsCheckOnly = true to compile without saving
request.IsCheckOnly = false;
request.MetadataContainerId = containerId;
ContainerAsyncRequest\[\] requests = { request };
SaveResult\[\] RequestResults = sforce.create(requests);
if (RequestResults\[0\].success)
{
string requestId = RequestResults\[0\].id;
//poll the server until the process completes
QueryResult queryResult = null;
String soql = "SELECT Id, State, ErrorMsg
FROM ContainerAsyncRequest
Where id = '" + requestId + "'";
queryResult = sforce.query(soql);
if (queryResult.size > 0)
{
ContainerAsyncRequest \_request = (ContainerAsyncRequest)queryResult.records\[0\];
while (\_request.State.ToLower() == "queued")
{
//pause the process for 2 seconds
Thread.Sleep(2000);
//poll the server again for completion
queryResult = sforce.query(soql);
\_request = (ContainerAsyncRequest)queryResult.records\[0\];
}
//now process the result
switch (\_request.State)
{
case "Invalidated":
break;
case "Completed":
//class compiled successfully
//see the next example on how to process the SymbolTable
break;
case "Failed":
. . break;
case "Error":
break;
case "Aborted":
break;
}
}
else
{
//no rows returned
}
}
else
{
Console.WriteLine("Error: could not create ContainerAsyncRequest object");
Console.WriteLine(" The error reported was: " +
RequestResults\[0\].errors\[0\].message + "\\n");
}
}
else
{
Console.WriteLine("Error: could not create Class Member ");
Console.WriteLine(" The error reported was: " +
MembersResults\[0\].errors\[0\].message + "\\n");
}
}
else
{
.. Console.WriteLine("Error: could not create MetadataContainer ");
Console.WriteLine(" The error reported was: " +
containerResults\[0\].errors\[0\].message + "\\n");
}
}
To access Apex class and trigger data in a structured format, use a [SymbolTable](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_symboltable.htm).
The next sample queries the [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm) object created in the previous example to obtain the [SymbolTable](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_symboltable.htm) of the modified class.

#### Note
The SOQL statement used depends on when the data is retrieved.
- To execute the query from within the previous sample, use the ID of the [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm). For example, SELECT Body, ContentEntityId, SymbolTable FROM ApexClassMember where MetadataContainerId = '" + requestId \+ "'"
- Otherwise, use the ID of the modified class as shown in the next sample. For example, SELECT ContentEntityId, SymbolTable FROM ApexClassMember where ContentEntityId = '" + classId + "'"
//use the ID of the class from the previous step
string classId = "01pA00000036itIIAQ";
QueryResult queryResult = null;
String soql = "SELECT ContentEntityId, SymbolTable FROM ApexClassMember where ContentEntityId = '" + classId + "'";
queryResult = sforce.query(soql);
if (queryResult.size > 0)
{
ApexClassMember apexClass = (ApexClassMember)queryResult.records\[0\];
SymbolTable symbolTable = apexClass.SymbolTable;
foreach (Method \_method in symbolTable.methods)
{
//here's the SayHello method
String \_methodName = \_method.name;
//report the modifiers on the method such as global, public, private, or static
String \_methodVisibility = \_method.modifiers;
//get the method's return type
string \_methodReturnType = \_method.returnType;
//get the fName & lName parameters
foreach (Parameter \_parameter in \_method.parameters)
{
string \_paramName = \_parameter.name;
string \_parmType = \_parameter.type;
}
}
}
else
{
//unable to locate class
}
To add checkpoints to your code for debugging, use [ApexExecutionOverlayAction](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayaction.htm).
This sample adds a checkpoint to the class from the previous samples:
//use the ID of the class from the first sample.
string classId = "01pA00000036itIIAQ";
ApexExecutionOverlayAction action = new ApexExecutionOverlayAction();
action.ExecutableEntityId = classId;
action.Line = 3;
action.LineSpecified = true;
action.Iteration = 1;
action.IterationSpecified = true;
ApexExecutionOverlayAction\[\] actions = { action };
SaveResult\[\] actionResults = sforce.create(actions);
if (actionResults\[0\].success)
{
// checkpoint created successfully
}
else
{
Console.WriteLine("Error: could not create Checkpoint ");
Console.WriteLine(" The error reported was: " +
actionResults\[0\].errors\[0\].message + "\\n");
}
#### See Also
- [Tooling API Objects](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_list.htm)
- [SOAP API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/ "SOAP API Developer Guide - HTML (New Window)")
# SOAP Headers for Tooling API
Tooling API provides SOAP headers similar to the SOAP API headers.
Control the behavior of SOAP calls:
- [AllOrNoneHeader](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_header_allornoneheader.htm)
Allows a call to roll back all changes unless all records are processed successfully.
- [AllowFieldTruncationHeader](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_header_allowfieldtruncation.htm)
Specifies that for some fields, when a string is too large, the operation fails. Without the header, strings for these fields are truncated.
- [CallOptions](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_calloptions.htm)
Specifies the API client identifier.
- [DebuggingHeader](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_debuggingheader.htm)
Specifies that the deployment result contains the debug log output, and specifies the level of detail included in the log. The debug log contains the output of Apex tests that are executed as part of a deployment.
- [DisableFeedTrackingHeader](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_header_disablefeedtracking.htm)
Specifies that changes made in the current call are tracked in feeds.
- [MetadataWarningsHeader](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/api_tooling_soap_header_metadatawarningsheader.htm "Allows you to save metadata even if warnings are returned.")
Allows you to save metadata even if warnings are returned.
- [PackageVersionHeader](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_header_packageversionheader.htm)
Specifies the package version for each installed managed package.
- [SessionHeader](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_header_sessionheader.htm)
Specifies the session ID returned from the login server after a successful login(). This session ID is used in all subsequent calls.
# SOQL Operation Limitations
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.
These objects in Tooling API don’t support SOQL operations COUNT(), GROUP BY, LIMIT, LIMIT OFFSET, OR, NOT, and INCLUDES.
- CompactLayoutInfo
- CompactLayoutItemInfo
- DataType
- EntityDefinition
- EntityLimit
- EntityParticle
- FieldDefinition
- Publisher
- RelationshipDomain
- RelationshipInfo
- SearchLayout
- ServiceFieldDataType
- StandardAction
- TimeSheetTemplate
- UserEntityAccess
- UserFieldAccess
The unsupported operations for these objects return errors or incorrect results, as these examples illustrate.
## GROUP BY
Example Query: SELECT COUNT(qualifiedapiname), isfeedenabled FROM EntityDefinition GROUP BY isfeedenabled
Error Returned: The requested operation is not yet supported by this SObject storage type, contact salesforce.com support for more information.
## LIMIT, LIMIT OFFSET
Example Queries:
SELECT qualifiedapiname FROM EntityDefinition LIMIT 5
SELECT qualifiedapiname FROM EntityDefinition LIMIT 5 OFFSET 10
An incorrect result is returned because LIMIT and LIMIT OFFSET are ignored.
## NOT
Example Query: SELECT qualifiedapiname FROM EntityDefinition WHERE qualifiedapiname!='Account'
Error Returned: Only equals comparisons permitted
## OR
Example Query: SELECT qualifiedapiname, keyprefix FROM EntityDefinition WHERE isdeletable=true OR (isfeedenabled=false AND keyprefix='01j')
Error Returned: Disjunctions not supported
## ORDER BY
Example Query: SELECT EntityDefinition.DeveloperName, ValidationName, Active, Description, ErrorDisplayField, ErrorMessage FROM ValidationRule ORDER BY EntityDefinition.DeveloperName ASC, ValidationName ASC
Error Returned: ERROR: relation "core.virtual\_standard\_entity\_data\_template" does not exist
You can always order by fields of the object that you’re querying, but you can get an error when you order by the fields of a joined object.
## INCLUDES
Example Query: SELECT ComplianceGroup FROM FieldDefinition WHERE EntityDefinitionId = 'Account' AND ComplianceGroup includes('GDPR')
Error Returned: Unsupported filter type
MetadataComponentDependency (Pilot) doesn’t support GROUP BY or aggregate functions other than COUNT().
## SOQL Queries in Scratch Orgs
When querying the Tooling API from a scratch org, up to 2,000 records may be returned. In all other types of orgs, a query returns a single record.
# SOQLResult
A complex type that represents the result of a SOQL query in an ApexExecutionOverlayResult object. Available from API version 28.0 or later.
## Fields
| Field | Details |
| --- | --- |
| queryError |
Type
string
Description
The error text returned if the execution was unsuccessful.
|
| queryMetadata |
Type
QueryResultMetadata
Description
The structured result returned from a successful execution.
QueryResultMetadata includes the following fields:
- columnMetadata
- entityName
- groupBy
- idSelected
- keyPrefix
|
| queryResult |
Type
array of MapValue
Description
MapValue contains an array of MapEntry, which contains the following fields:
- keyDisplayValue
- value (reference to StateValue)
|
## Usage
Overlay SOQL on checkpoints to capture structured debugging information. If your SOQL query may return more than one record when dealing with complex types, select only one row. For example, you can use a LIMIT=1 clause in your SOQL query, or you can list rows for the user and have them select the row to inspect.
# SOSL Operation Limitations
Two Tooling API objects, EntityDefinition and FieldDefinition, have some SOSL limitations. ExternalString and MetadataComponentDependency (Beta) don’t support SOSL searches.
## EntityDefinition and FieldDefinition
EntityDefinition and FieldDefinition support the following SOSL operations:
FIND
- Literal text search, for example:
FIND {account}
- Text search with a single wildcard, for example:
FIND {account\*} RETURNING EntityDefinition
FIND {account?} RETURNING FieldDefinition
FIND {account\*fax} RETURNING EntityDefintion
FIND {account?fax} RETURNING FieldDefinition
The wildcard can’t be the first character in a search term, consistent with search behavior for all objects.
- Quotation marks are supported.
- The escape character \\ (slash) is supported. For example, to search for the character \* (asterisk), include the escape character:
FIND {account\\\*}
RETURNING EntityDefinition
RETURNING is required.
FIND {MyString}
RETURNING FieldDefinition
- - Multiple object type names are supported.
...RETURNING EntityDefinition, FieldDefinition
- A field list is supported.
... RETURNING EntityDefinition (MasterLabel, QualifiedApiName)
WHERE is supported, though logical operators are not.
LIMIT is supported.
Example:
FIND {account\*}
RETURNING FieldDefinition (MasterLabel, NamespacePrefix
WHERE EntityDefinitionId='Account')
All other [SOSL operations](https://developer.salesforce.com/docs/atlas.en-us.264.0.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_about.htm) are unsupported. If you include an unsupported expression in a search term, the expression is ignored, except for the following, which cause an error:
- Multiple wildcards in a search term
- Unsupported operators OR or NOT
- Parentheses for grouping operators
- Morphological tokenization
- An asterisk wildcard isn’t added at the end of single-character searches.
## ExternalString
ExternalString doesn’t support SOSL searches.
## MetadataComponentDependency (Beta)
MetadataComponentDependency is a virtual entity, so it doesn’t support SOSL searches.
# SourceMember
Reserved for internal use. Do not use this object. Accuracy of results isn’t guaranteed.
# SourceMemberDeployRequest
Reserved for internal use.
# StandardAction
Represents the buttons, links, and actions (standard actions) for a standard or custom object. This object is available in API version 34.0 and later.
You can view the standard actions from an object’s management settings by going to Buttons, Links, and Actions.
## Supported SOAP Calls
query()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| ContentType |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
Indicates whether the button or link is standard, URL, s-control, JavaScript action, or Visualforce page. This value maps to the Content Source field in the user interface.
|
| Description |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Text displayed to an administrator in the standard action setup page. Description can be different from the Label, which is the label displayed in the user interface to end users. It can also be different from Name, which is a unique string used in merge fields.
|
| 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. DurableId in queries allows you to find the right record without having to retrieve the entire record.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the standard or custom object for which this standard action is defined.
|
| IsOverridden |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether this standard action has been overridden (true, or not.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The text that displays in a user interface for the standard action.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Name |
Type
string
Properties
Filter, Group,Sort
Description
The unique name for the button or link when referenced from a merge field. This name can contain only underscores and alphanumeric characters, and must be unique in your organization. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores.
|
| OverrideContentId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
ID of an OverrideContent record.
|

#### Note
StandardAction fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for StandardAction 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. StandardAction is still exposed in Tooling API to User Profiles with the ViewSetup permission.
# StaticResource
Represents the working copy of a static resource file for editing or saving. Static resources allow you to upload content that you can reference in a Visualforce page, including images, stylesheets, JavaScript, and other files. Available in Tooling API version 29.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| Body |
Type
string
Properties
Create, Update
Description
The data for the static resource file.
|
| ContentType |
Type
string
Properties
Create, Update
Description
Required. The content type of the file, for example text/plain.
|
| CacheControl |
Type
string
Properties
Create, Update
Description
Required. Indicates whether the static resource is marked with a public caching tag so that a third-party delivery client can cache the content. The valid values are:
- Private
- Public
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Name |
Type
string
Properties
Create, Update
Description
The static resource name. The name can only contain characters, letters, and the underscore (\_) character, must start with a letter, and cannot end with an underscore or contain two consecutive underscore characters
|
## Usage
To create, edit, or save a static resource file, create a StaticResource object that references it.
# SubscriberPackage
Represents an installable package (first- or second-generation) across all Salesforce instances. Available in API version 41.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET, Query
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
string
Properties
Nillable, Sort
Description
Description of the package.
|
| IsPackageValid |
Type
boolean
Properties
Defaulted on create, Group, Sort
Description
Indicates whether the package metadata is available consistently across all Salesforce instances. If this value is false, the package is unavailable for installation.
|
| Name |
Type
string
Properties
Group, idLookup, Sort
Description
Name of the package.
|
| NamespacePrefix |
Type
string
Properties
Group, idLookup, Nillable, Sort
Description
Namespace prefix that identifies the components of your package in the subscriber’s org.
|
## Usage
Represents a package that can be installed. To query this object, include an ID (begins with 033) in your SOQL WHERE clause.
# SubscriberPackageVersion
Represents a package version (first- or second-generation) across all Salesforce instances. Available in API version 41.0 and later.
## Supported SOAP Calls
describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET, Query
## Fields
| Field | Details |
| --- | --- |
| AppExchangeDescription |
Type
string
Properties
Nillable, Sort
Description
The AppExchange description for this package.
If the AppExchange listing for the package doesn’t contain a value for this field, the field’s value is null.
|
| AppExchangeLogoUrl |
Type
string
Properties
Nillable, Sort
Description
The URL that AppExchange uses to display the logo for this package.
If the AppExchange listing for the package doesn’t contain a value for this field, the field’s value is null.
|
| AppExchangePackageName |
Type
string
Properties
Group, Nillable, Sort
Description
The AppExchange name for this package.
If the AppExchange listing for the package doesn’t contain a value for this field, the field’s value is null.
|
| AppExchangePublisherName |
Type
string
Properties
Group, Nillable, Sort
Description
The AppExchange publisher name for this package.
If the AppExchange listing for the package doesn’t contain a value for this field, the field’s value is null.
|
| BuildNumber |
Type
int
Properties
Group, Nillable, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch.build—for example, in 1.2.0.5 the build number is 5.
|
| CspTrustedSites |
Type
[SubscriberPackageCspTrustedSites](#SubscriberPackageCspTrustedSites)
Properties
Nillable
Description
List of new Trusted URLs ([CspTrustedSite](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_csptrustedsite.htm "Represents a trusted URL. For each CspTrustedSite, you can specify Content Security Policy (CSP) directives and permissions policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted URL access to a browser feature. In API version 58.0 and earlier, CspTrustedSite included only CSP directives and was referred to as CSP Trusted Sites in Salesforce Setup. Available in API version 39.0 and later.")) that the user must authorize before installing the package version. Package upgrades don't include previously installed Trusted URLs.
|
| Dependencies |
Type
[SubscriberPackageDependencies](#SubscriberPackageDependencies)
Properties
Nillable
Description
Other subscriber package versions that this subscriber package version depends on.
Available in API version 44.0 and later.
|
| Description |
Type
string
Properties
Nillable, Sort
Description
Description of the package.
|
| InstallationKey |
Type
RAW
Properties
Not applicable
Description
Installation key for a key-protected package.
This field is hidden. It’s not queryable, but you can include it in the WHERE clause of SOQL queries. In some queries, it’s required.
To query unlocked packages that have installation keys, you must include the correct InstallationKey value in your WHERE clause. However, if the unlocked package version is already installed in your org you can query it without specifying an InstallationKey value.
For managed packages, an InstallationKey value in the WHERE clause is optional.
|
| InstallValidationStatus |
Type
picklist
Properties
Group, Nillable, Restricted picklist, Sort
Description
Status of the validation tests that are run during the package version install. Valid values are:
- NoErrorsDetected
- BetaInstallIntoProductionOrg
- CannotInstallEarlierVersion
- CannotUpgradeBeta
- CannotUpgradeUnmanaged
- DeprecatedInstallPackage
- ExtensionsOnLocalPackages
- PackageNotInstalled
- PackageHasInDevExtensions
- InstallIntoDevOrg
- NoAccess
- PackagingDisabled
- PackagingNoAccess
- PackageUnavailable
- UninstallInProgress
- UnknownError
- NamespaceCollision
|
| IsBeta |
Type
boolean
Properties
Defaulted on create, Group, Sort
Description
Indicates whether the package version is released (false).
|
| IsDeprecated |
Type
boolean
Properties
Defaulted on create, Group, Sort
Description
Specifies whether this package version has been marked as deprecated (true) or not (false).
|
| IsManaged |
Type
boolean
Properties
Defaulted on create, Group, Sort
Description
Specifies whether this package is managed (true) or not (false).
|
| IsPasswordProtected |
Type
boolean
Properties
Defaulted on create, Group, Sort
Description
Specifies whether installation of this package version requires the user to provide an installation key (true) or not (false).
|
| IsSecurityReviewed |
Type
boolean
Properties
Defaulted on create, Group, Sort
Description
Specifies whether the package has passed the security review required for publishing in AppExchange.
|
| MajorVersion |
Type
int
Properties
Group, Nillable, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch.build—for example, in 1.2.0.5 the major version is 1.
|
| MinorVersion |
Type
int
Properties
Group, Nillable, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch.build—for example, in 1.2.0.5 the minor version is 2.
|
| Name |
Type
string
Properties
Group, idLookup, Sort
Description
Name of the package.
|
| Package2ContainerOptions |
Type
picklist
Properties
Group, Nillable, Restricted picklist, Sort
Description
Container options for the second-generation package. These options determine the upgrade and editability rules.
Valid values are:
- Managed
- Unlocked
|
| PatchVersion |
Type
int
Properties
Group, Nillable, Sort
Description
Part of the version number of a package version. The complete version number format is major.minor.patch.build—for example, in 1.2.0.5 the patch version is 0.
|
| PostInstallUrl |
Type
string
Properties
Nillable, Sort
Description
The fully qualified URL of the post-installation instructions. Instructions are shown as a link after installation and are available from the package detail view.
|
| Profiles |
Type
[SubscriberPackageProfiles](#SubscriberPackageProfiles)
Properties
Nillable
Description
List of profiles for which the package was installed.
|
| PublisherName |
Type
string
Properties
Group, Nillable, Sort
Description
The name of the publisher of this package.
|
| ReleaseNotesUrl |
Type
string
Properties
Nillable, Sort
Description
The fully qualified URL of the package release notes. Release notes are shown as a link during the installation process and are available from the package detail view after installation.
|
| ReleaseState |
Type
picklist
Properties
Group, Nillable, Restricted picklist, Sort
Description
If the package version is a beta version, the value is Beta. Otherwise, the value is Released.
|
| RemoteSiteSettings |
Type
[SubscriberPackageRemoteSiteSettings](#SubscriberPackageRemoteSiteSettings)
Properties
Nillable
Description
List of new Remote Site Settings that the user must authorize before installing the package. Package upgrades don’t include previously installed Remote Site Settings.
|
| SubscriberPackageId |
Type
ID
Properties
Group, Nillable, Sort
Description
ID of the parent SubscriberPackage. The ID starts with the string 033.
This value is case-sensitive and must be unique.
|
| IsOrgDependent |
Type
boolean
Properties
Defaulted on create, Group, Sort
Description
Indicates whether the package depends on unpackaged metadata in the installation org (true) or not (false). This field applies to unlocked packages only. The default value is false. Available in API version 49.0 and later.
|
## SubscriberPackageCspTrustedSites
Represents the list of new Trusted URLs that the user must authorize before installing the package version. Available in API version 41.0 and later. In API version 58.
| Field | Details |
| --- | --- |
| settings |
Type
[SubscriberPackageCspTrustedSite](#SubscriberPackageCspTrustedSite)
Description
List of Trusted URLs ([CspTrustedSite](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_csptrustedsite.htm "Represents a trusted URL. For each CspTrustedSite, you can specify Content Security Policy (CSP) directives and permissions policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted URL access to a browser feature. In API version 58.0 and earlier, CspTrustedSite included only CSP directives and was referred to as CSP Trusted Sites in Salesforce Setup. Available in API version 39.0 and later.")) that have been added to the package. These sites must be authorized before installation.
If the AppExchange listing for the package doesn’t contain a value for this field, the field’s value is null.
|
## SubscriberPackageCspTrustedSite
Represents a new Trusted URLs ([CspTrustedSite](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_csptrustedsite.htm "Represents a trusted URL. For each CspTrustedSite, you can specify Content Security Policy (CSP) directives and permissions policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted URL access to a browser feature. In API version 58.0 and earlier, CspTrustedSite included only CSP directives and was referred to as CSP Trusted Sites in Salesforce Setup. Available in API version 39.0 and later.")) that the user must authorize before installing the package version. Available in API version 41.0 and later.
| Field | Details |
| --- | --- |
| endpointUrl |
Type
string
Description
The URL associated with the [CspTrustedSite](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_csptrustedsite.htm "Represents a trusted URL. For each CspTrustedSite, you can specify Content Security Policy (CSP) directives and permissions policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted URL access to a browser feature. In API version 58.0 and earlier, CspTrustedSite included only CSP directives and was referred to as CSP Trusted Sites in Salesforce Setup. Available in API version 39.0 and later.").
|
## SubscriberPackageDependencies
Represents a list of subscriber package version IDs that a subscriber package version depends on. Available in API version 44.0 and later.
| Field | Details |
| --- | --- |
| ids |
Type
SubscriberPackageDependency
Description
List of SubscriberPackageDependency IDs: 04t IDs for the package versions that a subscriber package version depends on.
|
## SubscriberPackageProfiles
Represents a mapping between the profiles contained in the package and the profiles that are applied in the target subscriber org. Available in API version 41.0 and later.
| Field | Details |
| --- | --- |
| destinationProfiles |
Type
[SubscriberPackageDestinationProfile](#SubscriberDestinationProfile)
Description
The profiles that the administrator installing the package in a target subscriber org actually applies.
|
| sourceProfiles |
Type
[SubscriberPackageSourceProfile](#SubscriberPackageSourceProfile)
Description
The profiles that are contained in the package that is being installed.
|
## SubscriberPackageDestinationProfile
Represents the profile that an administrator applies when installing the package in a target subscriber org. Available in API version 41.0 and later.
| Field | Details |
| --- | --- |
| description |
Type
string
Description
The description of the profile.
|
| displayName |
Type
string
Description
The display name of this profile.
|
| name |
Type
string
Description
The name of the profile.
|
| noAccess |
Type
boolean
Description
Returns true if the profile is internal.
|
| profileId |
Type
string
Description
The ID of the profile.
|
| type |
Type
string
Description
The API name of the profile.
|
## SubscriberPackageSourceProfile
Represents a profile contained in the package to be installed. Available in API version 41.0 and later.
| Field | Details |
| --- | --- |
| label |
Type
string
Description
The profile label.
|
| value |
Type
string
Description
The name of the profile.
|
## SubscriberPackageRemoteSiteSettings
Represents a list of Remote Site Settings (RSS) that have been added to the package since the last version. Available in API version 41.0 and later.
| Field | Details |
| --- | --- |
| settings |
Type
[SubscriberPackageRemoteSiteSetting](#SubscriberPackageRemoteSiteSetting)[SubscriberPackageRemoteSiteSetting](#SubscriberPackageRemoteSiteSetting)
Description
List of RSS added to the package since the last version.
|
## SubscriberPackageRemoteSiteSetting
Defines a URL to an external service. The administrator of the subscriber org must authorize access to these services. Available in API version 41.0 and later.
| Field | Details |
| --- | --- |
| secure |
Type
boolean
Description
Returns true if the URL uses the https protocol. Applies only if protocol security is enabled.
|
| url |
Type
string
Description
The URL of the remote service.
|
## Usage
Represents a version of an installable package. To query this object, include an ID (begins with 04t) in your SOQL WHERE clause.
For subscriber package versions with no installation keys, queries must include an ID value, but an InstallationKey value is not required.
SELECT Dependencies FROM SubscriberPackageVersion
WHERE ID = '04txxxxxxxxxxxx'
For unlocked package versions that have installation keys, queries must include both an ID value and an InstallationKey value.
SELECT Dependencies FROM SubscriberPackageVersion
WHERE ID = '04txxxxxxxxxxxx' AND InstallationKey='password123'
For managed first- and second-generation package versions that have installation keys and for unlocked package versions that are installed in your org, queries must include an ID value, but an InstallationKey value is optional.
SELECT Dependencies FROM SubscriberPackageVersion
WHERE ID = '04txxxxxxxxxxxx'
SELECT Dependencies FROM SubscriberPackageVersion
WHERE ID = '04txxxxxxxxxxxx' AND InstallationKey='password123'
# SubscriberPackageVersionUninstallRequest
Represents a request to uninstall a Package2Version (second-generation package version). Available in API version 41.0 and later.
## Supported SOAP Calls
create(), describeSObjects(), query(), retrieve()
## Supported REST HTTP Methods
GET, POST, Query
## Fields
| Field | Details |
| --- | --- |
| Status |
Type
picklist
Properties
Group, Nillable, Restricted picklist, Sort
Description
The status of the uninstall. Valid values are:
- Error
- InProgress
- Queued
- Success
|
| SubscriberPackageVersionId |
Type
ID
Properties
Create, Filter, Group, Sort
Description
The ID of the subscriber Package2 version to uninstall. The ID starts with the string 04t.
|
# SvcCatalogCategory
Represents the grouping of individual catalog items in Service Catalog. This object is available in API version 53.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available to customers with Employee Productivity Plus or IT Service Center add-ons.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Developer name for this category.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the category. This name has the following requirements:
- It must be unique across the org.
- It must contain only alphanumeric characters and underscores.
- It must begin with a letter.
- It must not include spaces.
- It must not end with an underscore.
- It must not contain two consecutive underscores.
Query this field only if the query result contains up to one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates if a catalog category is active.
The default value is 'false'.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Describes the manageable state of a category that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The primary label for the catalog category record.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The category’s metadata. Query this field only if the query result contains up to 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 associated with this category.
|
| ParentCategoryId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
If provided, the name of another SvcCatalogCategory that this category appears under. The parent category in this field can’t have its own parent category. Categories can’t have more than one level of nesting.
This is a relationship field.
Relationship Name
ParentCategory
Relationship Type
Lookup
Refers To
SvcCatalogCategory
|
| SortOrder |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Displays a set order for catalog category entities.
|
# SvcCatalogCategoryItem
Represents the assignment of this service to a category within the Service Catalog. This object is available in API version 53.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available to customers with Employee Productivity Plus or IT Service Center add-ons.
## Fields
| Field | Details |
| --- | --- |
| IsPrimaryCategory |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Determines if the catalog category (SvcCatalogCategory) is the primary category for this catalog item. EachSvcCatalogItemDef component can only have one category with this attribute set to true.
The default value is 'false'.
|
| SortOrder |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The position of the catalog item relative to other catalog items in the catalog category.
|
| SvcCatalogCategoryId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The catalog category that the catalog item is assigned to.
This is a relationship field.
Relationship Name
SvcCatalogCategory
Relationship Type
Lookup
Refers To
SvcCatalogCategory
|
| SvcCatalogItemDefId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Reference to the SvcCatalogItemDef.
This is a relationship field.
Relationship Name
SvcCatalogItemDef
Relationship Type
Lookup
Refers To
SvcCatalogItemDef
|
# SvcCatalogFulfillFlowItem
Represents a variable in a fulfillment flow for Service Catalog that can accept input. This object is available in API version 53.0 through 56.0.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available to customers with Employee Productivity Plus or IT Service Center add-ons.
## Fields
| Field | Details |
| --- | --- |
| CatalogFulfillmentId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
Id of the SvcCatalogFulfillmentFlow that this item belongs to.
This is a relationship field.
Relationship Name
CatalogFulfillment
Relationship Type
Lookup
Refers To
SvcCatalogFulfillmentFlow
|
| CatalogInputVariable |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The FlowVariable the fulfillment flow property represents.
|
| DisplayType |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The display options available.
Possible values are:
- Checkbox
- Lookup
- Number
- Picklist
- Text
The default value is 'Lookup'.
|
| FieldDefinition |
Type
picklist
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The name of a field in the object provided in ObjectLookupDomainId that specifies the value for this variable. If DisplayType is Picklist, this value must be the name of a picklist field. If DisplayType is Lookup and FieldLookupDomainId is FieldDefinition, this value must be the name of a relationship field. This value can be a field from a standard or custom object.
|
| FieldLookupDomainId |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The name of a standard or custom object that specifies the domain of that lookup or picklist. This value is relevant only if displayType is Lookup or Picklist.
This is a relationship field.
Relationship Name
FieldLookupDomain
Relationship Type
Lookup
Refers To
EntityDefinition
|
| IsAdditionalQuestionsInputVariable |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Determines if this variable accepts input for all additional questions that were asked to a user. This value can only be true if the DisplayType for this item is Text. Only one item per SvcCatalogFulfillmentFlow component can set this attribute to true.
The default value is 'false'.
|
| IsRequired |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
Determines if the field is required for the related fulfillment flow to be executed.
The default value is 'false'.
|
| LookupDomainFieldType |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
This value specifies the fields for the object specified by ObjectLookupDomainId that are displayed in the Catalog Builder by type. This value is only relevant if DisplayType is Lookup and fieldLookupDomain is FieldDefinition.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
The primary label for the fulfillment flow record.
|
| ObjectLookupDomainId |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The name of a custom or standard object. If DisplayType is Lookup or Picklist, this value filters the available options to a specific object.
This is a relationship field.
Relationship Name
ObjectLookupDomain
Relationship Type
Lookup
Refers To
EntityDefinition
|
# SvcCatalogFulfillmentFlow
Represents the flow associated with a specific catalog item in the Service Catalog. This object is available in API version 53.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available to customers with Employee Productivity Plus or IT Service Center add-ons.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Nillable
Description
Free-text description of the fulfillment flow.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Developer name for this fulfillment flow.
|
| FlowId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The flow represented by this SvcCatalogFulfillmentFlow.
This is a relationship field.
Relationship Name
Flow
Relationship Type
Lookup
Refers To
FlowDefinition
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the fulfillment flow. This name has the following requirements:
- It must be unique across the org.
- It must contain only alphanumeric characters and underscores.
- It must begin with a letter.
- It must not include spaces.
- It must not end with an underscore.
- It must not contain two consecutive underscores.
Query this field only if the query result contains up to one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.
|
| Icon |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Reserved for future use.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Describes the manageable state of a fulfillment flow that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The primary label for the fulfillment flow record.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The fulfillment flow’s metadata. Query this field only if the query result contains up to 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 associated with this fulfillment flow.
|
# SvcCatalogItemDef
Represents the grouping of individual catalog items in Service Catalog. This object is available in API version 53.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Special Access Rules
Available to customers with Employee Productivity Plus or IT Service Center add-ons.
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Nillable
Description
Free-text description of the catalog item.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Developer name for this catalog item.
|
| FlowId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The screen flow associated with the catalog item.
This is a relationship field.
Relationship Name
Flow
Relationship Type
Lookup
Refers To
FlowDefinition
|
| FulfillmentFlowId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
This field is a relationship field.
Relationship Name
FulfillmentFlow
Relationship Type
Lookup
Refers To
SvcCatalogFulfillmentFlow
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the catalog item. This name has the following requirements:
- It must be unique across the org.
- It must contain only alphanumeric characters and underscores.
- It must begin with a letter.
- It must not include spaces.
- It must not end with an underscore.
- It must not contain two consecutive underscores.
Query this field only if the query result contains up to one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.
|
| InternalNotes |
Type
textarea
Properties
Nillable
Description
Describes what the catalog item does and its implementation. This value is meant for other catalog builders.
|
| IsFeatured |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Determines if the catalog item is part of the featured catalog items.
The default value is 'false'.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted Picklist, Sort
Description
Possible values are:
- da - Danish
- de - German
- en\_US - English
- es - Spanish
- es\_MX - Spanish (Mexico)
- fi - Finnish
- fr - French
- it - Italian
- ja - Japanese
- ko - Korean
- nl\_NL - Dutch
- no - Norwegian
- pt\_BR - Portuguese (Brazil)
- ru - Russian
- sv - Swedish
- th - Thai
- zh\_CN - Chinese (Simplified)
- zh\_TW - Chinese (Traditional)
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Describes the manageable state of a catalog item that is contained in a package.
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The primary label for the catalog item record.
|
| Metadata |
Type
complexvalue
Properties
Create, Nillable, Update
Description
The catalog item’s metadata. Query this field only if the query result contains up to 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 associated with this catalog item.
|
| Status |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Displays the publishing status of a catalog item.
Possible values are:
- Deprecated
- Draft
- PendingChanges
- Published
The default value is 'Draft'.
|
# SymbolTable
A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body.
## Fields
| Field | Details |
| --- | --- |
| constructors |
Type
array of Constructor
Description
Contains the position, scope, and signature of constructors for the Apex class. Apex triggers don't have constructors.
Constructor includes the following fields:
- [annotations](#annotations_title)
- location
- [modifiers](#modifiers_title)
- name
- references
- visibility (available only in API versions 33.0 and earlier; scope: Global, Public, or Private)
- parameters
|
| externalReferences |
Type
array of ExternalReference
Description
Contains the name, namespace, external class, method, and variable references for the Apex class or trigger. These references can be used for symbol highlighting or code navigation.
ExternalReference includes the following fields:
- methods
- name
- namespace
- references
- variables
|
| innerClasses |
Type
array of SymbolTable
Description
Contains a symbol table for each inner class of the Apex class or trigger.
|
| interfaces |
Type
array of String
Description
Contains a set of strings for each interface with the namespace and name, for example: \['System.Batchable', 'MyNamespace.MyInterface'\].
|
| methods |
Type
array of Method
Description
Contains the position, name, scope, signature, and return type of available Apex methods.
Method includes the following fields:
- [annotations](#annotations_title)
- location
- [modifiers](#modifiers_title)
- name
- references
- visibility (available only in API versions 33.0 and earlier; scope: Global, Public, or Private)
- parameters
- returnType
|
| name |
Type
string
Description
The name of the Apex class or trigger.
|
| namespace |
Type
string
Description
The namespace of the Apex class or trigger. Null if there is no namespace.
|
| parentClass |
Type
string
Description
Returns parents of inner classes and extending classes.
|
| properties |
Type
array of VisibilitySymbol
Description
Contains the position, name, scope, and references of properties for the Apex class or trigger.
VisibilitySymbol includes the following fields:
- [annotations](#annotations_title)
- location
- [modifiers](#modifiers_title)
- name
- references
- visibility (available only in API versions 33.0 and earlier; scope: Global, Public, or Private)
|
| tableDeclaration |
Type
array of Symbol
Description
Contains the position, name, and references of the Apex class or trigger.
Symbol includes the following fields:
- [annotations](#annotations_title)
- location
- [modifiers](#modifiers_title)
- name
- references
|
| variables |
Type
array of Symbol
Description
Contains the position, name, and references of related variables.
Symbol includes the following fields:
- [annotations](#annotations_title)
- location
- [modifiers](#modifiers_title)
- name
- references
|
## Annotations
Available values for annotations fields include:
- Deprecated
- Future
- HttpDelete
- HttpGet
- HttpPatch
- HttpPost
- HttpPut
- InvocableMethod
- InvocableVariable
- IsTest
- ReadOnly
- RemoteAction
- TestSetup
- TestVisible
- RestResource
## Modifiers
Modifiers can include more values than those values explicitly specified in classes and methods. All relevant modifiers, including implicit ones, are now returned. For example, all webservice methods have an implicit global modifier. Also, because fields and methods are private unless otherwise specified, the private modifier is returned by default.
The testMethod modifier is returned when either the testMethod modifier or the IsTest annotation is used.
Available values for modifiers fields include:
- abstract
- final
- global
- inherited sharing
- override
- private
- protected
- public
- static
- testMethod
- transient
- virtual
- webService
- with sharing
- without sharing
## Usage
Use symbol tables instead of building a parser or compiler. Symbol tables allow you to do symbol highlighting, code navigation, code completion, symbol searches, and more.
A symbol table can’t be created if the content referenced by the ContentEntityId field doesn’t use a symbol table. Compiler errors for the last deployment of the [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm "Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.") in the MetadataContainerId field also prevent a symbol table from being created.
# System Fields
Some fields are system-generated. They are on most Tooling API objects, and are read-only.
These fields are automatically updated during API operations. For example, the Id field is automatically generated when a record is created, and the LastModifiedDate is automatically updated during any operation on an object.
| Field | Field Type | Description |
| --- | --- | --- |
| Id | ID | Globally unique string that identifies a record. Id fields have Defaulted on create and Filter access. |
| IsDeleted | boolean | Indicates whether the record has been moved to the Recycle Bin (true) or not (false). Because this field does not appear in all objects, it is listed in the field table for each object. |
| CreatedBy | User | The user who created the record. CreatedBy fields have Defaulted on create, Filter, Group, and Sort access. |
| CreatedById | reference | ID of the User who created this record. CreatedById fields have Defaulted on create, Filter, Group, and Sortaccess. |
| CreatedDate | dateTime | Date and time when this record was created. CreatedDate fields have Defaulted on create, Filter, and Sort access. |
| LastModifiedBy | User | The user who last modified this record. LastModifiedBy fields have Defaulted on create, Filter, Group, and Sort access. |
| LastModifiedById | reference | ID of the User who last updated this record. LastModifiedById fields have Defaulted on create, Filter, Group, and Sortaccess. |
| LastModifiedDate | dateTime | Date and time when a user last modified this record. LastModifiedDate fields have Defaulted on create, Filter, and Sort access. |
| SystemModstamp | dateTime | Date and time when this record was last modified by a user or by an automated process (such as a trigger). SystemModstamp fields have Defaulted on create and Filter access. |
To verify which fields are available for an object, check the Tooling API WSDL.
# TabDefinition
Represents a tab, and returns all tabs available in the org. Available in API version 43.0 and later.

#### Note
In API version 45.0 and later, only users with the “ViewSetup and Configuration” permission can access TabDefinition.
## Supported SOAP Calls
query(), search()
## Supported REST HTTP Methods
Query, GET
## Fields
| Field Name | Details |
| --- | --- |
| 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. To simplify queries, use this field.
|
| IsAvailableInAloha |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Set to true if the tab is available in the Salesforce Classic user interface. If a tab is available in Salesforce Classic, then IsAvailableInMobile is false.
|
| IsAvailableInDesktop |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Set to true if the tab is available in the desktop user interface.
|
| IsAvailableInMobile |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Set to true if the tab is available in the Salesforce mobile app.
|
| IsAvailableInLightning |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Set to true if the tab is available in the Lightning Experience user interface.
|
| IsCustom |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Set to true if the tab is a custom tab.
|
| Label |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The tab label in the Salesforce org.
|
| MobileUrl |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If the tab is available in mobile, this is the URL that the tab directs the user to in the Salesforce mobile app. If the tab isn’t available in mobile, this is set to null.
|
| Name |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the tab.
|
| SobjectName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Used with REST to retrieve the metadata for the tab.
|
| Url |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The URL for where the tab directs the user.
|
# TelephonyProvider
Represents the telephony provider configuration and trust settings for Agentforce Contact Center BYOC integrations. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access TelephonyProvider, you must have the Agentforce Contact Center Admin (Salesforce Voice) permission set assigned.
## Fields
| Field | Details |
| --- | --- |
| Country |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
Country associated with the telephony provider.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Unique name of the object in the API.
|
| ExternalIdentifier |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Identifier for the external telephony provider.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the MasterLabel.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
User interface label for the telephony provider configuration. This internal label doesn’t get translated.
|
| ProviderName |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
Unique name for the telephony provider.
|
| TrunkType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Type of trunk relationship with the provider.
Possible values are:
- Secondary: Associates the provider with a SecondaryTelephonyProvider record.
- Trusted: Associates the telephony provider with a TrustedTelephonyProvider record.
|
# Territory2SupportedObject
Represents the object type supported by territories. This object is available in API version 57.0 and later.
## Supported SOAP API Calls
describeSObjects(), query(), retrieve()
## Supported REST API Methods
GET, HEAD, Query
## Special Access Rules
Enable the Manage Territories user permission.
## Fields
| Field | Details |
| --- | --- |
| DefaultAccessLevel |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Default access level for objects assigned to territories.
|
| DurableId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Unique identifier of the field.
|
| ObjectType |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Object type supported by the territory.
|
| State |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Status of the support activation of the object type.
|
# TestSuiteMembership
Associates an Apex class with an ApexTestSuite. Available in Tooling API version 36.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Description |
| --- | --- |
| ApexClassId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The Apex class whose tests are to be executed.
This is a relationship field.
Relationship Name
ApexClass
Relationship Type
Lookup
Refers To
ApexClass
|
| ApexTestSuiteId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The test suite to which the Apex class is assigned.
This is a relationship field.
Relationship Name
ApexTestSuite
Relationship Type
Lookup
Refers To
ApexTestSuite
|
## Usage
Insert a TestSuiteMembership object using an API call to associate an Apex class with an ApexTestSuite object. (ApexTestSuite and TestSuiteMembership aren’t editable through Apex DML.) To remove the class from the test suite, delete the TestSuiteMembership object. If you delete an Apex test class or test suite, all TestSuiteMembership objects that contain that class or suite are deleted.
The following SOQL query returns the membership object that relates this Apex class to this test suite.
SELECT Id FROM TestSuiteMembership WHERE ApexClassId = '01pD0000000Fhy9IAC'
AND ApexTestSuiteId = '05FD00000004CDBMA2'
# TimeSheetTemplate
Represents a template for creating time sheets in Field Service. Available in API version 46.0 and later.
## Supported SOAP Calls
create(), delete(), describeLayout(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET, POST, PATCH, DELETE
## Special Access Rules
Field Service must be enabled to access TimeSheetTemplate. Users must have the Customize Application and Time Sheet Template permissions.
## 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.")
## Fields
| Field | Details |
| --- | --- |
| Active |
Type
boolean
Properties
Defaulted On Create, Filter, Group, Sort
Description
Indicates whether the time sheet template is active (true) or not (false).
|
| Description |
Type
textarea
Properties
Nillable
Description
The time sheet template's description.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The API name of the time sheet template. Can contain alphanumeric characters and underscores, and must begin with a letter.
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| Frequency |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Defines the frequency of the time sheet creation period. One of the following values:
- Daily
- Weekly
- EveryTwoWeeks
- TwiceAMonth
- Monthly
|
| Fullname |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API. 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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language associated with the time sheet template.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
Available in API version 48.0 and later. |
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
The name of the time sheet template.
|
| Metadata |
Type
mns:TimeSheetTemplate
Properties
Create, Nillable, Update
Description
The TimeSheetTemplate metadata.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace that identifies the package that manages the time sheet template. Available in API version 48.0 and later.
|
| StartDate |
Type
date
Properties
Filter, Group, Sort
Description
The date when the time sheet takes effect.
|
| TimeSheetTemplateAssignments |
Type
QueryResult
Properties
Nillable
Description
A list of profiles that the template is assigned to. This field is only visible when the template has been assigned to at least one user profile. Available in API version 48.0 and later.
|
| WorkWeekEndDay |
Type
picklist
Properties
Defaulted On Create, Filter, Group, Restricted picklist, Sort
Description
The end day of the template's work week. One of the following values:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday (default)
|
| WorkWeekStartDay |
Type
picklist
Properties
Defaulted On Create, Filter, Group, Restricted picklist, Sort
Description
The start day of the template's work week. One of the following values:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
- Sunday (default)
|
# TimeSheetTemplateAssignment
Represents the assignment of a time sheet template to a profile. Available in API version 48.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## 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.")
## Special Access Rules
Field Service must be enabled to access TimeSheetTemplateAssignment. Users must have the Customize Application and Time Sheet Template permissions.
## Fields
| Field | Details |
| --- | --- |
| AssignedToId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Unique, Update
Description
The ID of the user profile assigned to the time sheet template.
|
| TimeSheetTemplateId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
The ID of the associated time sheet template.
|
# Tooling API Objects and Namespaces
Tooling API objects provide programmatic access to data and metadata. The Tooling API WSDL includes four namespaces.
| sobject.tooling.soap.sforce.com |
Tooling API sObjects. Some sObjects have a Metadata field defined in the
mns namespace. This namespace is available
in API version 37.0 and later.
|
ens |
| fault.tooling.soap.sforce.com |
Tooling API error codes. This namespace is available in API version 37.0 and
later.
|
fns |
| tooling.soap.sforce.com |
General complex types, describe results, and all enum types in the Tooling
API. |
tns |
| metadata.tooling.soap.sforce.com |
Objects and types that occur in both the Metadata API WSDL and the Tooling API
WSDL. Elements in the two WSDLs might be defined differently. |
mns |
Objects and types that are identical in the Tooling API and Metadata API WSDLs are documented in the Metadata API Developer Guide.
Objects and types that are different in the Tooling API WSDL or occur only in the Tooling API WSDL are documented in this guide.
Frequently occurring system fields are described in [System Fields](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_system_fields.htm "Some fields are system-generated. They are on most Tooling API objects, and are read-only."). You can verify the complete list of fields for an object by generating and reviewing the Tooling API WSDL.
## Object Quick-Reference Tables, System Fields, and SOQL Limitations
Learn about objects, system fields that occur on most objects, and SOQL limitations that apply to some objects in Tooling API. An alphabetical list of objects is also available.
- **[SOQL Operation 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 Operation 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.
- **[Considerations for CRUD Operations in Active Orgs](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_crud_operations.htm)**
CRUD operations on most Tooling API objects are allowed in active orgs in API version 41.0 and later, just as they are in other kinds of orgs. However, for performance reasons you can’t perform CRUD operations in an active org for some Tooling API objects.
- **[Allow Metadata Save Operations to Complete with Returned Warnings](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_metadata_save_warning.htm)**
When a metadata save operation generates warnings, the default behavior of Tooling API is to fail the operation without returning the warnings. For objects in both the Tooling API and Metadata API WSDLs, you can indicate that you want error-free save operations to complete successfully, returning any warnings.
- **[System Fields](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_system_fields.htm)**
Some fields are system-generated. They are on most Tooling API objects, and are read-only.
- **[ApiFault Element](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_Fault_set.htm)**
An ApiFault element contains information about a fault that occurs when processing a service request.
- **[Programming Objects](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_programming.htm)**
Use programming objects to interact with programmatic artifacts: Apex, Visualforce, and Lightning.
- **[Setup Objects](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_setup.htm)**
Use setup objects to interact with metadata for declarative development. For example, you can create your own version of Setup, or restrict the amount of data required to push to an app to a mobile phone.
- **[Tooling Objects](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_tooling.htm)**
Use these objects to build tools around test results, debugging, code coverage, and more.
- **[Operational Objects](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_operational.htm)**
Use the following objects for Tooling API operations.
# Tooling API Objects
Tooling API includes the following objects:
- **[AccountPlanObjMeasCalcCond](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_accountplanobjmeascalccond.htm)**
Represents a field and value combination for filtering records to include in the calculation of a sales account plan objective measure’s current value. This object is available in API version 63.0 and later.
- **[AccountPlanObjMeasCalcDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_accountplanobjmeascalcdef.htm)**
Represents the metadata associated with an account plan objective measure calculation definition. An account plan objective measure calculation definition contains a target object, rollup field, and logic for calculating the current value of a sales account plan objective measure. This object is available in API version 63.0 and later.
- **[ActivationPlatform](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_activationplatform.htm)**
Represents metadata about ActivationPlatform, such as platform name, delivery schedule, output format, and destination folder. This object is available in API version 54.0 and later.
- **[AdvAcctFrcstDisplayGroup](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_advacctfrcstdisplaygroup.htm)**
Represents information about the groups for the advanced account forecast set measures or dimensions. This object is available in API version 57.0 and later.
- **[AdvAccountForecastSet](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_advaccountforecastset.htm)**
Represents an advanced account forecast set. This object is available in API version 56.0 and later.
- **[AdvAcctForecastMeasureDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_advacctforecastmeasuredef.htm)**
Represents information about the measures to be displayed in the advanced account forecasts grid for the forecast set. This object is available in API version 57.0 and later.
- **[AIApplication](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_aiapplication.htm)**
Represents an instance of a machine learning (ML) application.Available in API version 50.0 and later.
- **[AIApplicationConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_aiapplicationconfig.htm)**
Represents additional prediction information related to a machine learning (ML) application.Available in API version 50.0 and later.
- **[AnimationRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_animationrule.htm)**
Represents criteria for determining when an animation is displayed to Path users. Available in API version 46.0 and later.
- **[ApexClass](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexclass.htm)**
Represents the saved copy of an Apex class. ApexClass uses the cached version of the class unless one is unavailable. Available from API version 28.0 or later.
- **[ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm)**
Represents the working copy of an Apex class for editing, saving, or compiling in a MetadataContainer.
- **[ApexCodeCoverage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverage.htm)**
Represents code coverage test results for an Apex class or trigger. Available in Tooling API version 29.0 and later.
- **[ApexCodeCoverageAggregate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverageaggregate.htm)**
Represents aggregate code coverage test results for an Apex class or trigger. Available in Tooling API version 29.0 and later.
- **[ApexComponent](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponent.htm)**
Represents the saved copy of a Visualforce component. ApexComponent uses the cached version of the class unless one is unavailable. Available from API version 28.0 or later.
- **[ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm)**
Represents the working copy of a Visualforce component for editing, saving, or compiling in a MetadataContainer.
- **[ApexEmailNotification](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexemailnotification.htm)**
Stores a Salesforce user ID or external email address to be notified when unhandled Apex exceptions occur. This object is available in API version 35.0 and later.
- **[ApexExecutionOverlayAction](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayaction.htm)**
Specifies an Apex code snippet or SOQL query to execute at a specific line of code in an Apex class or trigger. Optionally, generates a heap dump.
- **[ApexExecutionOverlayResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayresult.htm)**
Represents the result from the Apex code snippet or SOQL query defined in the associated ApexExecutionOverlayAction, and the resulting heap dump if one was returned. Available from API version 28.0 or later.
- **[ApexLog](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexlog.htm)**
Represents a debug log.
- **[ApexOrgWideCoverage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexorgwidecoverage.htm)**
Represents code coverage test results for an entire organization. Available in Tooling API version 29.0 and later.
- **[ApexPage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexpage.htm)**
Represents the saved copy of a Visualforce page. ApexPage uses the cached version of the page unless one is unavailable. Available from API version 28.0 or later.
- **[ApexPageInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexpageinfo.htm)**
Represents metadata about a Visualforce page. This object is available in API version 37.0 and later.
- **[ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm)**
Represents the working copy of a Visualforce page for editing, saving, or compiling in a MetadataContainer.
- **[ApexResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexresult.htm)**
A complex type that represents the result of Apex code executed as part of an ApexExecutionOverlayAction , returned in an ApexExecutionOverlayResult. Available from API version 28.0 or later.
- **[ApexTestQueueItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestqueueitem.htm)**
Represents a single Apex class in the Apex job queue. Available in API version 30.0 and later.
- **[ApexTestResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestresult.htm)**
Represents the result of an Apex test method execution. Available from API version 30.0 or later.
- **[ApexTestResultLimits](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestresultlimits.htm)**
Captures the Apex test limits used for a particular test method execution. An instance of this object is associated with each ApexTestResult object. Available from API version 37.0 or later.
- **[ApexTestRunResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestrunresult.htm)**
Contains summary information about all the test methods that were run in a particular Apex job. Available from API version 37.0 or later.
- **[ApexTestSuite](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextestsuite.htm)**
Represents a suite of Apex classes to include in a test run. A TestSuiteMembership object associates each class with the suite. Available in the ens namespace in Tooling API version 36.0 and later. Also, available in the mns namespace in Tooling API version 38.0 and later.
- **[ApexTrigger](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextrigger.htm)**
Represents the saved copy of an Apex trigger. ApexTrigger uses the cached version of the class unless one is unavailable. Available from API version 28.0 or later.
- **[ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm)**
Represents the working copy of an Apex trigger for editing, saving, or compiling in a MetadataContainer.
- **[AssignmentRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_assignmentrule.htm)**
Don’t use this object.
- **[AuraDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_auradefinition.htm)**
Represents an Aura component definition, such as component markup, a client-side controller, or an event. Available in API version 32.0 and later.
- **[AuraDefinitionBundle](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_auradefinitionbundle.htm)**
Represents a Lightning Aura component definition bundle, such as a component or application bundle. A bundle contains a Lightning Aura component definition and all its related resources. Available in API version 32.0 and later.
- **[AuthorizedEmailDomain](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_authorizedemaildomain.htm)**
Represents an authorized domain for email verification. This object is available in API version 64.0 and later.
- **[AutoResponseRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_autoresponserule.htm)**
Specifies whether the autoresponse rule is active (true).
- **[BrandingSet](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_brandingset.htm)**
Represents a set of branding properties for an Experience Builder site, as defined in the Theme panel in Experience Builder. This object is available in API version 40.0 and later.
- **[BrandingSetProperty](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_brandingsetproperty.htm)**
Represents a branding set property in the Theme panel in Experience Builder. This object is available in API version 40.0 and later.
- **[BriefcaseDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_briefcasedefinition.htm)**
Represents a briefcase definition. A briefcase makes selected records available for users and groups to view when they’re offline in the Salesforce Field Service mobile app for iOS and Android. This object is available in API version 50.0 and later.
- **[BusinessProcess](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_businessprocess.htm)**
Represents a business process.
- **[BusinessProcessDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_businessprocessdefinition.htm)**
Represents information about stages in a customer lifecycle map. This object is available in API version 51.0 and later.
- **[BusinessProcessFeedback](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_businessprocessfeedback.htm)**
Represents information about the survey and the question associated with each stage in a customer lifecycle map. This object is available in API version 51.0 and later.
- **[BusinessProcessGroup](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_businessprocessgroup.htm)**
Represents information about the customer lifecycle maps. Customer lifecycle maps are used to track the scores provided by customers across their lifecycle using Salesforce Surveys. For example, the lifecycle stages for an Insurance business process group can include acquisition, onboarding, claims, routine services, and renewal. This object is available in API version 51.0 and later.
- **[BusProcessFeedbackConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_busprocessfeedbackconfig.htm)**
Represents information about the configuration for feedback collection. The feedback collection method triggers against pre-determined conditions on object to gather feedback. This object is available in API version 51.0 and later.
- **[Certificate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_certificate.htm)**
Represents a certificate used for digital signatures that verify requests are coming from your org. Certificates are used for either authenticated single sign-on with an external website or when using your org as an identity provider. This object is available in Tooling API version 37.0 and later.
- **[CleanDataService](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_cleandataservice.htm)**
Represents a data service that adds and updates data in existing records in an org.
- **[CleanRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_cleanrule.htm)**
Represents a data integration rule that controls how a data service adds and updates data for existing records in an org.
- **[ColorDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_colordefinition.htm)**
Represents color metadata for a tab. Available in API version 43.0 and later.
- **[CommunityWorkspacesNode](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_communityworkspacesnode.htm)**
Represents a node used in Experience Workspaces. Available in Tooling API version 39.0 and later.
- **[CompactLayout](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_compactlayout.htm)**
Represents the values that define a compact page layout.
- **[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.
- **[CompactLayoutItemInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_compactlayoutiteminfo.htm)**
Represents a field selected for a compact layout, and the order of that field in the compact layout.
- **[ConnectedApplication](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_connectedapplication.htm)**
For internal use only.
- **[ContactCenterChannel](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_contactcenterchannel.htm)**
Represents a junction object that relates a Bring Your Own Channel for Contact Center as a Service (CCaaS) messaging channel to a CallCenter object for Bring Your Own Channel for CCaaS. This object also represents the routing details for a voicemail configuration. This object is available in API version 56.0 and later.
- **[ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm)**
Allows you to compile and asynchronously deploy a MetadataContainer object to your organization.
- **[ConversationChannelDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_conversationchanneldefinition.htm)**
Represents a configurable definition of a conversation channel that’s implemented for Interaction Service for Bring Your Own Channel for Messaging and Bring Your Own Channel for CCaaS messaging channels. This object is available in API version 60.0 and later.
- **[ConversationVendorInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_conversationvendorinfo.htm)**
This setup object connects the partner vendor system to the Service Cloud feature. For example, for Service Cloud Voice, this object contains information about the partner telephony or Contact Center as a Service (CCaaS) partner system. For Bring Your Own Channel for Messaging this object contains information about the partner messaging system, and for Bring Your Own Channel for CCaaS, this object contains information about the CCaaS partner system. This object is available in API version 52.0 and later.
- **[CspTrustedSite](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_csptrustedsite.htm)**
Represents a trusted URL. For each CspTrustedSite, you can specify Content Security Policy (CSP) directives and permissions policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted URL access to a browser feature. In API version 58.0 and earlier, CspTrustedSite included only CSP directives and was referred to as CSP Trusted Sites in Salesforce Setup. Available in API version 39.0 and later.
- **[CustomApplication](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customapplication.htm)**
Represents a custom or standard application. An application is a list of tab references, a description, and a logo. It also includes access to the associated CustomApplication type and related fields in Metadata API. Available in Tooling API version 42.0 or later.
- **[CustomField](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customfield.htm)**
Represents a custom field on a custom object that stores data unique to your organization. Includes access to the associated CustomField object and related fields in Salesforce Metadata API. Available from API version 28.0 or later.
- **[CustomFieldDisplay](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customfielddisplay.htm)**
Represents the view type assigned to product attribute custom fields. This object is available in API version 63.0 and later.
- **[CustomFieldMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customfieldmember.htm)**
Represents the working copy of a field for editing or saving in a MetadataContainer. This object is available in API version 33.0 and later.
- **[CustomHelpMenuSection](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customhelpmenusection.htm)**
Represents a section of the Lightning Experience help menu that the admin added to display custom, org-specific help resources. Available in API version 45.0 and later.
- **[CustomHttpHeader](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customhttpheader.htm)**
Represents a custom HTTP header used with OData 2.0 or OData 4.0 external data sources. Custom HTTP headers provide context information from Salesforce such as region, org details, or the role of the person viewing the external object. This object is available in API version 51.0 and later.
- **[CustomNotificationActionGroup](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customnotificationactiongroup.htm)**
Stores information about custom notification action groups. This object is available in API version 66.0 and later.
- **[CustomNotifActionDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customnotifactiondef.htm)**
Represents the metadata associated with a mobile action group notification definition. This object is available in API version 66.0 and later.
- **[CustomNotificationType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customnotificationtype.htm)**
Stores information about custom notification types. This object is available in API version 46.0 and later.
- **[CustomMsgChannel](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_custommsgchannel.htm)**
Represents a custom conversation channel and stores event-driven Messaging settings. Custom conversation channels are implemented for Bring Your Own Channel for Messaging and Bring Your Own Channel for CCaaS Messaging channels. This object is available in API version 63.0 and later.
- **[CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customobject.htm)**
Represents a custom object that stores data unique to your organization. Includes access to the associated CustomObject object and related fields in Salesforce Metadata API. Available from API version 31.0 or later.
- **[CustomTab](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_customtab.htm)**
Represents a custom tab.
- **[DataAssessmentConfigItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_dataassessmentconfigitem.htm)**
Represents a saved configuration for a specific vendor’s package for data assessment. This object is available in API version 40.0 and later.
- **[DataIntegrationRecordPurchasePermission](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_dataintegrationrecordpurchasepermission.htm)**
Represents Lightning Data purchase credits that a Salesforce admin has granted to users. Available in Tooling API version 42.0 and later.
- **[DataSourceBundleDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_datasourcebundledefinition.htm)**
Represents the bundle of streams that a user adds to a data kit. This object is available in API version 52.0 and later.
- **[DataStreamTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_datastreamtemplate.htm)**
Represents metadata about the data stream that a user adds to a data kit. This object is available in API version 52.0 and later.
- **[DataType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_datatype.htm)**
Represents the datatype of a field. Use this object with EntityDefinition, EntityParticle, or FieldDefinition to simplify queries. Available in Tooling API version 34.0 and later.
- **[DebugLevel](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_debuglevel.htm)**
Represents a set of log category levels to assign to a TraceFlag object. Multiple trace flags can use a debug level.
- **[DelegateGroup](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_delegategroup.htm)**
Represents a Delegate Group for queries. This object is available in Tooling API version 57.0 and later.
- **[DelegateGroupGrant](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_delegategroupgrant.htm)**
Represents a Delegate Group Grant, indicating permissions granted to a delegate group. This object is available in Tooling API version 57.0 and later.
- **[DelegateGroupMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_delegategroupmember.htm)**
Represents users assigned to the delegate group This object is available in Tooling API version 57.0 and later.
- **[DeployDetails](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_deploydetails.htm)**
A complex type that contains detailed XML for any compile errors reported in the asynchronous request defined by a ContainerAsyncRequest object. Replaces the JSON field CompilerErrors in Tooling API version 31.0 and later.
- **[DeployRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_deployrequest.htm)**
Uses file representations of metadata components to create, update, or delete those components in a Salesforce org. This object is available in API version 49.0 and later.
- **[DocProcDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_docprocdefinition.htm)**
Represents an Intelligent Document Processing (IDP) definition, which holds the identity and type of the definition. The versioned processing payload is stored on the child DocProcDefinitionVer object. This object is available in API version 68.0 and later.
- **[DocProcDefinitionVer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_docprocdefinitionver.htm)**
Represents an immutable version of an Intelligent Document Processing (IDP) definition (DocProcDefinition). Multiple versions of the same definition can be active at the same time. A version is identified by its parent definition and VersionNumber. This object is available in API version 68.0 and later.
- **[Document](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_document.htm)**
Represents a file that a user has uploaded. Unlike Attachment records, documents are not attached to a parent object. Available in Tooling API version 38.0 and later.
- **[DomainProvision](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_domainprovision.htm)**
Represents provisioned changes to custom domains. This object is available in API version 50.0 and later.
- **[DuplicateJobDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_duplicatejobdefinition.htm)**
Setup object defining a job that identifies duplicate record items globally. Available in Tooling API version 42.0 and later.
- **[DuplicateJobMatchingRuleDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_duplicatejobmatchingruledefinition.htm)**
Setup object specifying a MatchingRule to use with DuplicateJob instances that share a DuplicateJobDefinition. Available in Tooling API version 42.0 and later.
- **[EmailTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_emailtemplate.htm)**
Represents a template for an email, mass email, list email, or Sales Engagement email. Supported in first-generation managed packages only.
- **[EmbeddedServiceBranding](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicebranding.htm)**
Represents branding for each Embedded Service deployment. Available in Tooling API version 39.0 and later.
- **[EmbeddedServiceConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceconfig.htm)**
Represents a setup node for creating an Embedded Service deployment. Available in API version 38.0 and later.
- **[EmbeddedServiceCustomComponent](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicecustomcomponent.htm)**
Represents a custom component created for an Embedded Service feature. The custom components can be an Aura or Lightning Web Component. This object is available in API version 44.0 and later.
- **[EmbeddedServiceCustomization](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicecustomization.htm)**
Represents a mapping between the EmbeddedServiceCustomization record parent and the EmbeddedServiceConfiguration or EmbeddedServiceMenuSettings, for a set of Embedded Service resources. Each resource is set of customizations applied via an uploaded static resource for your Embedded Chat. This object is available in API version 52.0 and later.
- **[EmbeddedServiceCustomLabel](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicecustomlabel.htm)**
Represents a customized label that appears in the embedded component for a particular Embedded Service deployment. Labels can be customized for both Embedded Chat and embedded Appointment Management (beta). Available in API version 44.0 and later.
- **[EmbeddedServiceFieldService](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicefieldservice.htm)**
Represents a setup node for creating an embedded Appointment Management (beta) deployment. Available in Tooling API version 43.0 and later.
- **[EmbeddedServiceFlow](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceflow.htm)**
Represents a Flow Definition used by an Embedded Service deployment. This object is available in API version 45.0 and later.
- **[EmbeddedServiceFlowConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceflowconfig.htm)**
Represents whether an Embedded Service Flow feature is enabled or not. This object is available in API version 45.0 and later.
- **[EmbeddedServiceLiveAgent](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceliveagent.htm)**
Represents a setup node for creating an Embedded Chat deployment. Available in Tooling API version 38.0 and later.
- **[EmbeddedServiceMenuItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicemenuitem.htm)**
Represents the information needed to configure a Channel Menu item. This object is available in API version 47.0 and later.
- **[EmbeddedServiceMenuSettings](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicemenusettings.htm)**
Represents a setup node for creating a channel menu deployment. Channel menus list the ways in which customers can contact your business. This object is available in API version 47.0 and later.
- **[EmbeddedServiceQuickAction](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedservicequickaction.htm)**
Returns a quick action that is associated with an EmbeddedServiceLiveAgent setup. The quick action includes the pre-chat form fields that the embedded chat window displays and shows the order in which the fields are displayed. Available in Tooling API version 39.0 and later.
- **[EmbeddedServiceResource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_embeddedserviceresource.htm)**
Represents a mapping from an EmbeddedServiceCustomization record parent to a set of resources. Each resource is a set of customizations applied via an uploaded static resource for your Embedded Chat. This object is available in API version 50.0 and later.
- **[EngagementInsightType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_engagementinsighttype.htm)**
Represents the configuration for engagement insight types for voice and video call insights. This object is available in API version 66.0 and later.
- **[EnrichedField](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_enrichedfield.htm)**
Represents a field selected for Change Data Capture Enrichment for a channel and channel member. A non-empty enriched field is added to an update or delete change event even when not changed. Available in API version 51.0 and later.
- **[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm)**
Provides row-based access to metadata about standard and custom objects.
- **[EntityLimit](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitylimit.htm)**
Represents the limits for an object as displayed in the Setup UI.
- **[EntityParticle](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entityparticle.htm)**
Represents each element of a field that can be presented in a user interface. Contrast EntityParticle with FieldDefinition, which represents each element of a field defined in the Metadata API. EntityParticle has parity with describe, which returns API accessible fields only for an entity. Available in Tooling API version 34.0 and later.
- **[EventDelivery](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_eventdelivery.htm)**
Represents how an event instant maps to a target payload. Removed in API version 46.0. Available in API version 41.0 to 45.0.
- **[EventRelayConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_eventrelayconfig.htm)**
Represents the configuration of an event relay, which relays platform events and change data capture events from Salesforce to Amazon EventBridge. This object is available in API version 56.0 and later.
- **[EventSubscription](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_eventsubscription.htm)**
Represents a subscription to an event type. Removed in API version 46.0. Available in API version 41.0 to 45.0.
- **[ExtConvParticipantIntegDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_extconvparticipantintegdef.htm)**
Represents the integration configuration for external conversation participants, used for communication between Salesforce and external messaging platforms. This object is available in API version 66.0 and later.
- **[ExternalAuthIdentityProvider](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalauthidentityprovider.htm)**
Represents an external authentication (auth) identity provider. An external auth identity provider links to an external credential and obtains OAuth tokens for outbound callouts to external systems.
- **[ExternalClientAppSettings](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalclientappsettings.htm)**
For internal use only.
- **[ExternalCredential](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalcredential.htm)**
Represents the details of how Salesforce authenticates to the external system. This object is available in API version 56.0 and later.
- **[ExternalDataSource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externaldatasource.htm)**
Represents the metadata associated with an external data source. Create external data sources to manage connection details for integration with data and content that are stored outside your Salesforce org. This object is available in API version 51.0 and later.
- **[ExternalDataSrcDescriptor](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externaldatasrcdescriptor.htm)**
Contains the metadata information for the external schema of an external data source. Use the metadata to map attributes from an AWS data source, such as Amazon DynamoDB and Amazon Athena, to Salesforce external object fields. Also, use the metadata to customize the data retrieval queries to an AWS data source. This object is available in API version 55.0 and later for Amazon DynamoDB and in API version 56.0 and later for Amazon Athena.
- **[ExternalServiceRegistration](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalserviceregistration.htm)**
Represents the external service configuration for an org. Available in API version 39.0 and later.
- **[ExternalString](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalstring.htm)**
Represents a custom label for a translatable UI component. Includes access to the associated label in the Metadata API. Available in API version 38.0 and later.
- **[ExternalDataTransportFieldTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externaldatatransportfieldtemplate.htm)**
Reserved for internal use.
- **[ExternalDataTransportObjectTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externaldatatransportobjecttemplate.htm)**
Reserved for internal use.
- **[ExternalStringLocalization](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalstringlocalization.htm)**
Represents the translation of custom labels for a UI component represented by the [ExternalString](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_externalstring.htm "Represents a custom label for a translatable UI component. Includes access to the associated label in the Metadata API. Available in API version 38.0 and later.") object. This object is available in API version 49.0 and later.
- **[FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm)**
Represents a standard or custom field, providing row-based access to field metadata. Contrast FieldDefinition with EntityParticle, which represents each element of a field that can be presented in a user interface. FieldDefinition has parity with metadata type Field.
- **[FieldMapping](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fieldmapping.htm)**
Represents a mapping between fields in an object in the org and fields in a data service. A data service uses two separate field maps: one controls how the data service matches records in an object, and the other controls how the data service adds or updates data for an existing record.
- **[FieldMappingField](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fieldmappingfield.htm)**
Represents a field in an object in the org that maps to a field in a data service.
- **[FieldMappingRow](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fieldmappingrow.htm)**
Represents a field in a data service record that maps to a field in an object record in the org.
- **[FieldRestrictionRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fieldrestrictionrule.htm)**
Represents a field visibility rule that controls whether a field is visible to a user, based on the field’s inclusion in the PersonalInfo\_EPIM field set. If Enhanced Personal Information Management setting was enabled before Spring ’22, field visibility is based on the field’s compliance categorization. This object is available in API version 52.0 and later.
- **[FieldSet](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fieldset.htm)**
Represents the metadata for a group of fields. Available from API version 33.0 or later.
- **[FlexiPage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flexipage.htm)**
Represents a Lightning page. A Lightning page is a customizable page composed of regions containing Lightning components.
- **[Flow](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flow.htm)**
Use the Flow object to retrieve and update specific flow versions.
- **[FlowDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flowdefinition.htm)**
The parent of a set of flow versions.
- **[FlowElementTestCoverage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flowelementtestcoverage.htm)**
Represents a flow element that was executed by a given Apex test method. Available in API version 44.0 and later.
- **[FlowTest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flowtest.htm)**
Represents the description of a flow test associated with a flow definition. This object is available in API version 55.0 and later.
- **[FlowTestCoverage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flowtestcoverage.htm)**
Represents test coverage for a flow or process by a given Apex method. Available in API version 44.0 and later.
- **[FlowTestResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_flowtestresult.htm)**
This object is reserved for internal use.
- **[ForecastingDisplayedFamily](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_forecastingdisplayedfamily.htm)**
Represents the product families that an admin chooses to allow forecasting on in Lightning Experience. Available in Tooling API version 40.0 and later.
- **[ForecastingFilter](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_forecastingfilter.htm)**
Represents the custom filter for including or excluding data from opportunity forecasts. This object is available in API version 55.0 and later.
- **[ForecastingFilterCondition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_forecastingfiltercondition.htm)**
Represents the custom filter condition logic for including or excluding data from opportunity forecasts. This object is available in API version 55.0 and later.
- **[ForecastingSourceDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_forecastingsourcedefinition.htm)**
Represents the object, measure, date type, and hierarchy that a forecast uses to project sales. This object is available in API version 52.0 and later.
- **[ForecastingType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_forecastingtype.htm)**
Represents a forecast type. This object is available in API version 52.0 and later.
- **[ForecastingTypeSource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_forecastingtypesource.htm)**
Represents the mapping of a forecasting source definition to a forecast type. This object is available in API version 52.0 and later.
- **[FormulaFunction](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_formulafunction.htm)**
Represents a function used when building a formula, including examples and uses. This object is available in Tooling API version 39.0 and later.
- **[FormulaFunctionAllowedType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_formulafunctionallowedtype.htm)**
Represents the functions that are supported in the given formula context. Available in API version 48.0 and later.
- **[FormulaOperator](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_formulaoperator.htm)**
Represents an operator used when building a formula, including examples and uses. This object is available in Tooling API version 39.0 and later.
- **[GenAiFunctionDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_genaifunctiondefinition.htm)**
Represents an agent action. This object is available in API version 60.0 and later.
- **[GenAiPlannerDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_genaiplannerdefinition.htm)**
Represents an agent planner service that uses a large language model (LLM) and a reasoning strategy to decompose a given task into smaller subtasks, identify the most suitable actions for each subtask, and invoke them. This object is available in API version 60.0 and later.
- **[GlobalValueSet](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_globalvalueset.htm)**
Represents a set of values used by a global picklist. Available from API version 39.0 or later.
- **[Group](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_group.htm)**
Represents a set of User records. Groups can contain individual users, other groups, or the users in a particular role or territory. In addition, groups can contain all users below a particular role or territory in the hierarchy. Available in Tooling API version 38.0 and later.
- **[GtwyProvPaymentMethodType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_gtwyprovpaymentmethodtype.htm)**
Represents a type that allows integrators and payment providers to choose an active payment to receive an order's payment data rather than allowing the Salesforce Order Management platform to select a default payment method. This object is available in API version 50.0 and later.
- **[HeapDump](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_heapdump.htm)**
A complex type that represents a heap dump in an ApexExecutionOverlayResult object. Available from API version 28.0 or later.
- **[HistoryRetentionJob](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_historyretentionjob.htm)**
Represents the body of retained data from the archive, and the status of the archived data. Available in API version 29.0 or later.
- **[HomePageComponent](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_homepagecomponent.htm)**
Represents a home page component.
- **[HomePageLayout](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_homepagelayout.htm)**
Represents a home page layout.
- **[IconDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_icondefinition.htm)**
Represents an icon, such as used for a tab. Available in API version 43.0 and later.
- **[InboundNetworkConnection](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_inboundnetworkconnection.htm)**
Represents the a private connection between a third-party data service and a Salesforce org. The connection is inbound because the callouts are coming _into_ Salesforce.. Available in API version 49.0 and later.
- **[InboundNetworkConnProperty](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_inboundnetworkconnproperty.htm)**
Represents a name-value pair that describes the properties of the inbound network connection. Available in API version 49.0 and later.
- **[Index](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_index.htm)**
Represents the index defined within a custom big object. Available in Tooling API version 41.0 and later.
- **[IndexField](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_indexfield.htm)**
Represents the fields in the index of a custom big object. Available in Tooling API version 41.0 and later.
- **[InstalledSubscriberPackage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_installedsubscriberpackage.htm)**
Represents a package (first- or second-generation) that is installed in a subscriber’s org. Available in API version 41.0 and later.
- **[InstalledSubscriberPackageVersion](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_installedsubscriberpackageversion.htm)**
Deprecated and slated for removal. Represents a package version (first- or second-generation) that is installed in a subscriber’s org. Available in API version 41.0 and later.
- **[InvocableActionExtension](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_invocableactionextension.htm)**
Represents an extension to an invocable action in Salesforce. This object is available in API version 65.0 and later.
- **[IPAddressRange](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_ipaddressrange.htm)**
Represents a range of IP addresses to include in or exclude from the specified feature.
- **[KeywordList](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_keywordlist.htm)**
Represents a list of keywords used in Experience Cloud site moderation. Available in Tooling API version 36.0 and later.
- **[Layout](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_layout.htm)**
Represents a page layout.
- **[LightningComponentBundle](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_lightningcomponentbundle.htm)**
Represents a Lightning web component bundle. A bundle contains a Lightning web component and its related resources. Available in API version 45.0 and later.
- **[LightningComponentResource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_lightningcomponentresource.htm)**
Represents a Lightning web component resource, such as HTML markup, JavaScript code, a CSS file, an SVG resource, or an XML configuration file. Available in API version 45.0 and later.
- **[LightningOutApp](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_lightningoutapp.htm)**
Represents a Lightning Out 2.0 application. With a Lightning Out 2.0 app, you can embed Lightning web components (LWC) into external applications. This object is available in API version 65.0 and later.
- **[LookupFilter](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_lookupfilter.htm)**
Represents a lookup filter, which restricts the valid values and lookup dialog results for lookup, master-detail, and hierarchical relationship fields.
- **[ManagedContentNodeType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_managedcontentnodetype.htm)**
Represents standard and custom content node types created for use with your org. Available in API version 47.0 and later.
- **[ManagedContentType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_managedcontenttype.htm)**
Represents standard and custom content types created for use with your org. Available in API version 47.0 and later.
- **[ManagedEventSubscription (Beta)](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_managedeventsubscription.htm)**
Represents a managed event subscription in Pub/Sub API. Use a managed event subscription to track the events that a subscriber client consumed and resume a subscription where it left off. This object is available in API version 60.0 and later.
- **[MarketingAppExtension](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_marketingappextension.htm)**
Represents an integration with a third-party app or service that generates prospect external activity. Available in API version 53.0 and later.
- **[MarketingAppExtAssignment](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_marketingappextassignment.htm)**
Represents a Marketing App Extension Business Unit assignment, which dictates which Account Engagement business unit the external activity data is available in. Available in API version 53.0 and later.
- **[MarketingAppExtActivity](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_marketingappextactivity.htm)**
Represents an Activity Type, which is a prospect activity that occurs in a third-party app and can be used in Account Engagement automations. . Available in API version 53.0 and later.
- **[MarketingAppExtAction](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_marketingappextaction.htm)**
Represents an Action Type, which is an action that you can add to Engagement Studio programs in Account Engagement and execute in a third-party app. This object is available in API version 56.0 and later.
- **[MarketingHierarchyGroupDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_marketinghierarchygroupdef.htm)**
Represents the top-level category of a marketing hierarchy that can be defined on various dimensions such as brand, industry, and region. This object is available in API version 68.0 and later.
- **[MarketingHierarchyGroupNodeDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_marketinghierarchygroupnodedef.htm)**
Represents the membership of a node within a marketing hierarchy group, defining which hierarchy levels belong to a given group category. This object is available in API version 68.0 and later.
- **[MarketingHierarchyNodeDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_marketinghierarchynodedef.htm)**
Represents a node in a marketing hierarchy whose depth in the hierarchy is determined by its sequence number. This object is available in API version 68.0 and later.
- **[MatchingRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_matchingrule.htm)**
Setup object specifying a MatchingRule to use with DuplicateJob instances that share a DuplicateJobDefinition. Available in Tooling API version 42.0 and later.
- **[MenuItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_menuitem.htm)**
Represents a menu item.
- **[MetadataComponentDependency (Beta)](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacomponentdependency.htm)**
Represents dependency relationships between the metadata components in your org. You can query MetadataComponentDependency using Tooling API in API version 43.0 and later or using Bulk API 2.0 in API 49.0 and later.
- **[MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm)**
Manages working copies of ApexClassMember, ApexTriggerMember, ApexPageMember, and ApexComponentMember objects, including collections of objects to be deployed together.
- **[MetadataPackage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatapackage.htm)**
Represents a package that has been developed in the org you’re logged in to. Applies to unlocked, unmanaged, first-generation, and second-generation managed packages. Available in Tooling API version 38.0 and later.
- **[MetadataPackageVersion](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_metadatapackageversion.htm)**
Represents a package version (managed or unmanaged) that has been uploaded from the org you’re logged in to. Available in Tooling API version 38.0 and later.
- **[MktHierGrpNodeRuleDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_mkthiergrpnoderuledef.htm)**
Represents a rule for a node in a marketing hierarchy group. Based on the rule type, the rule defines the allowed parent node or the user, group, or profile that can create marketing programs. This object is available in API version 68.0 and later.
- **[MLDataDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_mldatadefinition.htm)**
Represents a modeling data definition, which specifies the data used to create a model for a machine learning (ML) application. Examples of such data can include filters, fields to include, and fields to exclude. Available from API version 50.0 or later.
- **[MLField](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_mlfield.htm)**
Represents a field in a modeling data definition. A modeling data definition specifies the data used to create a model for a machine learning (ML) application. Available from API version 50.0 or later.
- **[MLFilter](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_mlfilter.htm)**
Represents a data filter based on a data comparison in a machine learning (ML) application. For each comparison, there’s a left-hand element, an operator, and a right-hand element. Available in API version 50.0 and later.
- **[MLPredictionDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_mlpredictiondefinition.htm)**
Represents the details about a prediction within a prediction definition used in a machine learning (ML) application. Available in API version 50.0 and later.
- **[ModerationRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_moderationrule.htm)**
Represents a rule used in your Experience Cloud site to moderate member-generated content. Available in Tooling API version 36.0 and later.
- **[NamedCredential](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_namedcredential.htm)**
Represents a named credential, which specifies the URL of a callout endpoint and its required authentication parameters in one definition. A named credential can be specified as an endpoint to simplify the setup of authenticated callouts. This object is available in API version 51.0 and later.
- **[ObjectHierarchyRelationship](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_objecthierarchyrelationship.htm)**
Represents the mapping between an input source object and an output target object. For example, mapping details to transform a sales quote into a sales agreement. This object is available in API version 56.0 and later.
- **[OmniSupervisorConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_omnisupervisorconfig.htm)**
Represents the Omni-Channel supervisor configuration for an assigned group of supervisors. This object is available in API version 57.0 and later.
- **[OperationLog](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_operationlog.htm)**
Represents long-running or asynchronous operations triggered and tracked through Tooling API. This object is available in API version 37.0 and later.
- **[OpportunitySplitType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_opportunitysplittype.htm)**
Represents labels and behavior for each split type Available in Tooling API version 37.0 and later.
- **[OrgDomainLog](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_mydomainlog.htm)**
Represents a Salesforce org’s previous My Domain. This object is available in API version 51.0 and later.
- **[OutboundNetworkConnection](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_outboundnetworkconnection.htm)**
Represents a private connection between a Salesforce org and a third-party data service. The connection is outbound because the callouts are going _out_ of Salesforce.Available in API version 49.0 and later.
- **[OutboundNetworkConnProperty](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_outboundnetworkconnproperty.htm)**
Represents a name-value pair that describes the properties of the outbound network connection. Available in API version 49.0 and later.
- **[OwnerChangeOptionInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_ownerchangeoptioninfo.htm)**
Represents default and optional actions that can be performed when a record’s owner is changed. Available in Tooling API version 35.0 and later.
- **[PackageInstallRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_packageinstallrequest.htm)**
Represents a request to install a package (first- or second-generation) in a target subscriber org. Available in API version 41.0 and later.
- **[PackageUploadRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_packageuploadrequest.htm)**
Represents a request to upload a first-generation package version and its components so that subscribers can install it. Available in API version 38.0 and later.
- **[PackageVersionUninstallRequestError](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_packageversionuninstallrequesterror.htm)**
Represents an error encountered while requesting an uninstall of a Package2Version (second-generation package version). Available in API version 41.0 and later.
- **[PathAssistant](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_pathassistant.htm)**
Represents a Path. Available in Tooling API version 36.0 and later.
- **[Package2](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_package2.htm)**
Represents a second-generation managed package or an unlocked package in a Dev Hub org. Values for all fields are visible to the subscriber. Available in API version 41.0 and later.
- **[Package2Member](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_package2member.htm)**
Represents a component in a second-generation managed package in a subscriber’s org. Created when the subscriber installs the package. Available in API version 41.0 and later.
- **[Package2Version](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_package2version.htm)**
Represents a second-generation package version in a Dev Hub org. Values for all fields except for Tag and Branch are visible to the subscriber. Available in API version 41.0 and later.
- **[Package2VersionCreateRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_package2versioncreaterequest.htm)**
Represents a request to create a second-generation managed package or an unlocked package version in a Dev Hub org. Available in API version 41.0 and later.
- **[Package2VersionCreateRequestError](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_package2versioncreaterequesterror.htm)**
Represents an error encountered while creating a second-generation managed package or an unlocked package version. Available in API version 41.0 and later.
- **[PardotTenant](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_pardottenant.htm)**
Represents an Account Engagement business unit. This object is available in API version 56.0 and later.
- **[PathAssistantStepInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_pathassistantstepinfo.htm)**
Represents guidance for a step on a Path. Available in Tooling API version 36.0 and later.
- **[PathAssistantStepItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_pathassistantstepitem.htm)**
Represents layout or guidance details for a step on a Path. Available in Tooling API version 36.0 and later.
- **[PaymentGatewayProvider](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_paymentgatewayprovider.htm)**
Represents the payment gateway provider processing payments. This object is available in API version 48.0 and later.
- **[PermissionDependency](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_permissiondependency.htm)**
Represents permission dependencies for a specified permission. For example, return all child dependencies for the Modify All Data permission. Available in Tooling API version 46.0 and later.
- **[PermissionSet](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_permissionset.htm)**
Represents a set of permissions that’s used to grant more access to users without changing their profile or reassigning profiles. Available in API version 28.0 and later.
- **[PermissionSetAssignment](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_permissionsetassignment.htm)**
Represents a user’s assignment to a permission set or permission set group. This object is available in API version 22.0 and later.
- **[PermissionSetGroup](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_permissionsetgroup.htm)**
Represents a group of permission sets and the permissions within them. Use permission set groups to organize permissions based on job functions or tasks. Then, you can package the groups as needed. Available in Tooling API version 45.0 and later.
- **[PermissionSetGroupComponent](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_permissionsetgroupcomponent.htm)**
A junction object that relates the PermissionSetGroup and PermissionSet objects via their respective IDs; enables permission set group recalculation to determine the aggregated permissions for the group. Available in Tooling API version 45.0 and later.
- **[PermissionSetTabSetting](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_permissionsettabsetting.htm)**
Represents a tab’s settings for a profile or permission set. Use PermissionSetTabSetting for manipulating tab visibility on profiles and permission sets. Available in Tooling API version 37.0 and later.
- **[PipelineInspMetricConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_pipelineinspmetricconfig.htm)**
Represents the configuration of a forecast category metric that appears in the Pipeline Inspection view. This object is available in API version 55.0 and later.
- **[PlatformEventChannel](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_platformeventchannel.htm)**
Represents a custom channel that you can subscribe to in order to receive a stream of change data capture events.
- **[PlatformEventChannelMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_platformeventchannelmember.htm)**
Represents an entity selected for Change Data Capture notifications on a standard or custom channel, or a platform event selected on a custom channel.
- **[PlatformEventMigration](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_platformeventmigration.htm)**
Represents configuration settings for performing a one-time migration of standard volume platform events to high volume platform events. This object is available in API version 67.0 and later.
- **[PlatformEventSubscriberConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_platformeventsubscriberconfig.htm)**
Represents configuration settings for a platform event Apex trigger, including the batch size and the trigger’s running user. This object is available in API version 51.0 and later.
- **[PresenceDeclineReason](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_presencedeclinereason.htm)**
Represents the reason an agent can select when declining an Omni-Channel work request. This object is available in API version 65.0 and later.
- **[PresenceUserConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_presenceuserconfig.htm)**
Represents a configuration that determines a presence user’s settings. This object is available in API version 65.0 and later.
- **[PostTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_posttemplate.htm)**
Represents an approval post template for Approvals in Chatter.
- **[ProcessFlowMigration](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_processflowmigration.htm)**
Represents a process's migrated criteria and the resulting migrated flow. This object is available in API version 58.0 and later.
- **[ProductAttributeSet](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_productattributeset.htm)**
Used to group variation attributes that apply to one or more products. This object is available in API version 55.0 and later.
- **[Profile](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_profile.htm)**
Represents a user profile. A profile defines a user’s permission to perform different functions within Salesforce. This type extends the Metadata metadata type and inherits its fullName field.
- **[ProfileLayout](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_profilelayout.htm)**
Represents a profile layout.
- **[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.
- **[QueryResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_queryresult.htm)**
Represents the results of a query. For example, if you query on the object EntityDefinition, all the layouts for that entity are returned as an array of QueryResult objects in the Layouts field. Available in Tooling API version 34.0 and later.
- **[QueueRoutingConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_queueroutingconfig.htm)**
Represents configuration settings that determine how work items are routed to agents. This object is available in API version 65.0 and later.
- **[QuickActionDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_quickactiondefinition.htm)**
Represents the definition of a quick action.
- **[QuickActionList](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_quickactionlist.htm)**
Represents a list of quick actions.
- **[QuickActionListItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_quickactionlistitem.htm)**
Represents an item in a quick action list.
- **[RecentlyViewed](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_recentlyviewed.htm)**
Represents metadata entities typically found in Setup such as page layout definitions, workflow rule definitions, and email templates that the current user has recently viewed.
- **[RecommendationStrategy](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_recommendationstrategy.htm)**
Represents a recommendation strategy. Recommendation strategies are applications, similar to data flows, that determine a set of recommendations to be delivered to the client through data retrieval, branching, filtering, and logic operations. Available in API 45.0 and later.
- **[RecordActionDeployment](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_recordactiondeployment.htm)**
Represents configuration settings for the Actions & Recommendations, Action Launcher, and Bulk Action Panel components. RecordActionDeployment is available in API version 45.0 and later.
- **[RecordType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_recordtype.htm)**
Represents a custom record type.
- **[RegisteredExternalService](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_registeredexternalservice.htm)**
Represents a registered external service used to provide an extension or integration. This object is available in API version 49.0 and later.
- **[RelatedListColumnDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_relatedlistcolumndefinition.htm)**
Represents information about a column in a related list. A related list specifies a set of records for a related object, based on specific criteria. This object is available in API version 55.0 and later.
- **[RelatedListDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_relatedlistdefinition.htm)**
Represents information about a related list. A related list specifies a set of records for a related object, based on specific criteria. This object is available in API version 55.0 and later.
- **[RelationshipDomain](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_relationshipdomain.htm)**
Represents the relationship an object has with other objects. RelationshipDomain allows you to write simpler queries. For example, “which objects are the child objects for the object defined in ParentSobject” is easier using RelationshipDomain. Available in Tooling API version 34.0 and later.
- **[RelationshipInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_relationshipinfo.htm)**
Represents the properties of a relationship between objects. Simplify queries with RelationshipInfo, such as answering the question “which objects are parent objects for the object defined in ChildSobject. Available in Tooling API version 34.0 and later.
- **[ReleaseUpdate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_releaseupdate.htm)**
Represents an individual release update. Available in API version 50.0 and later.
- **[ReleaseUpdateStep](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_releaseupdatestep.htm)**
Represents an individual release update step. Available in API version 49.0 and later.
- **[RemoteProxy](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_remoteproxy.htm)**
Represents a set of remote site settings that allows you to access an external site from Salesforce. Use RemoteProxy when accessing external sites called by Visualforce pages, Apex callouts, or JavaScript codes using XmlHttpRequest in an s-control or custom button. To be accessible, an external site must have its settings defined with RemoteProxy or registered in the Remote Site Settings page. Available in Tooling API version 37.0 and later.
- **[RestrictionRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_restrictionrule.htm)**
Represents a restriction rule or a scoping rule. A restriction rule has EnforcementType set to Restrict and controls the access that specified users have to designated records. A scoping rule has EnforcementType set to Scoping and controls the default records that your users see without restricting access.
- **[SandboxInfo](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sandboxinfo.htm)**
Represents a sandbox.
- **[SandboxProcess](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sandboxprocess.htm)**
Represents the sandbox copy process for a SandboxInfo record.
- **[SandboxProcessStage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sandboxprocessstage.htm)**
Represents the status and progress during a spectific stage for a SandboxProcess record.
- **[SchedulingObjective](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_schedulingobjective.htm)**
Represents scheduling objective settings for Workforce Engagement. This object is available in API version 55.0 and later.
- **[SchedulingRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_schedulingrule.htm)**
Represents scheduling rule settings for Workforce Engagement. This object is available in API version 53.0 and later.
- **[ScndTelephPrvdOtbdDtl](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_scndtelephprvdotbddtl.htm)**
Represents the outbound SIP routing configuration for a secondary telephony provider in Agentforce Contact Center BYOC. This object is available in API version 68.0 and later.
- **[SearchLayout](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_searchlayout.htm)**
Represents a search layout defined for an object.
- **[SecondaryTelephonyProvider](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_secondarytelephonyprovider.htm)**
Represents the SIP configuration for secondary telephony providers in Agentforce Contact Center Bring Your Own Carrier (BYOC). This object is available in API version 68.0 and later.
- **[SecurityHealthCheck](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_securityhealthcheck.htm)**
Represents your org’s Health Check score. The score indicates how well your org’s security settings comply with Salesforce-recommended values in the baseline standard. Only users with the “View Setup and Configuration” user permission can retrieve data from this object. Available in Tooling API version 37.0 and later.
- **[SecurityHealthCheckRisks](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_securityhealthcheckrisks.htm)**
Represents your org’s security setting values, risks, and Salesforce-recommended setting values. Only users with the "View Setup and Configuration" user permission can retrieve data from this object. Available in Tooling API version 37.0 and later.
- **[SensitiveDataRuleElmnt](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sensitivedataruleelmnt.htm)**
Represents a predefined PII, PHI, and PCI named-entity type supported by the PII Redaction Model Service. This object is available in API version 68.0 and later.
- **[SensitiveDataRuleElmntGrp](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sensitivedataruleelmntgrp.htm)**
Stores Named Entity Recognition (NER)-based sensitive-data rules at the organization level to redact PII/PCI from voice and messaging transcripts. This object is available in API version 68.0 and later.
- **[ServiceChannel](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_servicechannel.htm)**
Represents a channel for work items that are received from your customers. This object is available in API version 65.0 and later.
- **[ServiceFieldDataType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_servicefielddatatype.htm)**
Deprecated in API version 34.0, the ServiceFieldDataType object is removed in version 58.0 and later.
- **[ServicePresenceStatus](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_servicepresencestatus.htm)**
Represents a presence status that can be assigned to a service channel. This object is available in API version 65.0 and later.
- **[Scontrol](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_scontrol.htm)**
Represents a custom s-control, which is custom content that our system hosts, but client applications execute. An s-control can contain any type of content that you can display or run in a Web browser.
- **[ShiftSegmentType](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_shiftsegmenttype.htm)**
Represents shift segment type settings for Shift Scheduling and Workforce Engagement. This object is available in API version 55.0 and later.
- **[SiteDetail](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sitedetail.htm)**
Represents the details of a Salesforce site or Experience Cloud site. Available in API version 38.0 and later.
- **[Skill](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_skill.htm)**
Represents the settings for a skill used for field service or to route chats to agents in Chat, such as the name of the skill and which agents the skills are assigned to. This object is available in API version 65.0 and later.
- **[SOQLResult](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_soqlresult.htm)**
A complex type that represents the result of a SOQL query in an ApexExecutionOverlayResult object. Available from API version 28.0 or later.
- **[SourceMember](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcemember.htm)**
Reserved for internal use. Do not use this object. Accuracy of results isn’t guaranteed.
- **[SourceMemberDeployRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_sourcememberdeployrequest.htm)**
Reserved for internal use.
- **[StandardAction](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_standardaction.htm)**
Represents the buttons, links, and actions (standard actions) for a standard or custom object. This object is available in API version 34.0 and later.
- **[StaticResource](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_staticresource.htm)**
Represents the working copy of a static resource file for editing or saving. Static resources allow you to upload content that you can reference in a Visualforce page, including images, stylesheets, JavaScript, and other files. Available in Tooling API version 29.0 and later.
- **[SubscriberPackage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_subscriberpackage.htm)**
Represents an installable package (first- or second-generation) across all Salesforce instances. Available in API version 41.0 and later.
- **[SubscriberPackageVersion](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_subscriberpackageversion.htm)**
Represents a package version (first- or second-generation) across all Salesforce instances. Available in API version 41.0 and later.
- **[SubscriberPackageVersionUninstallRequest](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_subscriberpackageversionuninstallrequest.htm)**
Represents a request to uninstall a Package2Version (second-generation package version). Available in API version 41.0 and later.
- **[SvcCatalogCategory](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_svccatalogcategory.htm)**
Represents the grouping of individual catalog items in Service Catalog. This object is available in API version 53.0 and later.
- **[SvcCatalogCategoryItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_svccatalogcategoryitem.htm)**
Represents the assignment of this service to a category within the Service Catalog. This object is available in API version 53.0 and later.
- **[SvcCatalogFulfillFlowItem](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_svccatalogfulfillflowitem.htm)**
Represents a variable in a fulfillment flow for Service Catalog that can accept input. This object is available in API version 53.0 through 56.0.
- **[SvcCatalogFulfillmentFlow](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_svccatalogfulfillmentflow.htm)**
Represents the flow associated with a specific catalog item in the Service Catalog. This object is available in API version 53.0 and later.
- **[SvcCatalogItemDef](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_svccatalogitemdef.htm)**
Represents the grouping of individual catalog items in Service Catalog. This object is available in API version 53.0 and later.
- **[SymbolTable](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_symboltable.htm)**
A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body.
- **[TabDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_tabdefinition.htm)**
Represents a tab, and returns all tabs available in the org. Available in API version 43.0 and later.
- **[TelephonyProvider](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_telephonyprovider.htm)**
Represents the telephony provider configuration and trust settings for Agentforce Contact Center BYOC integrations. This object is available in API version 68.0 and later.
- **[Territory2SupportedObject](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_territory2supportedobject.htm)**
Represents the object type supported by territories. This object is available in API version 57.0 and later.
- **[TestSuiteMembership](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_testsuitemembership.htm)**
Associates an Apex class with an ApexTestSuite. Available in Tooling API version 36.0 and later.
- **[TimeSheetTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_timesheettemplate.htm)**
Represents a template for creating time sheets in Field Service. Available in API version 46.0 and later.
- **[TimeSheetTemplateAssignment](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_timesheettemplateassignment.htm)**
Represents the assignment of a time sheet template to a profile. Available in API version 48.0 and later.
- **[TraceFlag](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_traceflag.htm)**
Represents a trace flag that triggers an Apex debug log at the specified logging level.
- **[TransactionSecurityPolicy](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_transactionsecurity.htm)**
Represents a transaction security policy definition.
- **[TrustedTelephonyProvider](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_trustedtelephonyprovider.htm)**
Represents the mapping between an organization and its trusted telephony carrier configuration for Agentforce Contact Center BYOC. This object is available in API version 68.0 and later.
- **[User](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_user.htm)**
Represents a user. You can retrieve standard fields on User with the Tooling API, but custom fields can’t be retrieved.
- **[UserAccessPolicy](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_useraccesspolicy.htm)**
Represents a user access policy. This object is available in API version 57.0 and later.
- **[UserAccessPolicyAction](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_useraccesspolicyaction.htm)**
Represents an action applied by the user access policy. This object is available in API version 57.0 and later.
- **[UserAccessPolicyFilter](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_useraccesspolicyfilter.htm)**
Represents a user criteria filter for a user access policy. This object is available in API version 57.0 and later.
- **[UserCriteria](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_usercriteria.htm)**
Represents the member criteria to use in Experience Cloud site moderation rules. Available in Tooling API version 39.0 and later.
- **[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.
- **[UserFieldAccess](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_userfieldaccess.htm)**
Represents the access that the current user has to a field. Available in Tooling API version 34.0 and later.
- **[ValidationRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_validationrule.htm)**
Represents a validation rule or workflow rule which specifies the formula for when a condition is met. Available from API version 34.0 or later.
- **[VirtualVisitConfig](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_virtualvisitconfig.htm)**
Represents the configuration of an external video provider, which relays events from Salesforce to the provider. This object is available in API version 56.0 and later.
- **[VoiceTelephonyDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_voicetelephonydefinition.htm)**
Represents the org-level voice telephony configuration for Agentforce Contact Center, including the dialing prefix, dialing region, default caller ID, and pre-dial flow used when placing outbound calls. This object is available in API version 68.0 and later.
- **[VoiceTelephonyGroupOvride](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_voicetelephonygroupovride.htm)**
Represents group-level telephony settings that override the default org-level configuration. This object is available in API version 68.0 and later.
- **[VoiceTelephonyProfileOvride](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_voicetelephonyprofileovride.htm)**
Represents profile-level telephony settings that override the default org-level configuration. This object is available in API version 68.0 and later.
- **[VoiceTelephonyUserOvride](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_voicetelephonyuserovride.htm)**
Represents user-level telephony settings that override the default org-level configuration. This object is available in API version 68.0 and later.
- **[WebLink](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_weblink.htm)**
Represents a custom button or link. Available in the Tooling APIfrom API version 34.0 or later.
- **[WebStoreTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_webstoretemplate.htm)**
Represents a configuration for creating commerce stores. This object is available in API version 49.0 and later.
- **[WorkflowAlert](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workflowalert.htm)**
Represents a workflow alert. A workflow alert is an email generated by a workflow rule or approval process and sent to designated recipients.
- **[WorkflowFieldUpdate](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workflowfieldupdate.htm)**
Represents a workflow field update.
- **[WorkflowOutboundMessage](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workflowoutboundmessage.htm)**
Represents an outbound message. An outbound message sends information to a designated endpoint, like an external service. Outbound messages are configured from Setup. You must configure the external endpoint and create a listener for the messages using the SOAP API.
- **[WorkflowRule](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workflowrule.htm)**
Represents a workflow rule that is used to fire off a specific workflow action when the specified criteria is met. Includes access to the associated WorkflowRule object in Salesforce Metadata API.
- **[WorkflowTask](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workflowtask.htm)**
Represents a workflow task that is used to fire off a specific workflow action when the specified criteria is met. Includes access to the associated WorkflowRule object in Salesforce Metadata API.
- **[WorkSkillRouting](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workskillrouting.htm)**
Represents a setup object that stores a set of WorkSkillRoutingAttribute objects used to route a work item to an agent who has the skills necessary to take the work. Available in API version 46.0 and later.
- **[WorkSkillRoutingAttribute](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workskillroutingattribute.htm)**
Represents a setup object that stores metadata related to the routing assignments between object field values and skills. Field values are used to route a work item to an agent who has the skills necessary to take the work. Available in API version 46.0 and later.
#### See Also
- [REST Overview](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_overview.htm "Use REST if you’re using a language that isn’t strongly typed, like JavaScript.")
- [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_soap_overview.htm)
# Tooling API Release Notes
Use the Salesforce Release Notes to learn about the most recent updates and changes to Tooling API.
For updates and changes that impact the Salesforce Platform, including Tooling API, see the [API Release Notes](https://help.salesforce.com/s/articleView?id=release-notes.rn_api.htm&language=en_US).
For new, changed, and deprecated Tooling API objects and other changes specific to Tooling API, see [Tooling API New and Changed Objects](https://help.salesforce.com/s/articleView?id=release-notes.rn_api_tooling_new_and_changed_objects.htm&language=en_US).
# Tooling API Usage
Use SOQL queries to list the relationships between the metadata components in your org. The query results include one row for each relationship. Each relationship is a directional dependency between two metadata components.
This Apex class (YourClass) references a custom field (yourField\_\_c) on the Account object.
public class YourClass {
public void updateAccount(Account acc, String value) {
acc.yourField\_\_c = value;
update(acc);
}
}
In the output of a MetadataComponentDependency query, the Apex class is represented as a metadata component (the component doing the referencing, represented by MetadataComponent\* field values). The custom field is represented as a referenced metadata component (represented by RefMetadataComponent\* field values). Each row in the output shows a directional dependency from one metadata component (such as YourClass) to one of the metadata components that it references (such as yourField).
Each of the two components is represented using four fields.
Id
The ID of this component.
Name
The name of this component (for example, YourClass).
Namespace
The namespace this component belongs to (or, if the component isn’t in a package, null).
Type
The type of the component (for example, ApexClass).
In the example of the Apex class referencing a custom field, a row in the output would include something like these values.
- MetadataComponentId: "01p000000000SOMEID"
- MetadataComponentName: "YourClass"
- MetadataComponentNamespace: null
- MetadataComponentType: "ApexClass"
- RefMetadataComponentId: "00N000000000SOMEID"
- RefMetadataComponentName: "yourField"
- RefMetadataComponentNamespace: null
- RefMetadataComponentType: "CustomField"
All the MetadataComponent\* field values represent the Apex class, and the RefMetadataComponent\* field values represent the custom field that the Apex class references.
Each row is a directional dependency, where the metadata component references the referenced metadata component. If two components reference each other, the circular relationship is described as two separate rows. For example, two Apex classes can reference each other.
public class ClassA {
public ClassB newB() {
return new ClassB();
}
}
public class ClassB {
public ClassA newA() {
return new ClassA();
}
}
The output for a MetadataComponentDependency query that includes these two classes, each directional relationship (ClassA -> ClassB, and ClassB -> ClassA) are represented as a separate row.
Row 1 (ClassA -> ClassB):
- MetadataComponentId: "01p00000000SOMEIDA"
- MetadataComponentName: "ClassA"
- MetadataComponentNamespace: null
- MetadataComponentType: "ApexClass"
- RefMetadataComponentId: "00N00000000SOMEIDB"
- RefMetadataComponentName: "ClassB"
- RefMetadataComponentNamespace: null
- RefMetadataComponentType: "ApexClass"
Row 2 (ClassB -> ClassA):
- MetadataComponentId: "01p00000000SOMEIDB"
- MetadataComponentName: "ClassB"
- MetadataComponentNamespace: null
- MetadataComponentType: "ApexClass"
- RefMetadataComponentId: "00N00000000SOMEIDA"
- RefMetadataComponentName: "ClassA"
- RefMetadataComponentNamespace: null
- RefMetadataComponentType: "ApexClass"
In all but the simplest orgs, MetadataComponentDependency queries return a huge number of rows. It can be useful to limit the scope of your requests by type, name, or ID, to help isolate dependencies on specific components.
This SOQL query shows all references to the Apex class YourClass. For example, it shows pages, components, flows, and other classes that YourClass depends on.
SELECT MetadataComponentName, MetadataComponentType
FROM MetadataComponentDependency
WHERE RefMetadataComponentType = 'ApexClass'
This example shows all references to a field, including references from layouts, Apex code, flows, and so on. In this example, the code determines the field ID by querying the FieldDefinition object. The query’s output shows all the metadata components that depend on the field with the ID yourFieldId.
SELECT MetadataComponentName, MetadataComponentType
FROM MetadataComponentDependency
WHERE RefMetadataComponentId = yourFieldId
# Tooling Objects
Use these objects to build tools around test results, debugging, code coverage, and more.
- **[ApexCodeCoverage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverage.htm)**: Represents code coverage test results for an Apex class or trigger.
- **[ApexCodeCoverageAggregate](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverageaggregate.htm)**: Represents aggregate code coverage test results for an Apex class or trigger. Available in Tooling API version 29.0 and later.
- **[ApexExecutionOverlayAction](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayaction.htm)**: Specifies an Apex code snippet or SOQL query to execute at a specific line of code in an Apex class or trigger. Optionally, generates a heap dump.
- **[ApexExecutionOverlayResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayresult.htm)**: Represents the result from the Apex code snippet or SOQL query defined in the associated ApexExecutionOverlayAction, and the resulting heap dump if one was returned.
- **[ApexLog](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexlog.htm)**: Represents a debug log.
- **[ApexOrgWideCoverage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexorgwidecoverage.htm)**: Represents code coverage test results for an entire organization.
- **[ApexResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexresult.htm)** : A complex type that represents the result of Apex code executed as part of an ApexExecutionOverlayAction, returned in an ApexExecutionOverlayResult .
- **[ApexTestQueueItem](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextestqueueitem.htm)**: Represents a single Apex class in the Apex job queue.
- **[HeapDump](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_heapdump.htm)**: A complex type that represents a heap dump in an ApexExecutionOverlayResult object.
- **[SOQLResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_soqlresult.htm)**: A complex type that represents the result of a SOQL query in an ApexExecutionOverlayResult object.
- **[SymbolTable](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_symboltable.htm)**: A complex type that represents all user-defined tokens in the Body of an ApexClass, ApexClassMember, or ApexTriggerMember and their associated line and column locations within the Body.
- **[TraceFlag](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_traceflag.htm)**: Represents a trace flag that triggers an Apex debug log at the specified logging level.
# TraceFlag
Represents a trace flag that triggers an Apex debug log at the specified logging level.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API HTTP Methods
Query, GET, POST, PATCH, DELETE
## Fields
| Field Name | Details |
| --- | --- |
| ApexCode |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for Apex code. Includes information about Apex code. Can also include log messages generated by data manipulation language (DML) statements, inline SOQL or SOSL queries, the start and completion of triggers, the start and completion of test methods, and so on. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| ApexProfiling |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for profiling information. Includes cumulative profiling information, such as the limits for your namespace, the number of emails sent, and so on. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Callout |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for callouts. Includes the request-response XML that the server is sending and receiving from an external Web service. The request-response XML is useful when debugging issues related to SOAP API calls. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Database |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category for database activity. Includes information about database activity, including every DML statement or inline SOQL or SOSL query. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| DebugLevelId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The ID of the debug level assigned to this trace flag. A debug level, which is a set of log category levels, can be assigned to multiple trace flags.
|
| ExpirationDate |
Type
dateTime
Properties
Create, Filter, Sort, Update
Description
The date and time that the trace flag expires. ExpirationDate must be less than 24 hours after StartDate. Only one trace flag per traced entity can be active at a time. If StartDate is null, the current time is used, and the ExpirationDate must be less than 24 hours from the current time.
This field is required.
|
| LogType |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort
Description
The type of log to generate. The following are valid values.
- CLASS\_TRACING
- DEVELOPER\_LOG
- PROFILING (reserved for future use)
- USER\_DEBUG
When you open the Developer Console, it sets a DEVELOPER\_LOG trace flag to log your activities. USER\_DEBUG trace flags cause logging of an individual user’s activities. CLASS\_TRACING trace flags override logging levels for Apex classes and triggers, but don’t generate logs.
This field is required.
|
| ScopeId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
**Deprecated.** This field is available in API version 34.0 and earlier.
A reference to a user. This field is used with the TracedEntityID field.
- When the value is user, the actions of the user or entity specified by TracedEntityID are traced to the system log at the described level. System logs are visible only to you. Use this scope for class-level filtering. If there are both user and entity-level flags, the user flags take precedence until a method from a class with an entity trace flag is entered. When the method returns, the user trace flags are restored.
- When the value is emptyid, the user’s actions are traced to the org’s debug log at the described level. Debug logs are visible to all administrators. This option is only available if TracedEntityID references a user (not an Apex class or Apex trigger). The variable emptyid can be the value 0000000000000000 or null.
The scope defined here is reflected in the [ApexLog](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_apexlog.htm "Represents a debug log.") Location field.
|
| StartDate |
Type
dateTime
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The date and time when the trace flag takes effect. ExpirationDate must be less than 24 hours after StartDate. Only one trace flag per traced entity can be active at a time. If StartDate is null, ExpirationDate must be less than 24 hours from the current time.
|
| System |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for calls to all system methods, such as the System.debug method. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| TracedEntityId |
Type
reference
Properties
Create, Filter, Group, Sort, Update
Description
A reference to the following:
- Apex class
- Apex trigger
- User
This field is used with the LogType field. This field is required.
|
| Validation |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for validation rules. Includes information about validation rules, such as the name of the rule, or whether the rule evaluated true or false. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Visualforce |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for Visualforce. Includes information about Visualforce events, including serialization and deserialization of the view state or the evaluation of a formula field in a Visualforce page. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
This field is required.
|
| Workflow |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The log category level for workflow rules. Includes information for workflow rules, such as the rule name and the actions taken. This field is required. The following are valid values.
- NONE
- ERROR
- WARN
- INFO
- DEBUG
- FINE
- FINER
- FINEST
|
## Usage
To diagnose a functional issue or a performance problem, use the TraceFlag object to set up logging for yourself or for another user. The following options are available.
- To set up logging for a specific user, set LogType to USER\_DEBUG and TracedEntityId to the ID of the user. This option can be configured only for a user, not for an Apex class or Apex trigger.
- To set up logging level overrides for an Apex class or trigger, set LogType to CLASS\_TRACING and TracedEntityId to the ID of the Apex class or trigger. CLASS\_TRACING trace flags override other logging levels, but don’t cause logs to be generated or persisted.
# TransactionSecurityPolicy
Represents a transaction security policy definition.
This object is available in Tooling API version 35.0 and later.
## Supported Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST Methods
Query, DELETE, GET, PATCH, POST
## Fields
| ActionConfig |
- Type
- textarea
- Properties
- Create, Update
- Description
- Describes the action to take when the matching Transaction
Security policy is triggered. Also indicates the type of
notifications selected and the ID of the intended recipient. The
recipient must be active and assigned the Modify All Data and View
Setup user permissions. Multiple actions can be taken. The actions
available depend on the EventType field.
|
| ApexPolicyId |
- Type
- reference
- Properties
- Filter, Group, Nillable, Sort
- Description
- Represents the Apex TxnSecurity.PolicyCondition or TxnSecurity.EventCondition
interface for this policy.
|
| BlockMessage |
- Type
- string
- Properties
- Filter, Nillable, Sort
- Description
- The custom message a user receives when their action is blocked by
a policy. Used in Real-Time Event Monitoring only. Maximum of 1000
characters. This field appears as null when the default message
option is selected and is available only when
EventName is set to ApiEvent, ListViewEvent, and ReportEvent. Available in API
version 49.0 and later.
|
| CustomEmailContent |
- Type
- string
- Properties
- Filter, Nillable, Sort,
- Description
- The administrator-created custom email content sent when a policy
is triggered. Used in Real-Time Event Monitoring only. Maximum of
1333 characters. This field is null when the Custom Email Content
setting is selected in the UI but no message content is entered.
Available in API version 54.0 and later.
Custom messages aren’t
translatable.
|
| Description |
- Type
- string
- Properties
- Filter, Nillable, Sort
- Description
- The description entered for this policy. This field available in
API 39.0 and later.
|
| DeveloperName |
- Type
- string
- Properties
- Filter, Group,
Sort
- Description
- The API, or program name, for this policy.
-
|
| EventName |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Used in Real-Time Event Monitoring only. Indicates the name of the
event the policy monitors. This field is available in API 31.0 and
later. Valid values are:
-
ApiEvent—Tracks
these user-initiated read-only API calls: query(), queryMore(), and count(). Captures API
requests through SOAP API and Bulk API for the Enterprise and
Partner WSDLs. Tooling API calls and API calls originating
from a Salesforce mobile app aren’t captured.
-
CredentialStuffingEventStore—Tracks when
a user successfully logs into Salesforce during an identified
credential stuffing attack. Credential stuffing refers to
large-scale automated login requests using stolen user
credentials.This value is available in API 49.0 and
later.
-
FileEventStore (beta)—Tracks when a user
downloads, previews, or uploads a file. FileEventStore is a
big object that stores the event data of FileEvent. This
object is available in API version 57.0 and later.
-
ListViewEvent—Tracks when users access data
with list views using Lightning Experience, Salesforce
Classic, or the API. It doesn’t track list views of Setup
entities.
-
LoginAnomalyEventStore—Stores the
records of data access anomalies that are caused by
potentially malicious login actions.
-
LoginAsEvent—Tracks the login
activity of admins who log in to Salesforce as other
users. This object is available in API version 46.0 and
later.
-
LoginEvent—LoginEvent tracks the login
activity of users who log in to Salesforce.
-
PermissionSetEventStore—Tracks changes to
permission sets and permission set groups.
-
ReportAnomalyEventStore—Tracks anomalies in
how users run or export reports, including unsaved reports.
This value is available in API 49.0 and later.
-
ReportEvent—Tracks when reports are
run in your org.
-
SessionHijackingEventStore—Tracks when
unauthorized users gain ownership of a Salesforce user’s
session with a stolen session identifier. To detect such an
event, Salesforce evaluates how significantly a user’s
current browser fingerprint diverges from the previously
known fingerprint using a probabilistically inferred
significance of change. This value is available in API 49.0
and later.
|
| EventType |
- Type
- picklist
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Used in Legacy Transaction Security only. Indicates the type of
event the policy monitors. Valid values are:
-
AccessResource—Notifies you when the
selected resource has been accessed.
-
AuditTrail—Reserved for future use.
-
DataExport—Notifies you when any API query
is made, such as from the Data Loader API client, or when a
Report export occurs.
-
Entity—Notifies
you on use of an object type such as an authentication
provider or chatter post.
-
Login—Notifies
you when a user logs in.
|
| ExecutionUserId |
- Type
- reference
- Properties
- Filter, Group, Nillable, Sort
- Description
- Used in Legacy Transaction Security only. The ID of an active user
who is assigned the Modify All Data and View Setup user
permissions.
|
| FullName |
- Type
- string
- Properties
- Create, Group, Nillable
- Description
- The full name of the associated object in the Metadata API. Use to
avoid race conditions on create, before you have IDs.
- 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.
|
| ManageableState |
- Type
- ManageableState enumerated list
- Properties
- Filter, Group, Nillable, Restricted picklist, Sort
- Description
- Indicates the manageable state of the specified component that is
contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
This field is available in API version 38.0 and later.
|
| MasterLabel |
- Type
- string
- Properties
- Filter, Group, Sort
- Description
- The policy’s name.
|
| Metadata |
- Type
- mns:TransactionSecurityPolicy
- Properties
- Create, Nillable, Update
- Description
- The policy’s metadata. See the Metadata API
Developer Guide for details.
|
| 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 the following
values:
- In Developer Edition organizations, the namespace prefix is
set to the namespace prefix of the organization for all
objects that support it. There is 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 are not Developer Edition
organizations, NamespacePrefix is only
set for objects that are part of an installed managed
package. There is no namespace prefix for all other
objects.
|
| ResourceName |
- Type
- string
- Properties
- Filter, Group, Nillable, Sort
- Description
- Used in Legacy Transaction Security only. A resource used to
narrow down the conditions under which the policy triggers. For
example, with a DataExport
event, you can select a resource Lead to specifically monitor
export activity occurring on your Lead entities. The resources
available depend on the EventType
field.
|
| State |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- Indicates whether the policy is active. Valid values are:
|
| Type |
- Type
- picklist
- Properties
- Filter, Group, Restricted picklist, Sort
- Description
- The type of validation that the policy uses. The valid values are:
-
CustomApexPolicy— Created with Apex
editor.
-
CustomConditionBuilderPolicy— Created
with Condition Builder
The default value is CustomApexPolicy.
|
# TrustedTelephonyProvider
Represents the mapping between an organization and its trusted telephony carrier configuration for Agentforce Contact Center BYOC. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access TrustedTelephonyProvider, you must have the Agentforce Contact Center Admin (Salesforce Voice) permission set assigned.
## Fields
| Field | Details |
| --- | --- |
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Unique name of the object in the API.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the MasterLabel.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
User interface label for the trusted telephony provider. This internal label doesn’t get translated.
|
| ProviderCarrier |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
Carrier aggregator type associated with the trusted telephony provider.
Possible value:
- Bandwidth
|
| TelephonyProviderId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the associated telephony provider.
This field is a relationship field.
Relationship Name
TelephonyProvider
Refers To
TelephonyProvider
|
# User
Represents a user. You can retrieve standard fields on User with the Tooling API, but custom fields can’t be retrieved.
This object is available in API version 32.0 and later.

#### Note
User fields are exposed in SOAP API version 45.0 and later. You can use Tooling API to query for User 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. User is still exposed in Tooling API to User Profiles with the ViewSetup permission.
## Supported SOAP Calls
describeLayout(), getDeleted(), getUpdated(), query(), retrieve(), search(), update()
## Supported REST HTTP Methods
GET, PATCH
## Fields
| Field | Details |
| --- | --- |
| FirstName |
Type
string
Properties
Create, Filter, Group, NillableSort, Update
Description
The user’s first name.
|
| LastName |
Type
string
Properties
Create, Filter, Group, NillableSort, Update
Description
The user’s last name.
|
| Name |
Type
string
Properties
Filter, Group, Sort
Description
Concatenation of FirstName and LastName. Limited to 121 characters.
|
| Username |
Type
string
Properties
Create, Filter, Group, idLookup, Sort, Update
Description
The name of the user in your organization.
|
| WorkspaceId |
Type
ID
Properties
Filter, Group, Nillable, Sort, Update
Description
The ID of the last open Developer Console workspace.
|
# UserAccessPolicy
Represents a user access policy. This object is available in API version 57.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update() , upsert()
## Supported REST API Methods
GET, POST, PATCH, DELETE, HEAD, Query
## Special Access Rules
To create or modify user access policies, users must have the Manage User Access Policies permission.
## Fields
| Field | Details |
| --- | --- |
| BooleanFilter |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Required. The logic that determines how your user criteria filters are applied in the user access policy. For instance, if you have two user access policy filters with the SortOrder equal to 1 and 2, respectively, the BooleanFilter can be 1 AND 2 or 1 OR 2.
|
| Description |
Type
textarea
Properties
Filter, Group, Nillable, Sort
Description
Description of the user access policy.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the user access policy.
The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Name**.

#### Note
When creating large sets of data, always specify a unique DeveloperName for each record.
|
| Language |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The language of the user access policy.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the user access policy. In the UI, this field is Label.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| Order |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Indicates the order for which active policy is applied when a user meets the criteria for multiple policies. Must be an integer from 0 to 10,000. Only the active policy with the lowest Order value is applied. This field is required only if the Status field is set to Active.
Available in API version 61.0 and later.
|
| Status |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The status of the user access policy.
Possible values are:
- Active
- Completed
- Design
- Failed
- Migrate
- Testing
- Updating
The default value is Design. If you deploy a policy with a status of Active, the status is changed to Design. A Salesforce admin can then set the status to Active by automating the policy in Setup.
|
| TriggerType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of user record trigger for which this user access policy runs.
Possible values are:
- Create—The user access policy runs when a user who matches the policy criteria is created.
- CreateAndUpdate—The user access policy runs when a user who matches the policy criteria is either created or updated.
- Update—The user access policy runs when a user who matches the policy criteria is updated.
|
## Usage
For more information, see [User Access Policies](https://help.salesforce.com/s/articleView?id=platform.perm_user_access_policies.htm&type=5&language=en_US) in Salesforce Help.
# UserAccessPolicyAction
Represents an action applied by the user access policy. This object is available in API version 57.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update() , upsert()
## Supported REST API Methods
GET, POST, PATCH, DELETE, HEAD, Query
## Special Access Rules
To create or modify user access policies, users must have the Manage User Access Policies permission.
## Fields
| Field | Details |
| --- | --- |
| Action |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Indicates whether the user access policy grants access to or removes access from the target access mechanism.
Possible values are:
- Grant
- Revoke
|
| TargetId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The ID of the access mechanism that the user access policy applies.
This field is a polymorphic relationship field.
Relationship Name
Target
Relationship Type
Lookup
Refers To
Group, Queue, PermissionSet, PermissionSetGroup
|
## Usage
For more information, see [User Access Policies](https://help.salesforce.com/s/articleView?id=platform.perm_user_access_policies.htm&type=5&language=en_US) in Salesforce Help.
# UserAccessPolicyFilter
Represents a user criteria filter for a user access policy. This object is available in API version 57.0 and later.
You can use the UserAccessPolicyFilter Tooling API object to configure more complex user criteria filters for your user access policies.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
GET, POST, PATCH, DELETE, HEAD, Query
## Special Access Rules
To create or modify user access policies, users must have the Manage User Access Policies permission.
## Fields
| Field | Details |
| --- | --- |
| ColumnName |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
If Target is set to User, the user field that your user criteria filter is based on.
Possible values are:
- CommunityNickname
- Department
- Division
- Email
- FirstName
- IsActive
- LastName
- Title
Some custom fields are also supported, depending on the field type. If you don’t set Target to User, then this field isn’t used.
|
| Operation |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The operator of the user criteria filter.
Possible values are:
- equals
- equalsIgnoreCase— Available in API version 59.0 and later.
- in— Available in API version 58.0 and later.
- includes— Available in API version 59.0 and later.
- notEquals
Select in if you want to reference multiple profile or role IDs in the same user criteria filter. To do this, create multiple UserAccessPolicyFilter objects with Operation set to in and with the same SortOrder value. The only field that differs between these UserAccessPolicyFilter objects is the Value field, which references the various IDs. All of the IDs referenced in the in expression must be of the same type.
|
| SortOrder |
Type
int
Properties
Filter, Group, Sort
Description
The numeric reference used to identify the specific filter.
|
| Target |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
If your user criteria filter is based on a user field, set to User. If your user criteria filter is based on a package license, permission set, permission set group, permission set license, profile, or role, then this field isn’t used.
|
| Value |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If Target is set to User, the value of the user field specified in ColumnName that your user filter is operating on. Otherwise, the ID of the group, package license, permission set, permission set group, permission set license, profile, role, or queue that your user filter is operating on.
|
## Usage
For more information, see [User Access Policies](https://help.salesforce.com/s/articleView?id=platform.perm_user_access_policies.htm&type=5&language=en_US) in Salesforce Help.
# UserCriteria
Represents the member criteria to use in Experience Cloud site moderation rules. Available in Tooling API version 39.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
GET
## Fields
| Field | Details |
| --- | --- |
| Description |
Type
textarea
Properties
Filter, Nillable, Sort
Description
The description of the user criteria.
|
| Developer Name |
Type
string
Properties
Filter, Group, Sort
Description
API name of the developer. This name can contain only underscores and alphanumeric characters and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API. 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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the moderation rule. Valid values are:
- Chinese (Simplified): zh\_CN
- Chinese (Traditional): zh\_TW
- Danish: da
- Dutch: nl\_NL
- English: en\_US
- Finnish: fi
- French: fr
- German: de
- Italian: it
- Japanese: ja
- Korean: ko
- Norwegian: no
- Portuguese (Brazil): pt\_BR
- Russian: ru
- Spanish: es
- Spanish (Mexico): es\_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
- Swedish: sv
- Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
|
| MasterLabel |
Type
string
Properties
Filter, Group Sort
Description
The label for the user criteria.
|
| Metadata |
Type
mns:UserCriteria
Properties
Create, Nillable, Update
Description
The user criteria metadata. 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.
|
# UserEntityAccess
Represents the access that the current user has to an object. Available in Tooling API version 34.0 and later.
## 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 |
| --- | --- |
| 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. To simplify queries, use this field.
|
| EntityDefinition |
Type
EntityDefinition
Properties
Filter, Group, Nillable, Sort
Description
The entity definition for the object associated with this user entity access record. Because this field represents a relationship, use only in subqueries.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the EntityDefinition.
|
| IsActivateable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to activate records of the associated object type if the User owns them. For example, a user owns an Apex trigger or workflow rule, and can activate them if this field is true for ApexTrigger or WorkflowRule.
|
| IsCreatable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to create records of the associated object type.
|
| IsDeletable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to delete records of the associated object type.
|
| IsEditable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to edit records of the associated object type.
|
| IsFlsUpdatable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to change field-level security settings on appropriate fields of the associated object type. For example, an administrator could deny a group of users access to the Type field on Account.
|
| IsMergeable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to merge records of the associated object type.
|
| IsReadable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to view records of the associated object type.
|
| IsUndeletable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to undelete records of the associated object type.
|
| IsUpdatable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to edit records of the associated object type.
|
| User |
Type
User
Properties
Filter, Group, Nillable, Sort
Description
The user who has the access defined in this user entity access record, for the entity specified in the EntityDefinition field. Because this field represents a relationship, use only in subqueries.
|
| UserId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
ID of the user specified in the User field.
|
## Usage
Queries on UserEntityAcces need filters on both the entity side and the user side.
Example: Entity Side
SELECT EntityDefinition.QualifiedApiName, EntityDefinition.MasterLabel
FROM UserEntityAccess WHERE UserId={current\_user\_id}
AND IsCreateable=true AND EntityDefinition.IsCustomizable=true
Example: User Side
UserId={current\_user\_id}
# UserFieldAccess
Represents the access that the current user has to a field. Available in Tooling API version 34.0 and later.
## Fields
| Field | Details |
| --- | --- |
| 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. To simplify queries, use this field.
|
| EntityDefinition |
Type
EntityDefinition
Properties
Filter, Group, Nillable, Sort
Description
The entity definition for the object associated with this user entity access record.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
ID of the EntityDefinition.
|
| IsAccessible |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to view the associated field.
|
| IsCreatable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to create records of the associated field.
|
| IsUpdatable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If true, the user specified in the User field has access to edit the associated field.
|
| User |
Type
[User](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_user.htm#tooling_api_objects_user "Represents a user. You can retrieve standard fields on User with the Tooling API, but custom fields can’t be retrieved.")
Properties
Filter, Group, Nillable, Sort
Description
The user who has access defined in this user field access record, for the entity specified in the EntityDefinition field. Because this field represents a relationship, use only in subqueries.
|
| UserId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
ID of the user specified in the User field.
|
## SOQL Limitations
This object doesn't support some SOQL operations.
GROUP BY
Example Query: SELECT COUNT(qualifiedapiname), isfeedenabled FROM EntityDefinition GROUP BY isfeedenabled
Error Returned: The requested operation is not yet supported by this SObject storage type, contact salesforce.com support for more information.
LIMIT, LIMIT OFFSET
Example Queries:
SELECT qualifiedapiname FROM EntityDefinition LIMIT 5
SELECT qualifiedapiname FROM EntityDefinition LIMIT 5 OFFSET 10
An incorrect result is returned because LIMIT and LIMIT OFFSET are ignored.
NOT
Example Query: SELECT qualifiedapiname FROM EntityDefinition WHERE qualifiedapiname!='Account'
Error Returned: Only equals comparisons permitted
OR
Example Query: SELECT qualifiedapiname, keyprefix FROM EntityDefinition WHERE isdeletable=true OR (isfeedenabled=false AND keyprefix='01j')
Error Returned: Disjunctions not supported
INCLUDES
Example Query: SELECT ComplianceGroup FROM FieldDefinition WHERE EntityDefinitionId = 'Account' AND ComplianceGroup includes('GDPR')
Error Returned: Unsupported filter type
# ValidationRule
Represents a validation rule or workflow rule which specifies the formula for when a condition is met. Available from API version 34.0 or later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
Query, GET, POST, PATCH
## Fields
| Field Name | Details |
| --- | --- |
| Active |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort.
Description
Required. Indicates whether this validation rule is active, (true), or not active (false).
|
| Description |
Type
string
Properties
Filter, Nillable, Sort.
Description
A description of the validation rule.
|
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort.
Description
Required. The entity definition for the object associated with the validation rule.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort.
Description
Required. ID of the record in EntityDefinition.
|
| ErrorDisplayField |
Type
string
Properties
Filter, Group, Nillable, Sort.
Description
The fully specified name of a field in the application. If a value is supplied, the error message appears next to the specified field. If you do not specify a value or the field isn’t visible on the page layout, the value changes automatically to Top of Page.
|
| ErrorMessage |
Type
string
Properties
Filter, Group, Nillable, Sort .
Description
Required. The message that appears if the validation rule fails. The message must be 255 characters or less.
|
| FullName |
Type
string
Properties
Create, Group, Nillable.
Description
The internal name of the object. White spaces and special characters are escaped for validity. The name must:
- Contain characters, letters, or the underscore (\_) character
- Must start with a letter
- Can’t end with an underscore
- Can't contain two consecutive underscore characters.
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.
|
| Id |
Type
Id
Properties
Defaulted on create, Filter, Group, idLookup, Sort.
Description
The unique system ID for this record.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
ValidationRule Metadata
Properties
Create, Nillable, Update.
Description
Validation rule metadata.
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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| ValidationName |
Type
string
Properties
Filter, Group, Namefield, Sort.
Description
The name or ID of the object that this rule is associated with.
|
## ValidationRule Metadata
active, description, errorDisplayField, and errorMessage are described in the previous table.
| Field Name | Details |
| --- | --- |
| errorConditionFormula |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Required. The formula defined in the validation rule. If the formula returns a value of true, an error message is displayed.
|
# VirtualVisitConfig
Represents the configuration of an external video provider, which relays events from Salesforce to the provider. This object is available in API version 56.0 and later.

#### Important
Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST API Methods
DELETE, GET, HEAD, PATCH, POST, Query
## Fields
To use the Virtual Visit feature you need the Video Call license add on
| Field | Details |
| --- | --- |
| ComprehendServiceType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies the type of service used to convert speech into text or to analyze the converted speech text.
Possible values are:
- ComprehendMedicalService—Transcribe Medical
- ComprehendService—Transcribe
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name for the VirtualVisitConfig object.
Required. The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**.
|
| ExperienceCloudSiteUrl |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The URL of the Digital Experience site where the Video Call component is available to portal or guest users.
|
| ExternalRoleIdentifier |
Type
string
Properties
Filter, Nillable, Sort
Description
Enter the ID of the role that's used to allow users join a video call and to grant them temporary access to certain functions needed to participate in the call.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated VirtualVisitConfig in Metadata API. The full name can include a namespaceprefix.
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.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language of the VirtualVisitConfig.
|
| ManageableState |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
Possible values are:
- beta—Managed-Beta
- deleted—Managed-Proposed-Deleted
- deprecated—Managed-Proposed-Deprecated
- deprecatedEditable—SecondGen-Installed-Deprecated
- installed—Managed-Installed
- installedEditable—SecondGen-Installed-Editable
- released—Managed-Released
- unmanaged—Unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the VirtualVisitConfig. In the UI, this field is Virtual Visit Config.
|
| MessagingRegion |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies the region in which the waiting room and messaging channel data is processed and stored. Available in API version 57.0 and later.
|
| Metadata |
Type
[EventRelayConfig](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_eventrelayconfig.htm)
Properties
Create, Nillable, Update
Description
The VirtualVisitConfig’s metadata.
|
| NamedCredentialId |
Type
reference
Properties
Filter, Group, Nillable, Sort
Description
The named credential record that's used to authenticate and authorize an account of the video call vendor.
This field is a relationship field.
Relationship Name
NamedCredential
Relationship Type
Lookup
Refers To
NamedCredential
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| StorageBucketName |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The name of the storage bucket that stores the meeting transcript.
|
| UsageType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The name of the Salesforce feature for which the video call configuration record is created.
Possible values are:
- CHIME—Chime
- INTELLIGENT\_FORM\_READER—Intelligent Form Reader
- SENTIMENT\_ANALYSIS—Sentiment Analysis
|
| VideoCallApptTypeValue |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The Default Appointment Type picklist values from the Service Appointment object that represent a video appointment type. Use semicolons to separate multiple values.
|
| VideoControlRegion |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Specifies the region through which API calls related to Video Calls are made. Available in API version 57.0 and later.
|
| VisitRegion |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Specifies the region through which the Video Call video and audio data are processed.
Possible values are:
- af-south-1—Africa (Cape Town)
- ap-east-1—Asia Pacific (Hong Kong)
- ap-northeast-1—Asia Pacific (Tokyo)
- ap-northeast-2—Asia Pacific (Seoul)
- ap-northeast-3—Asia Pacific (Osaka)
- ap-south-1—Asia Pacific (Mumbai)
- ap-southeast-1—Asia Pacific (Singapore)
- ap-southeast-2—Asia Pacific (Sydney)
- ca-central-1—Canada (Central)
- eu-central-1—Europe (Frankfurt)
- eu-north-1—Europe (Stockholm)
- eu-south-1—Europe (Milan)
- eu-west-1—Europe (Ireland)
- eu-west-2—Europe (London)
- eu-west-3—Europe (Paris)
- me-south-1—Middle East (Bahrain)
- sa-east-1—South America (São Paulo)
- us-east-1—US East (N. Virginia)
- us-east-2—US East (Ohio)
- us-west-1—US West (N. California)
- us-west-2—US West (Oregon)
|
# VoiceTelephonyDefinition
Represents the org-level voice telephony configuration for Agentforce Contact Center, including the dialing prefix, dialing region, default caller ID, and pre-dial flow used when placing outbound calls. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access this object, enable Agentforce Contact Center Admin (Salesforce Voice) permission set.
## Fields
| Field | Details |
| --- | --- |
| DefaultCallerIdentifier |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Caller ID displayed on outbound calls placed with this configuration.
|
| Description |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Purpose and scope of the voice telephony configuration.
|
| DeveloperName |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
Unique name of the object in the API.
|
| DialingPrefix |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Dialing prefix prepended to outbound phone numbers for the telephony configuration.
|
| DialingRegion |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
Dialing region associated with the telephony configuration, used to determine routing and number formatting.
|
| Language |
Type
picklist
Properties
Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
Language of the MasterLabel.
|
| MasterLabel |
Type
string
Properties
Create, Filter, Group, Sort, Update
Description
User interface name of the voice telephony configuration.
|
| PreDialFlowId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
ID of the flow executed before an outbound call is placed using the voice telephony configuration.
This field is a relationship field.
Relationship Name
PreDialFlow
Refers To
FlowDefinition
|
# VoiceTelephonyGroupOvride
Represents group-level telephony settings that override the default org-level configuration. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access this object, you must enable Salesforce Voice Contact Center Admin for Amazon Connect and Salesforce Voice Contact Center Admin (Partner Telephony) for partner telephony providers.
## Fields
| Field | Details |
| --- | --- |
| UserGroupId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
Unique ID of the group to which the telephony configuration override applies. Each group can have only one override assignment.
This field is a relationship field.
Relationship Name
UserGroup
Refers To
Group
|
| VoiceTelephonyDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the voice telephony configuration associated with the override.
This field is a relationship field.
Relationship Name
VoiceTelephonyDefinition
Relationship Type
Master-detail
Refers To
VoiceTelephonyDefinition (the master object)
|
## Usage
Use VoiceTelephonyGroupOvride to associate a Salesforce queue with a VoiceTelephonyDefinition record. This association determines which generic outbound caller ID configurations are available to contact center representatives who are members of the queue. A representative can access definitions associated with any eligible queue that they belong to. Multiple VoiceTelephonyGroupOvride records can reference the same VoiceTelephonyDefinition record.
# VoiceTelephonyProfileOvride
Represents profile-level telephony settings that override the default org-level configuration. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access this object, enable Agentforce Contact Center Admin (Salesforce Voice) permission set.
## Fields
| Field | Details |
| --- | --- |
| ProfileId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
Unique ID of the profile assignment to which the telephony configuration override applies. Each profile can have only one override assignment.
This field is a relationship field.
Relationship Name
Profile
Refers To
Profile
|
| VoiceTelephonyDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the voice telephony configuration associated with the override.
This field is a relationship field.
Relationship Name
VoiceTelephonyDefinition
Relationship Type
Master-detail
Refers To
VoiceTelephonyDefinition (the master object)
|
# VoiceTelephonyUserOvride
Represents user-level telephony settings that override the default org-level configuration. This object is available in API version 68.0 and later.
## Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Special Access Rules
To access this object, enable Agentforce Contact Center Admin (Salesforce Voice) permission set.
## Fields
| Field | Details |
| --- | --- |
| UserId |
Type
reference
Properties
Create, Filter, Group, Nillable, Sort
Description
Unique ID of the user to which the telephony configuration override applies. Each user can have only one override assignment.
This field is a relationship field.
Relationship Name
User
Refers To
User
|
| VoiceTelephonyDefinitionId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
ID of the voice telephony configuration associated with the override.
This field is a relationship field.
Relationship Name
VoiceTelephonyDefinition
Relationship Type
Master-detail
Refers To
VoiceTelephonyDefinition (the master object)
|
# WebLink
Represents a custom button or link. Available in the Tooling APIfrom API version 34.0 or later.
## Supported SOAP Calls
getUpdated(), query(), retrieve(), search()
## Supported REST HTTP Methods
GET
## Fields
| Field Name | Details |
| --- | --- |
| Description |
Type
string
Properties
Filter, Nillable, Sort
Description
A description of the button or link.
|
| DisplayType |
Type
string
Properties
Filter, Group, Restricted picklist, Sort
Description
Represents how the button or link is rendered. Valid values are:
- link for a hyperlink
- button for a button
- massActionButton for a button attached to a related list
|
| EncodingKey |
Type
string
Properties
Filter, Sort
Description
Valid values include:
- UTF-8—Unicode (UTF-8)
- ISO-8859-1—General US & Western Europe (ISO-8859–1, ISO-LATIN-1)
- Shift\_JIS—Japanese (Shift-JIS)
- ISO-2022-JP—Japanese (JIS)
- EUC-JP—Japanese (EUC-JP)
- x-SJIS\_0213—Japanese (Shift-JIS\_2004)
- ks\_c\_5601-1987—Korean (ks\_c\_5601-1987)
- Big5—Traditional Chinese (Big5)
- GB2312—Simplified Chinese (GB2312)
- Big5-HKSCS—Traditional Chinese Hong Kong (Big5–HKSCS)
|
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort.
Description
Required. Available in API version 34.0. The entity definition for the object associated with this button or link.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort.
Description
Required. ID of the record associated with the button or link. The record’s object type is in EntityDefinition.
|
| FullName |
Type
string
Properties
Filter, Group, Sort.
Description
The full name of the associated metadata object in Metadata API.
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.
|
| HasMenubar |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort.
Description
If OpenType is newWindow, this field indicates whether to show the browser menu bar for the popup window (true, or not (false). For other values of OpenType, don't specify a value here.
|
| HasScrollbars |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort.
Description
If the value of OpenType is newWindow, this field indicates whether to show the scroll bars for the window (true) or not (false). For other values of OpenType, don’t specify a value here.
|
| HasToolbar |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort.
Description
If the value of OpenType is newWindow, this field indicates whether to show the browser toolbar for the window (true) or not (false). For other values of OpenType, don’t specify a value here.
|
| Height |
Type
int
Properties
Filter, Group, Nillable, Sort.
Description
Required if the value of OpenType is newWindow. Height in pixels of the window opened by the button or link. For other values of OpenType, don’t specify a value here.
|
| IsResizable |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort.
Description
If the value of OpenType is newWindow, this field indicates whether to allow resizing of the window (true) or not (false). For other values of OpenType, don’t specify a value here.
|
| LinkType |
Type
WebLinkType enumerated list
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. Represents whether the content of the button or link is specified by a URL, an sControl, a JavaScript code block, or a Visualforce page.
- url
- sControl
- javascript
- page
- flow—Reserved for future use.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Nillable, Sort, Update
Description
Master label for this object. This display value is the internal label that is not translated. Limit: 240 characters.
|
| Metadata |
Type
mns:WebLink
Properties
Filter, Group, idLookup, Sort
Description
The metadata for this object as defined in the Metadata API.
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.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
Required. Name to display on the page.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| OpenType |
Type
WebLinkWindowType enumerated list
Properties
Filter, Group, Sort
Description
The window style used to display the content. Valid values are:
- newWindow
- sidebar
- noSidebar
- replace
- onClickJavaScript
|
| Position |
Type
WebLinkPosition enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
If the value of OpenType is newWindow, this field indicates how the new window should be displayed. Otherwise, don’t specify a value. Valid values are:
- fullScreen
- none
- topLeft
|
| RequireRowSelection |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
If the value of OpenType is massAction, this field indicates whether to require individual row selection to execute the action for this button (true) or not (false). Otherwise, leave this field empty.
|
| Scontrol |
Type
string
Properties
Filter, Group, Sort
Description
If the value of LinkType is sControl, this field represents the name of the sControl. Otherwise, leave this field empty.
|
| ShowsLocation |
Type
boolean
Properties
Filter, Group, Sort
Description
If the value of OpenType is newWindow, this field indicates whether to show the browser location bar for the window (true) or not (false). Otherwise, leave this field empty.
|
| ShowsStatus |
Type
boolean
Properties
Filter, Group, Sort
Description
If the value of OpenType is newWindow, show the browser status bar for the window (true. Otherwise, don’t specify a value.
|
| Url |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Required. Represents the URL of the page to link to. Can include fields as tokens within the URL. Limit: 1,024 KB.
If the value of LinkType is url, this field represents the URL value. If the value of LinkType is javascript, this field represents the JavaScript content. For other values of LinkType, leave this field empty.
Content must be escaped in a manner consistent with XML parsing rules.
|
| Width |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The width in pixels of the window opened by the button or link.
Required if the value of OpenType is newWindow. Otherwise, leave this field empty.
|
# WebStoreTemplate
Represents a configuration for creating commerce stores. This object is available in API version 49.0 and later.
## Supported SOAP API Calls
create(), delete(), describeSObjects(), query(), retrieve()
## Supported REST API Methods
DELETE, GET, HEAD, POST, Query
## Special Access Rules
A B2B Commerce or D2C Commerce license and access to Commerce objects is required.
## Fields
| Field | Details |
| --- | --- |
| CheckoutTimeToLive |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Amount of time in minutes that a checkout stays active and doesn’t expire. If you use a Null value, your checkout never expires. If you use a 0 value, checkout is disabled. This field is available in API version 50.0 and later.
|
| CheckoutValidAfterDate |
Type
dateTime
Properties
Filter, Nillable, Sort
Description
A timestamp in the default server timezone (GMT). All checkouts that start before this date are considered expired. A Null value means that all checkouts are valid. Example format: 2020-07-14T14:27:00.000Z. This field is available in API version 50.0 and later.
|
| Country |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Two-digit ISO code of the store's country. Purchases can be shipped only to the country assigned to the store. Valid for only D2C stores. This field is available in API version 56.0 and later.
|
| DefaultCurrency |
Type
string
Properties
Filter, Group, Sort
Description
The template’s default currency setting for new records.
|
| DefaultLanguage |
Type
string
Properties
Filter, Group, Sort
Description
Required. The template’s default language setting for new records.
|
| DefaultTaxLocaleType |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
Required. The template’s default tax type for your webstore. Possible values include:
- Gross
- Net
This field is available in API version 55.0 and later.
|
| Description |
Type
textarea
Properties
Nillable
Description
The description of the template.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
Required. The unique name of the object in the API. This name can contain only underscores and alphanumeric characters, and must be unique in your org. It must begin with a letter, not include spaces, not end with an underscore, and not contain two consecutive underscores. In managed packages, this field prevents naming conflicts on package installations. With this field, a developer can change the object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated WebStoreTemplate in Metadata API. The full name can include a namespaceprefix.
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.
|
| GuestCartTimeToLive |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
The time that a guest cart is to remain valid before it expires. The default value is 168 hours (7 days), and the maximum value is 720 hours (30 days). This field is available in API version 52.0 and later.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The language of the WebStoreTemplate.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Label for the WebStoreTemplate.
|
| MaxValuesPerFacet |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Maximum number of values that can be added to a facet.
|
| Metadata |
Type
[WebStoreTemplate](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_webstoretemplate.htm)
Properties
Create, Nillable, Update
Description
The metadata for the WebStoreTemplate.
|
| 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 the following values:
- In Developer Edition organizations, the namespace prefix is set to the namespace prefix of the organization for all objects that support it. There is 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 are not Developer Edition organizations, NamespacePrefix is only set for objects that are part of an installed managed package. There is no namespace prefix for all other objects.
|
| OptionsAutoFacetingEnabled |
Type
boolean
Properties
Filter
Description
If enabled (True), the most relevant search facets are automatically returned, in addition to the configured search facets, in the product search results. If disabled (False), only the configured search facets are returned. The default is False. See [Add Product Search Filters (Facets)](https://help.salesforce.com/s/articleView?id=commerce.comm_search_add_filters.htm&type=5&language=en_US) for more information. This field is available in API version 50.0 or later.
|
| OptionsCartAsyncProcessingEnabled |
Type
boolean
Properties
Filter
Description
Indicates whether add-to-cart requests are processed asynchronously (True) or not (False). The default value is True. This field is available in API version 59.0 or later.
|
| OptionsCartCalculateEnabled |
Type
boolean
Properties
Filter
Description
Indicates whether the cart calculate extension is enabled (True) or not (False). The default value is False.
This field is available in API version 59.0 or later.
|
| OptionsCartToOrderAutoCustomFieldMapping |
Type
boolean
Properties
Filter
Description
Indicates whether custom field mapping for cart and order objects is enabled (True) or not (False). The default value is True.
This field is available in API version 57.0 or later.
|
| OptionsCommerceEinsteinActivitiesTracked |
Type
boolean
Properties
Filter
Description
Indicates whether Commerce Einstein activities tracking is enabled (true) or not (false).
|
| OptionsCommerceEinsteinDeployed |
Type
boolean
Properties
Filter
Description
Indicates whether Commerce Einstein is deployed (true) or not (false).
|
| OptionsDuplicateCartItemsEnabled |
Type
boolean
Properties
Filter
Description
Indicates whether a cart can include multiple items with the same product ID (True) or not (False). The default value is False. This field is available in API version 59.0 or later.
|
| OptionsGuestBrowsingEnabled |
Type
boolean
Properties
Filter
Description
Indicates whether guest browsing is enabled for this store. Set the option to True to allow guest buyers access to products in the store.
|
| OptionsGuestCartEnabled |
Type
boolean
Properties
Filter
Description
Required. Indicates whether guest cart access is enabled for a store created with an LWR template. Set the option to True to allow guest buyers access to products in the store. This field is available in API version 58.0 and later.
|
| OptionsGuestCheckoutEnabled |
Type
boolean
Properties
Filter
Description
Required. Indicates whether guest checkout access is enabled for a store created with an LWR template. Set the option to True to allow guest buyers access to products in the store. This field is available in API version 58.0 and later.
|
| OptionsPreserveGuestCartEnabled |
Type
boolean
Properties
Filter
Description
Required. Indicates whether cart contents are preserved when a guest logs in to the store. Set the option to True to preserve guest carts. This field is available in API version 60.0 and later.
|
| OptionsSkipAdditionalEntitlementCheckForSearch |
Type
boolean
Properties
Filter
Description
By default, user entitlement checks are run as part of a search index rebuild and again when product search results are returned. Skips the second check to promote faster search performance. Set the option to True to skip additional entitlement checks on a search. This field is available in API version 52.0 and later.
|
| OptionsSkuDetectionEnabled |
Type
boolean
Properties
Filter
Description
Indicates whether SKU detection is enabled (true) or not (false).
|
| OptionsSplitShipmentEnabled |
Type
boolean
Properties
Filter
Description
Required. Indicates whether split shipments are enabled (true) or not (false).
|
| OrderActivationStatus |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
Status of the order. Possible values include:
- Activated
- Draft
|
| OrderLifeCycleType |
Type
picklist
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The order life cycle type. Possible values include:
- MANAGED
- UNMANAGED
|
| PaginationSize |
Type
int
Properties
Filter, Group, Nillable, Sort
Description
Number of results displayed per search results page.
|
| PricingStrategy |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Required. The price selected to display to buyers. Possible values include:
- LowestPrice
- Priority
The default value is LowestPrice.
|
| ProductGrouping |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Determines whether product variations are listed individually in search results or are represented by the parent product, which links to its children. Possible values are:
- NoGrouping—Variations are listed individually in search results.
- VariationParent—The parent product is returned in search results with a link to its children.
The default value is VariationParent. This field is available in API version 52.0 and later.
|
| SupportedCurrencies |
Type
textarea
Properties
Description
Currencies supported for store template.
|
| SupportedLanguages |
Type
textarea
Properties
Description
Required. Languages supported for store template.
|
| SupportedShipToCountries |
Type
textarea
Properties
Nillable
Description
Countries that a store created from the template can ship to.
|
| Type |
Type
picklist
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
Required.
Possible values are:
- B2B
- B2C
- B2CE
- OMS
The default value is B2B.
|
# When to Use Tooling API
Use Tooling API when you need fine-grained access to an org’s metadata. Tooling API’s SOQL capabilities for many metadata types allow you to retrieve smaller pieces of metadata. Smaller retrieves improve performance, which makes Tooling API a better fit for developing interactive applications.
Because Tooling API allows you to change just one element within a complex type, it can be easier to use than Metadata API. Other use cases include:
- Source control integration
- Continuous integration
- Apex classes or trigger deployment
Some of the specific tasks you can accomplish using the Tooling API:
- **Retrieve metadata about an object’s field**: Use [FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm).
- **Retrieve custom or standard object properties**: Use [EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm).
- **Manage working copies of Apex classes and triggers and Visualforce pages and components.**: Use [ApexClassMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexclassmember.htm), [ApexTriggerMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextriggermember.htm), [ApexPageMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexpagemember.htm), [ApexComponentMember](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcomponentmember.htm), and [MetadataContainer](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_metadatacontainer.htm) .
- **Manage working copies of static resource files.**: Use [StaticResource](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_staticresource.htm).
- **Check for updates and errors in working copies of Apex classes and triggers and Visualforce pages and components.**: [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm)
- **Commit changes to your organization.**: Use [ContainerAsyncRequest](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_containerasyncrequest.htm).
- **Set heap dump markers.**: Use [ApexExecutionOverlayAction](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayaction.htm)
- **Overlay Apex code or SOQL statements on an Apex execution.**: Use [ApexExecutionOverlayAction](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayaction.htm).
- **Execute anonymous Apex.**: For sample code, see [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_soap_overview.htm) and [REST Overview](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_overview.htm "Use REST if you’re using a language that isn’t strongly typed, like JavaScript.").
- **Generate log files for yourself or for other users.**: Set checkpoints with [TraceFlag](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_traceflag.htm)
- **Access debug log and heap dump files.**: Use [ApexLog](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexlog.htm) and [ApexExecutionOverlayResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexexecutionoverlayresult.htm).
- **Manage custom fields on custom objects.**: Use [CustomField](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_customfield.htm).
- **Access code coverage results.**: Use [ApexCodeCoverage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverage.htm), [ApexOrgWideCoverage](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexorgwidecoverage.htm), and [ApexCodeCoverageAggregate](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apexcodecoverageaggregate.htm).
- **Execute tests, and manage test results.**: Use [ApexTestQueueItem](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextestqueueitem.htm) and [ApexTestResult](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_apextestresult.htm).
- **Manage validation rules and workflow rules.**: Use [ValidationRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_validationrule.htm) and [WorkflowRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_tooling.meta/api_tooling/tooling_api_objects_workflowrule.htm).
#### See Also
- [REST Overview](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_rest_overview.htm "Use REST if you’re using a language that isn’t strongly typed, like JavaScript.")
- [SOAP Calls](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/intro_soap_overview.htm)
# WorkflowAlert
Represents a workflow alert. A workflow alert is an email generated by a workflow rule or approval process and sent to designated recipients.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| CcEmails |
Type
string
Properties
Filter, Nillable, Sort
Description
Additional CC email addresses.
|
| Description |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
A description of the workflow alert.
|
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The unique name of the workflow alert in the API.
|
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort.
Description
Required. Available in version 34.0. The entity definition for the object associated with this WebLink.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the entity containing the alert.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
mns:WorkflowAlert
Properties
Create, Nillable, Update
Description
Alert definition metadata.
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, Sort
Description
The namespace of the package to uniquely identify the workflow alert.
|
| SenderType |
Type
ActionEmailSenderType enumerated list
Properties
Defaulted on create, Filter, Group, Restricted picklist, Sort
Description
The type of sender. Values are:
- CurrentUser
- OrgWideEmailAddress
- DefaultWorkflowUser
|
| TemplateId |
Type
ID
Properties
Filter, Group, Sort
Description
A reference to an email template.
|
# WorkflowFieldUpdate
Represents a workflow field update.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort.
Description
Required. Available in API version 34.0. The entity definition for the object associated with this workflow field update.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the entity containing the workflow field update.
|
| FieldDefinition |
Type
[FieldDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_fielddefinition.htm "Represents a standard or custom field, providing row-based access to field metadata. Contrast FieldDefinition with EntityParticle, which represents each element of a field that can be presented in a user interface. FieldDefinition has parity with metadata type Field.")
Properties
Filter, Group, Sort
Description
Required. The definition of this field.
|
| FieldDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the field for the workflow field update.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| LiteralValue |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
If the update uses a literal value, this is that value.
|
| LookupValueId |
Type
ID
Properties
Filter, Group, Nillable, Sort
Description
If the update looks up a value, this lookup value is referenced.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
mns:WorkflowFieldUpdate
Properties
Create, Nillable, Update
Description
The workflow field update metadata.
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.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The name of the workflow field update.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package containing the workflow field update object.
|
| SourceTableEnumOrId |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The enum (for example, Account) or ID of the object this workflow field update is on.
|
# WorkflowOutboundMessage
Represents an outbound message. An outbound message sends information to a designated endpoint, like an external service. Outbound messages are configured from Setup. You must configure the external endpoint and create a listener for the messages using the SOAP API.
This object is available in API version 32.0 and later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## Fields
| Field | Details |
| --- | --- |
| ApiVersion |
Type
double
Properties
Filter, Sort
Description
The API version is automatically generated and set to the current API version when the outbound message was created.
|
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort.
Description
Required. Available in version 34.0. The entity definition for the object associated with this WebLink.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the entity containing the outbound message.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| IntegrationUserId |
Type
ID
Properties
Filter, Group, Sort
Description
The ID of the user under which this message is sent.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
mns:WorkflowOutboundMessage
Properties
Create, Nillable, Update
Description
Outbound message definition metadata.
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.
|
| Name |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The name of the outbound message.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, Nillable, Sort
Description
The namespace of the package containing the outbound message.
|
# WorkflowRule
Represents a workflow rule that is used to fire off a specific workflow action when the specified criteria is met. Includes access to the associated WorkflowRule object in Salesforce Metadata API.
Available from API version 30.0 or later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
Query, DELETE, GET, PATCH, POST
## Fields
| Field Name | Details |
| --- | --- |
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
mns:WorkflowRule
Properties
Create, Nillable, Update
Description
Workflow rule metadata.
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.
|
| Name |
Type
string
Properties
Filter, Group, Sort
Description
The enum name or ID of entity this rule is associated with.
|
| NamespacePrefix |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
The namespace of the package containing the workflow rule object.
|
| TableEnumOrId |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort
Description
The enum (for example, Account) or ID of the object for this workflow rule.
|
# WorkflowTask
Represents a workflow task that is used to fire off a specific workflow action when the specified criteria is met. Includes access to the associated WorkflowRule object in Salesforce Metadata API.
Available from API version 32.0 or later.
## Supported SOAP Calls
create(), delete(), query(), retrieve(), search(), update(), upsert()
## Supported REST HTTP Methods
Query, DELETE, GET, PATCH, POST
## Fields
| Field Name | Details |
| --- | --- |
| EntityDefinition |
Type
[EntityDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_entitydefinition.htm "Provides row-based access to metadata about standard and custom objects.")
Properties
Filter, Group, Sort.
Description
Required. The entity definition for the object associated with the validation rule.
|
| EntityDefinitionId |
Type
string
Properties
Filter, Group, Sort
Description
The ID of the entity containing the workflow task.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata object in Metadata API.
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.
|
| ManageableState |
Type
ManageableState enumerated list
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
Indicates the manageable state of the specified component that is contained in a package:
- beta
- deleted
- deprecated
- deprecatedEditable
- installed
- installedEditable
- released
- unmanaged
|
| Metadata |
Type
mns:WorkflowTask
Properties
Create, Nillable, Update
Description
Workflow task metadata.
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 of the package containing the workflow task object.
|
| Priority |
Type
picklist
Properties
Filter, Group, Sort
Description
The task’s priority. Values are:
- High
- Normal
- Low
|
| Status |
Type
picklist
Properties
Filter, Group, Sort
Description
The task’s status. Values are:
- Not Started
- In Progress
- Completed
- Waiting on someone else
- Deferred
|
| Subject |
Type
string
Properties
Filter, Group, idLookup, Sort
Description
A subject for the workflow task. It is used if an email notification is sent when the task is assigned.
|
# WorkSkillRouting
Represents a setup object that stores a set of WorkSkillRoutingAttribute objects used to route a work item to an agent who has the skills necessary to take the work. Available in API version 46.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## 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 |
| --- | --- |
| DeveloperName |
Type
string
Properties
Filter, Group, Sort
Description
The developer name for the WorkSkillRouting.

#### Note
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
|
| FullName |
Type
string
Properties
Create, Group, Nillable
Description
The full name of the associated metadata type in Metadata API.
|
| IsActive |
Type
boolean
Properties
Defaulted on create, Filter, Group, Sort
Description
Indicates whether assignment rules are active and can be evaluated.
|
| Language |
Type
picklist
Properties
Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort
Description
The language in the user’s personal settings.
|
| MasterLabel |
Type
string
Properties
Filter, Group, Sort
Description
Master label for this object. This display value is the internal label that is not translated.
|
| Metadata |
Type
mns:WorkSkillRouting
Properties
Create, Nillable, Update
Description
The associated metadata type in Metadata API.
|
| RelatedEntity |
Type
picklist
Properties
Filter, Group, Restricted picklist, Sort, Unique
Description
Type of Salesforce object that the attributes are associated with.
|
# WorkSkillRoutingAttribute
Represents a setup object that stores metadata related to the routing assignments between object field values and skills. Field values are used to route a work item to an agent who has the skills necessary to take the work. Available in API version 46.0 and later.
## Supported SOAP Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
## Supported REST HTTP Methods
DELETE, GET, PATCH, POST
## 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 |
| --- | --- |
| Field |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The field corresponding to the field values that the skill is mapped to. Skills-Based Routing Rules support fields of type picklist, lookup, and checkbox. For example, Case Reason, Case Type, and Escalated. To see the complete list of valid values representing supported fields, see the Tooling API WSDL.
|
| IsAdditionalSkill |
Type
boolean
Properties
Create, Defaulted on create, Filter, Group, Sort, Update
Description
In skills-based routing, you can set some skills to additional. After a designated timeout period, a skill marked as additional is dropped from Omni-Channel routing. The case is then routed to the best-matched agent, even if the agent doesn’t have all the skills.
|
| RelatedEntity |
Type
picklist
Properties
Create, Filter, Group, Restricted picklist, Sort, Update
Description
The type of object being routed. Valid values are:
- Case
- ContactRequest
- Lead
- Order
- SocialPost
- Custom
|
| SkillLevel |
Type
double
Properties
Create, Defaulted on create, Filter, Nillable, Sort, Update
Description
Level of the skill required. This value can range from 0 to 10.
|
| SkillPriority |
Type
int
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
For additional skills, specify the order in which a skill is dropped if after the Drop Additional Skills Timeout on the routing configuration, no agent with that skill is available. Skills with a lower priority rank (9 or 10) are dropped first. Skills with a higher priority rank (0 or 1) are dropped last. Skills with the same priority value are dropped as a group. You can set skill priority using skills-based routing rules or Apex code. Available in API version 49.0 and later.
|
| Value |
Type
string
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The field value that is mapped to the selected skill.
|
| WorkSkillRoutingId |
Type
reference
Properties
Create, Filter, Group, Sort
Description
The ID of the [WorkSkillRouting](https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/tooling_api_objects_workskillrouting.htm "Represents a setup object that stores a set of WorkSkillRoutingAttribute objects used to route a work item to an agent who has the skills necessary to take the work. Available in API version 46.0 and later.") object with which this field value is associated.
|