---
schema_version: "1"
id: 884edc7ca4ae5a2880daab04f37228bd8ff8e618132ebc864c57d95ae3ec408b
title: |-
  Tooling API
      Objects and Namespaces
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_tooling/reference_objects_overview.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/reference_objects_overview.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: c41809813fb1c516ad9374c671b51e7cccabe551f4004a0fe2a25e9f5ce47bcd
description: Tooling API objects provide programmatic access to data and metadata. The Tooling API WSDL includes four namespaces.
---
# Tooling API Objects and Namespaces

Tooling API objects provide programmatic access to data and metadata. The Tooling API WSDL includes four namespaces.

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d354289e51">Namespace</th>

              <th class="featureTableHeader  " id="d354289e54">Used for</th>

              <th class="featureTableHeader  " id="d354289e57">Prefix</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d354289e51" data-title="Namespace"><samp class="codeph nolang">sobject.tooling.soap.sforce.com</samp></td>

              <td class="entry" headers="d354289e54" data-title="Used for">Tooling API sObjects. Some sObjects have a Metadata field defined in the
                <samp class="codeph nolang">mns</samp> namespace.<p class="p">This namespace is available
                  in API version 37.0 and later.</p>
              </td>

              <td class="entry" headers="d354289e57" data-title="Prefix"><samp class="codeph nolang">ens</samp></td>

            </tr>

            <tr>
              <td class="entry" headers="d354289e51" data-title="Namespace"><samp class="codeph nolang">fault.tooling.soap.sforce.com </samp></td>

              <td class="entry" headers="d354289e54" data-title="Used for">Tooling API error codes. <p class="p">This namespace is available in API version 37.0 and
                  later.</p>
              </td>

              <td class="entry" headers="d354289e57" data-title="Prefix"><samp class="codeph nolang">fns</samp></td>

            </tr>

            <tr>
              <td class="entry" headers="d354289e51" data-title="Namespace"><samp class="codeph nolang">tooling.soap.sforce.com</samp></td>

              <td class="entry" headers="d354289e54" data-title="Used for">General complex types, describe results, and all enum types in the Tooling
                API.</td>

              <td class="entry" headers="d354289e57" data-title="Prefix"><samp class="codeph nolang">tns</samp></td>

            </tr>

            <tr>
              <td class="entry" headers="d354289e51" data-title="Namespace"><samp class="codeph nolang">metadata.tooling.soap.sforce.com</samp></td>

              <td class="entry" headers="d354289e54" data-title="Used for">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. </td>

              <td class="entry" headers="d354289e57" data-title="Prefix"><samp class="codeph nolang">mns</samp></td>

            </tr>

          </tbody>

        </table>

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.