GET /api/v1/metadata

Retrieves metadata about all entities, including Calculated Insights, Engagement, Profile, and other entities, and their relationships to other objects. For Data Lake Objects and Data Model Objects, the API response includes information about key qualifier fields. For each field, the API response includes the name of the associated key qualifier field.

Syntax 

  • HTTP Method: GET
  • Availability: Data 360 v1.0, Salesforce API version 51.0 and later
  • Format: REST
  • URI: /api/v1/metadata/

Query Parameters 

ParameterTypeDescription
entityTypestringThe requested metadata entity type. By default, this parameter includes all of the available types. Acceptable values: DataLakeObject, DataModelObject, and CalculatedInsight
entityCategorystringThe requested metadata entity category. By default, this parameter includes all of the available categories. It isn’t applicable for Calculated Insight entities. Acceptable values: Profile, Engagement, and Related
entityNamestringThe name of the requested metadata entity. By default, this parameter includes all of the available categories and an exhaustive list of entities. Example: UnifiedIndividual__dlm

Response Structure 

The response includes:

  • metadata: Array of entity objects containing:
    • fields: Array of field objects with:
      • name: Field name
      • displayName: Human-readable field name
      • type: Field data type
      • keyQualifier: Associated key qualifier field (if applicable)
    • indexes: Array of index objects
    • category: Entity category
    • name: Entity name
    • displayName: Human-readable entity name
    • relationships: Array of relationship objects
    • primaryKeys: Array of primary key objects

Examples 

Request 

1GET https://{TSE}.360a.salesforce.com/api/v1/metadata/

Response 

1{
2  "metadata": [
3    {
4      "fields": [
5        {
6          "name": "ssot__BirthDate__c",
7          "displayName": "Birth Date",
8          "type": "DATE_TIME"
9        },
10        {
11          "name": "ssot__LastName__c",
12          "displayName": "Last Name",
13          "type": "STRING"
14        },
15        {
16          "name": "KQ_Id__c",
17          "displayName": "Key Qualifier Individual Id",
18          "type": "STRING"
19        },
20        {
21          "name": "ssot__Id__c",
22          "displayName": "Individual Id",
23          "type": "STRING",
24          "keyQualifier": "KQ_Id__c"
25        },
26        {
27          "name": "ssot__DataSourceObjectId__c",
28          "displayName": "Data Source Object",
29          "type": "STRING"
30        },
31        {
32          "name": "ssot__YearlyIncome__c",
33          "displayName": "Yearly Income",
34          "type": "NUMBER"
35        },
36        {
37          "name": "ssot__FirstName__c",
38          "displayName": "First Name",
39          "type": "STRING"
40        }
41      ],
42      "indexes": [],
43      "category": "Profile",
44      "name": "ssot__Individual__dlm",
45      "displayName": "Individual",
46      "relationships": [
47        {
48          "fromEntity": "ssot__Individual__dlm",
49          "toEntity": "IndividualIdentityLink__dlm",
50          "fromEntityAttribute": "ssot__Id__c",
51          "toEntityAttribute": "SourceRecordId__c",
52          "cardinality": "ONETOONE"
53        },
54        {
55          "fromEntity": "ssot__ContactPointPhone__dlm",
56          "toEntity": "ssot__Individual__dlm",
57          "fromEntityAttribute": "ssot__PartyId__c",
58          "toEntityAttribute": "ssot__Id__c",
59          "cardinality": "NTOONE"
60        }
61      ],
62      "primaryKeys": [
63        {
64          "name": "ssot__Id__c",
65          "displayName": "Individual Id",
66          "indexOrder": "1"
67        }
68      ]
69    },
70    {
71      "fields": [
72        {
73          "name": "ssot__DataSourceId__c",
74          "displayName": "Data Source",
75          "type": "STRING"
76        },
77        {
78          "name": "ssot__DataSourceObjectId__c",
79          "displayName": "Data Source Object",
80          "type": "STRING"
81        },
82        {
83          "name": "KQ_Id__c",
84          "displayName": "Key Qualifier Party Id",
85          "type": "STRING"
86        },
87        {
88          "name": "ssot__Id__c",
89          "displayName": "Party Identification Id",
90          "type": "STRING",
91          "keyQualifier": "KQ_Id__c"
92        }
93      ],
94      "indexes": [],
95      "category": "Related",
96      "name": "ssot__PartyIdentification__dlm",
97      "displayName": "Party Identification",
98      "relationships": [],
99      "primaryKeys": [
100        {
101          "name": "ssot__Id__c",
102          "displayName": "Party Identification Id",
103          "indexOrder": "1"
104        }
105      ]
106    },
107    {
108      "name": "Avg_Spends__cio",
109      "displayName": "Avg Spends",
110      "dimensions": [
111        {
112          "name": "Id__c",
113          "displayName": "Id",
114          "type": "STRING"
115        },
116        {
117          "name": "FirstName__c",
118          "displayName": "First Name",
119          "type": "STRING"
120        }
121      ],
122      "measures": [
123        {
124          "name": "Avg_Spend__c",
125          "displayName": "Avg Spend",
126          "type": "NUMBER",
127          "rollupable": true
128        }
129      ],
130      "relationships": [
131        {
132          "fromEntity": "ssot__Individual__dlm",
133          "toEntity": "Avg_Spends__cio"
134        }
135      ],
136      "partitionBy": "Id__c"
137    }
138  ]
139}

Notes 

  • The API follows REST standards for consistency
  • All responses are in JSON format
  • Error responses include detailed error messages
  • The API supports filtering by entity type, category, and name
  • Key qualifier fields are included for Data Lake Objects and Data Model Objects