Use the Web API with table definitions

Note

Unsure about entity vs. table? See Developers: Understand terminology in Microsoft Dataverse.

You can perform any of the table and column definition (metadata) operations with the Web API that you can perform using the Organization service. This section provides guidance about how to use the Web API with the entity types included in Web API Metadata EntityType Reference.

There are four entity set paths exposed to perform operations with definition entities as described in the following table.

Entity Set Path Description
[Organization URI]/api/data/v9.0/EntityDefinitions Contains a collection of EntityMetadata EntityType/.
[Organization URI]/api/data/v9.0/RelationshipDefinitions Contains ManyToManyRelationshipMetadata EntityType/ and OneToManyRelationshipMetadata EntityType/ as both inherit from RelationshipMetadataBase EntityType/.
[Organization URI]/api/data/v9.0/GlobalOptionSetDefinitions Contains a collection of globally defined BooleanOptionSetMetadata EntityType/ and OptionSetMetadata EntityType/ as both inherit from OptionSetMetadata EntityType/.
[Organization URI]/api/data/v9.0/ManagedPropertyDefinitions For internal use only

Each definition entity type uses MetadataId as the unique identifier property, which it inherits from the MetadataBase EntityType/. While all definition entities have a MetadataId, you can’t query all of them directly. For example, you can query and perform operations on attributes (table columns) only in the context of the EntityMetadata entity that contains them.

These definition entities have some substantial differences from the tables that store business and application data, for example:

  • The properties for definition entities use many of the complex and enum types defined in Web API ComplexType Reference and Web API EnumType Reference rather than the primitive data types used for properties in entities that inherit from crmbaseentity EntityType/.

  • Definition entities follow a different naming convention and maintain the Pascal Case naming style used in the assemblies of the Organization service.

  • Definition entities make more extensive use of inheritance, which requires that you may need to perform casts to retrieve the data that you want.

In This Section

Query table definitions using the Web API
You can use the Web API to query table or column definitions using a RESTful query style.

Retrieve table definitions by name or MetadataId
Your applications can adapt to configuration changes by querying the table and column definitions. When you know one of the key properties of a definition item, you can retrieve definitions using the Web API.

Create and update table definitions using the Web API
You can create and update tables and columns using the Web API to achieve the same results you get with the organization service CreateEntityRequest, UpdateEntityRequest, CreateAttributeRequest, and UpdateAttributeRequest.

Create and update table relationships using the Web API
You can check whether tables are eligible to participate in a relationship with other tables and then create or update those relationships using the Web API.

See also

Browse the table definitions for your environment
Use the Microsoft Dataverse Web API