The OData API supports metadata queries to retrieve information about the data you have surfaced in your account. The sections below outline how to issue these metadata queries and what they return.

Table Listing

Issue a GET query to the OData Service URL ( to retrieve a JSON-formatted listing of the tables you have made available in your OData API. For example:


The results of this query will be formatted similarly to this example, though the contents will vary depending on your data sources:

    "@odata.context": "$metadata",
    "value": [
            "name": "Accounts",
            "kind": "EntitySet",
            "url": "Accounts"
            "name": "Customers",
            "kind": "EntitySet",
            "url": "Customers"
            "name": "Inventory",
            "kind": "EntitySet",
            "url": "Inventory"

Each of the items in this result (Accounts, Customers, and Inventory) is a table that has been added to the OData API.

Detailed Metadata Information

To retrieve an XML-formatted list of column data types, resource keys, and other information for all of your OData tables, issue a GET query to the OData Service URL and append $metadata. For example:


Below is a truncated example snippet from the results of this query:

<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="">
        <Schema Namespace="CData" xmlns="">

            <EntityType Name="Customers">
                    <PropertyRef Name="Id" />
                <Property Name="Id" Type="Edm.Int32" Nullable="false" />
                <Property Name="Company" Type="Edm.String" Nullable="true" MaxLength="2000" />
                <Property Name="FirstName" Type="Edm.String" Nullable="true" MaxLength="2000" />
                <Property Name="LastName" Type="Edm.String" Nullable="true" MaxLength="2000" />
                <Property Name="Email" Type="Edm.String" Nullable="true" MaxLength="2000" />

            <EntityContainer Name="CData">
                <EntitySet Name="Customers" EntityType="CData.Customers" />


In these results:

  • Each table is grouped into a separate EntityType, with each column designated by a Property.
  • The Key attribute indicates which property (column) is the table’s primary key.
  • The full list of entities is stored in EntityContainer at the end of the results.