Newer Version Available

This content describes an older version of this product. View Latest

Objects, Namespaces, and Tooling API

Tooling API objects provide programmatic access to data and metadata.

The Tooling API WSDL includes the tooling namespace tns (urn:tooling.soap.sforce.com) and the metadata namespace mns (urn:metadata.tooling.soap.sforce.com). Some objects or types in the mns namespace occur in both the Metadata API WSDL and the Tooling API WSDL.

  • If objects or types are identical in the Tooling API WSDL and Metadata API WSDL, they are documented in the Metadata API Developer's Guide.
  • If objects or types are different in the Tooling API WSDL, or only occur in the Tooling API WSDL, they are documented here.
To verify the complete list of fields for an object, access the Tooling API WSDL:
  1. Navigate to Setup.
  2. Select Develop | API.
  3. Select either Generate Tooling WSDL or Generate Tooling WSDL With Strongly Typed Enums.

Frequently occurring system fields are described in System Fields.

Note

SOQL Operation Limitations in Tooling API

The following objects in Tooling API don’t support SOQL operations COUNT(), GROUP BY, LIMIT, LIMIT OFFSET, OR, and NOT.
  • CompactLayoutInfo
  • CompactLayoutItemInfo
  • DataType
  • EntityDefinition
  • EntityLimit
  • EntityParticle
  • FieldDefinition
  • PicklistValueInfo
  • Publisher
  • RelationshipDomain
  • RelationshipInfo
  • SearchLayout
  • ServiceFieldDataType
  • StandardAction
  • UserEntityAccess
  • UserFieldAccess

The unsupported operations for these objects return errors or incorrect results as these examples illustrate.

COUNT()
Example Query: SELECT COUNT() FROM EntityDefinition
Error Returned: The "DurableId" field is of type number, but the value from the external data source is "Account.SearchResult". Contact your administrator for help.
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

Quick-Reference Tables

Look up information about system fields that occur on most objects and look up objects by the type of work they do.