Get Credentials

Get credentials

After signing in, you can create credentials that can be used to call the Platform APIs.

Schema Registry API (1.0)

Download OpenAPI specification:Download

Use the Schema Registry API to access the Schema Library within Adobe Experience Platform. The registry provides a user interface and RESTful API from which all available library resources are accessible. Programmatically manage all schemas and related Experience Data Model (XDM) resources available to you within Platform. This includes those defined by Adobe, Experience Platform partners, and vendors whose applications you use.

  • Related documentation:

  • Visualize API calls with Postman (a free, third-party software):

  • API paths:

    • PLATFORM Gateway URL: https://platform.adobe.io
    • Base path for this API: /data/foundation/schemaregistry
    • Example of a complete path for making a call to "/stats": https://platform.adobe.io/data/foundation/schemaregistry/stats
  • Required headers:

    • All calls require the headers Authorization, x-gw-ims-org-id, and x-api-key. For more information on how to obtain these values, see the authentication tutorial.
    • All resources in Experience Platform are isolated to specific virtual sandboxes. All requests to Platform APIs require the header x-sandbox-name whose value is the all-lowercase name of the sandbox the operation will take place in (for example, "prod"). See the sandboxes overview for more information.
    • All GET requests to the Schema Registry require an Accept header to determine what data is returned by the system. See the section on Accept headers in the Schema Registry developer guide for more information.
    • All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header Content-Type with a value of application/json.

Stats

Returns {TENANT_ID} along with information regarding IMS Org usage of the Schema Registry such as resource counts, recently created resources, and class usage.

Retrieve your tenant ID and other usage information related to the Schema Registry.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
200

Success

400

Bad formatting

get/stats
Response samples
application/json
{}

Schemas

Schemas provide an abstract definition of a real-world object along with constraints and expectations that can be applied and used to validate data.

List schemas

You can list schemas within the global or tenant container by performing a GET request. To help filter results, the Schema Registry supports the use of query parameters when listing resources.

NOTE: For more information on using this operation, see the schemas endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to list resources from. To list core resources provided by Adobe, use global. To list custom resources defined by your organization, use tenant.

query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. For example, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile returns only field groups that are compatible with the XDM Individual Profile class.

orderby
string

Sort the listed resources by specified fields. For example orderby=title sorts results by title in ascending order (A-Z). Adding a - before the field name (orderby=-title) sorts items in descending order (Z-A). Multiple fields can also be included to denote primary and secondary sort orders (for example, orderby=title,description).

start
string

When used in conjunction with an orderby parameter, start specifies where the paginated list of items should begin. This parameter cannot be used without an orderby parameter present.

Typically, this parameter is omitted in order to obtain the first page of results. After that, start should be set to the maximum value of the primary sort property of the orderby field received in the previous page. The API response then returns entries beginning with those that have a primary sort property from orderby strictly greater than (for ascending) or strictly less than (for descending) the specified value.

For example, if the orderby parameter is set to orderby=name,firstname, the start parameter would contain a value for the name property. In this case, if you wanted to show the next 20 entries of a resource immediately following the name "Miller", you would use: ?orderby=name,firstname&start=Miller&limit=20.

limit
number

When used in conjunction with an orderby parameter, limit restricts the maximum number of items that should be returned for a given request. This parameter cannot be used without an orderby parameter present.

The limit parameter specifies a positive integer (between 0 and 500) as a hint as to the maximum number of items that should be returned. For example, limit=5 returns only five resources in the list. However, this value is not strictly honored. The actual response size may be smaller or larger as constrained by the need to provide the reliable operation of the start parameter, if one is provided.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For listing calls, the following Accept header values are permitted:

AcceptDescription
application/vnd.adobe.xed-id+jsonReturns a short summary of each resource, generally the preferred header for listing.
application/vnd.adobe.xed+jsonReturns full JSON for each resource, with the original $ref and allOf attributes included.
Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/schemas
Response samples
application/json
{}

Retrieve a schema

NOTE: For more information on using this operation, see the schemas endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to retrieve a resource from. To retrieve a core resource provided by Adobe, use global. To retrieve a custom resource defined by your organization, use tenant.

SCHEMA_ID
required
string

The meta:altId or URL-encoded $id of the schema in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

400

Bad formatting

404

Not found

406

Invalid Accept format

get/{CONTAINER_ID}/schemas/{SCHEMA_ID}
Response samples
application/json
{}

Create a custom schema

NOTE: For more information on using this operation, see the schemas endpoint guide on Experience League.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include an allOf attribute referencing the $id of the base class the that the schema will implement.

type
required
string

The JSON Schema data type for the resource. Must be set to object.

title
required
string

A title for the schema.

description
required
string

A description for the schema.

required
Array of objects

Lists the class and/or field groups whose fields the schema implements. Each object contains a single property ($ref) whose value represents the $id of the class or field group the new schema will implement. One class must be provided, with zero or more additional field groups.

Responses
201

Success

400

Bad formatting

post/tenant/schemas
Request samples
application/json
{}
Response samples
application/json
{}

Update a custom schema

A PUT request essentially re-writes the schema, therefore the request body must include all fields required to create (POST) a schema. This is especially useful when updating a lot of information in the schema at once.

NOTE: For more information on using this operation, see the schemas endpoint guide on Experience League.

Request
path Parameters
SCHEMA_ID
required
string

The meta:altId or URL-encoded $id of the schema in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include all of the fields that were originally required for creating the schema, but with updated values. This includes an allOf attribute referencing the $id of the class the schema will implement.

type
required
string

The JSON Schema data type for the resource. Must be set to object.

title
required
string

A title for the schema.

description
required
string

A description for the schema.

required
Array of objects

Lists the class and/or field groups whose fields the schema implements. Each object contains a single property ($ref) whose value represents the $id of the class or field group the new schema will implement. One class must be provided, with zero or more additional field groups.

Responses
200

Success

400

Bad formatting

put/tenant/schemas/{SCHEMA_ID}
Request samples
application/json
{}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.schemas.d4ad4b8463a67f6755f2aabbeb9e02c7",
  • "meta:resourceType": "schemas",
  • "version": "1.1",
  • "title": "Hotels",
  • "type": "object",
  • "description": "string",
  • "allOf": [
    ],
  • "imsOrg": "string",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:extends": [
    ],
  • "meta:xdmType": "string",
  • "meta:registryMetadata": {
    }
}

Update one or more attributes of a custom schema

You can use this endpoint to update one or more attributes of the custom schema.

The Schema Registry supports all standard JSON Patch operations, including add, remove, and replace. For more information on JSON Patch, including all available operations, please refer to the the official JSON Patch specification.

NOTE: For more information on using this operation, see the schemas endpoint guide on Experience League.

Request
path Parameters
SCHEMA_ID
required
string

The meta:altId or URL-encoded $id of the schema in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The request body accepts a JSON Patch payload.

Array
op
required
string

The JSON Patch operation to be performed.

path
required
string

The path to the field that the operation should be performed on.

value
string

If adding or updating an attribute, this property indicates the value that should be set for that property.

Responses
200

Success

400

Bad formatting

patch/tenant/schemas/{SCHEMA_ID}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.schemas.d4ad4b8463a67f6755f2aabbeb9e02c7",
  • "meta:resourceType": "schemas",
  • "version": "1.1",
  • "title": "Hotels",
  • "type": "object",
  • "description": "string",
  • "allOf": [
    ],
  • "imsOrg": "string",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:extends": [
    ],
  • "meta:xdmType": "string",
  • "meta:registryMetadata": {
    },
  • "meta:immutableTags": [
    ]
}

Delete a custom schema

You can remove an existing schema by performing a DELETE request. A successful deletion returns an empty response body and HTTP status 204 (No Content).

NOTE: For more information on using this operation, see the schemas endpoint guide on Experience League.

Request
path Parameters
SCHEMA_ID
required
string

The meta:altId or URL-encoded $id of the schema in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
204

No content

404

Not found

500

Internal server error

delete/tenant/schemas/{SCHEMA_ID}

Behaviors

Behaviors define the nature of data that a schema describes. Each XDM class must reference a specific behavior, which all schemas that employ that class will inherit. Schemas that inherit the "record" behavior provide information about the attributes of a subject, while those that inherit the "time-series" behavior provide a snapshot of the system at the time an action was taken by a record subject.

List behaviors

NOTE: For more information on using this operation, see the behaviors endpoint guide on Experience League.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For listing calls, the following Accept header values are permitted:

AcceptDescription
application/vnd.adobe.xed-id+jsonReturns a short summary of each resource, generally the preferred header for listing.
application/vnd.adobe.xed+jsonReturns full JSON for each resource, with the original $ref and allOf attributes included.
Responses
200

Success

400

Bad formatting

get/global/behaviors
Response samples
application/json
{}

Retrieve a behavior

NOTE: For more information on using this operation, see the behaviors endpoint guide on Experience League.

Request
path Parameters
BEHAVIOR_ID
required
string

The meta:altId or URL-encoded $id of the behavior in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

400

Bad formatting

get/global/behaviors/{BEHAVIOR_ID}
Response samples
application/json
{
  • "meta:altId": "_xdm.data.record",
  • "meta:resourceType": "behaviors",
  • "version": "1.16.4",
  • "title": "Record Schema",
  • "type": "object",
  • "description": "Used to indicate the behavior of record data semantic when composed into data schemas.",
  • "definitions": {
    },
  • "allOf": [],
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:status": "stable",
  • "meta:registryMetadata": {
    }
}

Classes

Classes define behavioral aspects of the data within the schema and describe the smallest number of common properties contained in all schemas that implement the same class.

List classes

NOTE: For more information on using this operation, see the classes endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to list resources from. To list core resources provided by Adobe, use global. To list custom resources defined by your organization, use tenant.

query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. For example, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile returns only field groups that are compatible with the XDM Individual Profile class.

orderby
string

Sort the listed resources by specified fields. For example orderby=title sorts results by title in ascending order (A-Z). Adding a - before the field name (orderby=-title) sorts items in descending order (Z-A). Multiple fields can also be included to denote primary and secondary sort orders (for example, orderby=title,description).

start
string

When used in conjunction with an orderby parameter, start specifies where the paginated list of items should begin. This parameter cannot be used without an orderby parameter present.

Typically, this parameter is omitted in order to obtain the first page of results. After that, start should be set to the maximum value of the primary sort property of the orderby field received in the previous page. The API response then returns entries beginning with those that have a primary sort property from orderby strictly greater than (for ascending) or strictly less than (for descending) the specified value.

For example, if the orderby parameter is set to orderby=name,firstname, the start parameter would contain a value for the name property. In this case, if you wanted to show the next 20 entries of a resource immediately following the name "Miller", you would use: ?orderby=name,firstname&start=Miller&limit=20.

limit
number

When used in conjunction with an orderby parameter, limit restricts the maximum number of items that should be returned for a given request. This parameter cannot be used without an orderby parameter present.

The limit parameter specifies a positive integer (between 0 and 500) as a hint as to the maximum number of items that should be returned. For example, limit=5 returns only five resources in the list. However, this value is not strictly honored. The actual response size may be smaller or larger as constrained by the need to provide the reliable operation of the start parameter, if one is provided.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For listing calls, the following Accept header values are permitted:

AcceptDescription
application/vnd.adobe.xed-id+jsonReturns a short summary of each resource, generally the preferred header for listing.
application/vnd.adobe.xed+jsonReturns full JSON for each resource, with the original $ref and allOf attributes included.
Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/classes
Response samples
application/json
{
  • "results": [
    ],
  • "_page": {
    },
  • "_links": {
    }
}

Retrieve a class

NOTE: For more information on using this operation, see the classes endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to retrieve a resource from. To retrieve a core resource provided by Adobe, use global. To retrieve a custom resource defined by your organization, use tenant.

CLASS_ID
required
string

The meta:altId or URL-encoded $id of the class you want to look up.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

400

Bad formatting

404

Not found

get/{CONTAINER_ID}/classes/{CLASS_ID}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.classes.9731ca27f72801dc6e9d6a170df94745",
  • "meta:resourceType": "classes",
  • "version": "1.0",
  • "title": "Luma Product Class",
  • "type": "object",
  • "description": "A custom product class for the Luma brand.",
  • "allOf": [],
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
  • "meta:sandboxType": "production",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Create a custom class

NOTE: For more information on using this operation, see the classes endpoint guide on Experience League.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The request payload must include an allOf attribute referencing either 'https://ns.adobe.com/xdm/data/record' or 'https://ns.adobe.com/xdm/data/time-series'. This value represents the data behavior upon which the class is based. allOf may also optionally include field groups or custom fields that will be included each time the class is used.

type
required
string

The JSON Schema data type for the payload. Must be set to object.

title
required
string

A title for the class.

description
required
string

A description for the class.

required
Array of objects

Lists the behavior that the class inherits along with any additional class-level fields.

Responses
201

Success

400

Bad formatting

post/tenant/classes
Request samples
application/json
{}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.classes.9731ca27f72801dc6e9d6a170df94745",
  • "meta:resourceType": "classes",
  • "version": "1.0",
  • "title": "New Class",
  • "type": "object",
  • "description": "Description of the new class.",
  • "allOf": [],
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
  • "meta:sandboxType": "production",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Update a custom class

A PUT request essentially re-writes the class, therefore the request body must include all fields required to create (POST) a class. This is especially useful when updating a lot of information in the class at once.

NOTE: For more information on using this operation, see the classes endpoint guide on Experience League.

Request
path Parameters
CLASS_ID
required
string

The meta:altId or URL-encoded $id of the class you want to update.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include all of the fields that were originally required for creating the class, but with updated values. This includes an allOf attribute referencing the behavior of the class.

type
required
string

The JSON Schema data type for the payload. Must be set to object.

title
required
string

A title for the class.

description
required
string

A description for the class.

required
Array of objects

Lists the behavior that the class inherits along with any additional class-level fields.

Responses
200

Success

400

Bad formatting

put/tenant/classes/{CLASS_ID}
Request samples
application/json
{}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.classes.9731ca27f72801dc6e9d6a170df94745",
  • "meta:resourceType": "classes",
  • "version": "1.0",
  • "title": "New Class",
  • "type": "object",
  • "description": "Updated description of the new class.",
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
  • "meta:sandboxType": "production",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Update one or more attributes of a custom class

You can use this endpoint to update one or more attributes for a custom class. The Schema Registry supports all standard JSON Patch operations, including add, remove, and replace, to allow users to modify or update classes they have defined.

NOTE: For more information on JSON Patch, including all available operations, please refer to the the official JSON Patch specification. > >For more information on using this operation, see the classes endpoint guide on Experience League.

Request
path Parameters
CLASS_ID
required
string

The meta:altId or URL-encoded $id of the class you want to update.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The request body accepts a JSON Patch payload.

Array
op
required
string

The JSON Patch operation to be performed.

path
required
string

The path to the field that the operation should be performed on.

value
string

If adding or updating an attribute, this property indicates the value that should be set for that property.

Responses
200

Success

400

Bad formatting

patch/tenant/classes/{CLASS_ID}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.classes.9731ca27f72801dc6e9d6a170df94745",
  • "meta:resourceType": "classes",
  • "version": "1.0",
  • "title": "New Class",
  • "type": "object",
  • "description": "A PATCH-updated description of the new class.",
  • "allOf": [],
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
  • "meta:sandboxType": "production",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Delete a custom class

Remove a class by performing a DELETE request to the $id of the class being removed.

A successful deletion returns an empty response body and HTTP status 204 (No Content).

NOTE: For more information on using this operation, see the classes endpoint guide on Experience League.

Request
path Parameters
CLASS_ID
required
string

The meta:altId or URL-encoded $id of the class you want to delete.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
204

No content

404

Not found

delete/tenant/classes/{CLASS_ID}

Field groups

A field group is a reusable component that defines one or more fields to implement certain functions within a schema based on a compatible class.

List field groups

Retrieve a list of field groups within the specified container.

NOTE: For more information on using this operation, see the field groups endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to list resources from. To list core resources provided by Adobe, use global. To list custom resources defined by your organization, use tenant.

query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. For example, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile returns only field groups that are compatible with the XDM Individual Profile class.

orderby
string

Sort the listed resources by specified fields. For example orderby=title sorts results by title in ascending order (A-Z). Adding a - before the field name (orderby=-title) sorts items in descending order (Z-A). Multiple fields can also be included to denote primary and secondary sort orders (for example, orderby=title,description).

start
string

When used in conjunction with an orderby parameter, start specifies where the paginated list of items should begin. This parameter cannot be used without an orderby parameter present.

Typically, this parameter is omitted in order to obtain the first page of results. After that, start should be set to the maximum value of the primary sort property of the orderby field received in the previous page. The API response then returns entries beginning with those that have a primary sort property from orderby strictly greater than (for ascending) or strictly less than (for descending) the specified value.

For example, if the orderby parameter is set to orderby=name,firstname, the start parameter would contain a value for the name property. In this case, if you wanted to show the next 20 entries of a resource immediately following the name "Miller", you would use: ?orderby=name,firstname&start=Miller&limit=20.

limit
number

When used in conjunction with an orderby parameter, limit restricts the maximum number of items that should be returned for a given request. This parameter cannot be used without an orderby parameter present.

The limit parameter specifies a positive integer (between 0 and 500) as a hint as to the maximum number of items that should be returned. For example, limit=5 returns only five resources in the list. However, this value is not strictly honored. The actual response size may be smaller or larger as constrained by the need to provide the reliable operation of the start parameter, if one is provided.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For listing calls, the following Accept header values are permitted:

AcceptDescription
application/vnd.adobe.xed-id+jsonReturns a short summary of each resource, generally the preferred header for listing.
application/vnd.adobe.xed+jsonReturns full JSON for each resource, with the original $ref and allOf attributes included.
Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/fieldgroups
Response samples
application/json
{
  • "results": [
    ],
  • "_page": {
    },
  • "_links": {
    }
}

Retrieve a field group

NOTE: For more information on using this operation, see the field groups endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to retrieve a resource from. To retrieve a core resource provided by Adobe, use global. To retrieve a custom resource defined by your organization, use tenant.

FIELD_GROUP_ID
required
string

The meta:altId or URL-encoded $id of the field group you want to look up.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/fieldgroups/{FIELD_GROUP_ID}
Response samples
application/json
{
  • "meta:altId": "_xdm.context.profile-person-details",
  • "meta:resourceType": "mixins",
  • "version": "1.22.3",
  • "title": "Demographic Details",
  • "type": "object",
  • "description": "Demographic information such as name, gender, and birth date of an individual.",
  • "definitions": {
    },
  • "allOf": [],
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:intendedToExtend": [],
  • "meta:xdmType": "object",
  • "meta:status": "stable",
  • "meta:registryMetadata": {
    },
  • "meta:tags": {
    },
  • "meta:createdDate": "2020-08-10"
}

Create a custom field group

NOTE: For more information on using this operation, see the field groups endpoint guide on Experience League.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include a 'meta:intendedToExtend' field listing the '$id' of the class(es) with which the field group is compatible.

type
required
string

The JSON Schema data type for the field group. Must be set to object.

title
required
string

A title for the field group.

description
string

A description for the field group.

meta:intendedToExtend
required
Array of strings

Contains the $id value(s) of the class(es) that this field group is compatible with.

definitions
object

Describes the unique attributes provided by the field group that are not inherited from other XDM resources. Custom attributes must be nested under properties._{TENANT_ID} to avoid collisions with similar fields provided by classes and other field groups. For details on how to define different field types to include in your field group, see the field constraints guide.

Array of objects

A list of reference strings that determine the attributes that the field group provides. A string can refer to a custom field definition provided under the definitions object (e.g. #/definitions/property) or the $id of another field group or data type that this field group extends or employs.

Responses
201

Success

400

Bad formatting

post/tenant/fieldgroups
Request samples
application/json
{
  • "type": "object",
  • "title": "Property Details",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ]
}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.mixins.8779fd45d6e4eb074300023a439862bbba359b60d451627a",
  • "meta:resourceType": "mixins",
  • "version": "1.2",
  • "title": "Property Details",
  • "type": "object",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ],
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:intendedToExtend": [],
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Update a custom field group

A PUT request essentially re-writes the field group, therefore the request body must include all fields required to create (POST) a field group. This is especially useful when updating a lot of information in the field group at once.

NOTE: For more information on using this operation, see the field groups endpoint guide on Experience League.

Request
path Parameters
FIELD_GROUP_ID
required
string

The meta:altId or URL-encoded $id of the field group you want to update.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include all of the fields that were originally required for creating the field group, but with updated values. This includes an allOf attribute referencing the $id of the class the schema will implement.

type
required
string

The JSON Schema data type for the field group. Must be set to object.

title
required
string

A title for the field group.

description
string

A description for the field group.

meta:intendedToExtend
required
Array of strings

Contains the $id value(s) of the class(es) that this field group is compatible with.

definitions
object

Describes the unique attributes provided by the field group that are not inherited from other XDM resources. Custom attributes must be nested under properties._{TENANT_ID} to avoid collisions with similar fields provided by classes and other field groups. For details on how to define different field types to include in your field group, see the field constraints guide.

Array of objects

A list of reference strings that determine the attributes that the field group provides. A string can refer to a custom field definition provided under the definitions object (e.g. #/definitions/property) or the $id of another field group or data type that this field group extends or employs.

Responses
200

Success

400

Bad formatting

put/tenant/fieldgroups/{FIELD_GROUP_ID}
Request samples
application/json
{
  • "type": "object",
  • "title": "Property Details",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ]
}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.mixins.8779fd45d6e4eb074300023a439862bbba359b60d451627a",
  • "meta:resourceType": "mixins",
  • "version": "1.3",
  • "title": "Property Details",
  • "type": "object",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ],
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:intendedToExtend": [],
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Update a custom field group

You can use this endpoint to update one or more attributes of your custom field group. The Schema Registry supports all standard JSON Patch operations, including add, remove, and replace, to allow you to modify or update resources you have defined.

NOTE: For more information on JSON Patch, including all available operations, please refer to the the official JSON Patch specification. > >For more information on using this operation, see the field groups endpoint guide on Experience League.

Request
path Parameters
FIELD_GROUP_ID
required
string

The meta:altId or URL-encoded $id of the field group you want to update.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The request body accepts a JSON Patch payload.

Array
op
required
string

The JSON Patch operation to be performed.

path
required
string

The path to the field that the operation should be performed on.

value
string

If adding or updating an attribute, this property indicates the value that should be set for that property.

Responses
200

Success

400

Bad formatting

patch/tenant/fieldgroups/{FIELD_GROUP_ID}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.mixins.8779fd45d6e4eb074300023a439862bbba359b60d451627a",
  • "meta:resourceType": "mixins",
  • "version": "1.3",
  • "title": "Property Details",
  • "type": "object",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ],
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:intendedToExtend": [],
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Delete a custom field group

You can remove an existing field group through a DELETE request. A successful deletion returns an empty response body and HTTP status 204 (No Content).

NOTE: For more information on using this operation, see the field groups endpoint guide on Experience League.

Request
path Parameters
FIELD_GROUP_ID
required
string

The meta:altId or URL-encoded $id of the field group you want to delete.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
204

No content

delete/tenant/fieldgroups/{FIELD_GROUP_ID}

Data types

Data types are used as reference field types in classes or schemas to define complex types. Data types may define multiple sub-fields providing a consistent multi-field structure.

List data types

NOTE: For more information on using this operation, see the data types endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to list resources from. To list core resources provided by Adobe, use global. To list custom resources defined by your organization, use tenant.

query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. For example, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile returns only field groups that are compatible with the XDM Individual Profile class.

orderby
string

Sort the listed resources by specified fields. For example orderby=title sorts results by title in ascending order (A-Z). Adding a - before the field name (orderby=-title) sorts items in descending order (Z-A). Multiple fields can also be included to denote primary and secondary sort orders (for example, orderby=title,description).

start
string

When used in conjunction with an orderby parameter, start specifies where the paginated list of items should begin. This parameter cannot be used without an orderby parameter present.

Typically, this parameter is omitted in order to obtain the first page of results. After that, start should be set to the maximum value of the primary sort property of the orderby field received in the previous page. The API response then returns entries beginning with those that have a primary sort property from orderby strictly greater than (for ascending) or strictly less than (for descending) the specified value.

For example, if the orderby parameter is set to orderby=name,firstname, the start parameter would contain a value for the name property. In this case, if you wanted to show the next 20 entries of a resource immediately following the name "Miller", you would use: ?orderby=name,firstname&start=Miller&limit=20.

limit
number

When used in conjunction with an orderby parameter, limit restricts the maximum number of items that should be returned for a given request. This parameter cannot be used without an orderby parameter present.

The limit parameter specifies a positive integer (between 0 and 500) as a hint as to the maximum number of items that should be returned. For example, limit=5 returns only five resources in the list. However, this value is not strictly honored. The actual response size may be smaller or larger as constrained by the need to provide the reliable operation of the start parameter, if one is provided.

header Parameters
x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For listing calls, the following Accept header values are permitted:

AcceptDescription
application/vnd.adobe.xed-id+jsonReturns a short summary of each resource, generally the preferred header for listing.
application/vnd.adobe.xed+jsonReturns full JSON for each resource, with the original $ref and allOf attributes included.
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/datatypes
Response samples
application/json
{
  • "results": [
    ],
  • "_page": {
    },
  • "_links": {
    }
}

Retrieve a data type

NOTE: For more information on using this operation, see the data types endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to retrieve a resource from. To retrieve a core resource provided by Adobe, use global. To retrieve a custom resource defined by your organization, use tenant.

DATA_TYPE_ID
required
string

The meta:altId or URL-encoded $id of the data type in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/datatypes/{DATA_TYPE_ID}
Response samples
application/json
{
  • "meta:altId": "_xdm.content.productlistitem",
  • "meta:resourceType": "datatypes",
  • "version": "1.27.4",
  • "title": "Product list item",
  • "type": "object",
  • "description": "The product list item represents a product selected by a customer with specific options, pricing, usage context for a specific point of time and may differ from the product record. For example the product record contains details from the product information system that are consistent for all customers, where the product list item has the actual price offered to the customer at that time which may vary due to sales campaigns or seasonal pricing.",
  • "definitions": {
    },
  • "allOf": [],
  • "meta:xdmType": "object",
  • "meta:status": "stable",
  • "meta:registryMetadata": {
    },
  • "meta:createdDate": "2021-02-19"
}

Create a custom data type

NOTE: For more information on using this operation, see the data types endpoint guide on Experience League.

Request
header Parameters
x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

Unlike field groups, defining a data type does not require meta:extends or meta:intendedToExtend fields, nor do fields need to be nested to avoid collisions. When it comes to defining the field structure of data type itself, you can use primitive types (like string or object) or you can reference other existing data types through $ref attributes. See the guide on defining custom XDM fields in the API for detailed guidance on the expected format for different XDM field types.

type
required
string

The JSON Schema data type for the resource. Must be set to object or array.

title
required
string

A title for the data type.

description
string

A description for the data type.

properties
object

If type is set to object, this field describes the attributes that the object will provide. Not supported for array data types. See the guide on defining XDM field types in the API for more information on how to format XDM fields.

items
object

If type is set to array, this field describes the type and structure of each array list item. Not supported for object data types. See the guide on defining XDM field types in the API for more information on how to format XDM fields.

Responses
201

Success

400

Bad formatting

post/tenant/datatypes
Request samples
application/json
{
  • "title": "Property Construction",
  • "description": "Information related to the property construction",
  • "type": "object",
  • "properties": {
    }
}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.datatypes.669ffcc61cf5e94e8640dbe6a15f0f24eb3cd1ddbbfb6b36",
  • "meta:resourceType": "datatypes",
  • "version": "1.0",
  • "title": "Property Construction",
  • "type": "object",
  • "description": "Information related to the property construction",
  • "properties": {
    },
  • "refs": [ ],
  • "imsOrg": "{ORG_ID}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "1bd86660-c5da-11e9-93d4-6d5fc3a66a8e",
  • "meta:sandboxType": "production",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Update a custom data type

A PUT request essentially re-writes the data type, therefore the request body must include all fields required to create (POST) a data type. This is especially useful when updating a lot of information in the data type at once.

NOTE: For more information on using this operation, see the data types endpoint guide on Experience League.

Request
path Parameters
DATA_TYPE_ID
required
string

The meta:altId or URL-encoded $id of the data type in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include all of the fields that were originally required for creating the data type, but with updated values.

type
required
string

The JSON Schema data type for the resource. Must be set to object or array.

title
required
string

A title for the data type.

description
string

A description for the data type.

properties
object

If type is set to object, this field describes the attributes that the object will provide. Not supported for array data types. See the guide on defining XDM field types in the API for more information on how to format XDM fields.

items
object

If type is set to array, this field describes the type and structure of each array list item. Not supported for object data types. See the guide on defining XDM field types in the API for more information on how to format XDM fields.

Responses
200

Success

400

Bad formatting

put/tenant/datatypes/{DATA_TYPE_ID}
Request samples
application/json
{
  • "title": "Property Construction",
  • "description": "Updated description for the data type.",
  • "type": "object",
  • "properties": {
    }
}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.datatypes.669ffcc61cf5e94e8640dbe6a15f0f24eb3cd1ddbbfb6b36",
  • "meta:resourceType": "datatypes",
  • "version": "1.1",
  • "title": "Property Construction",
  • "type": "object",
  • "description": "Updated description of the data type.",
  • "properties": {
    },
  • "refs": [ ],
  • "imsOrg": "{ORG_ID}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "1bd86660-c5da-11e9-93d4-6d5fc3a66a8e",
  • "meta:sandboxType": "production",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Update a custom data type's attributes

You can use this endpoint to update one or more attributes of a custom data type. The Schema Registry supports all standard JSON Patch operations, including add, remove, and replace, to allow users to modify or update data types they have defined.

NOTE: For more information on JSON Patch, including all available operations, please refer to the the official JSON Patch specification. > >For more information on using this operation, see the data types endpoint guide on Experience League.

Request
path Parameters
DATA_TYPE_ID
required
string

The meta:altId or URL-encoded $id of the data type in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The request body accepts a JSON Patch payload.

Array
op
string

Type of JSON Patch operation being performed.

path
string

Location where the operation is being performed.

value
object

Required elements vary depending on type of 'value' (e.g. string, integer, object, etc.)

Responses
200

Success

400

Bad formatting

patch/tenant/datatypes/{DATA_TYPE_ID}
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.datatypes.669ffcc61cf5e94e8640dbe6a15f0f24eb3cd1ddbbfb6b36",
  • "meta:resourceType": "datatypes",
  • "version": "1.1",
  • "title": "Property Construction",
  • "type": "object",
  • "description": "Information related to the property construction",
  • "properties": {
    },
  • "refs": [ ],
  • "imsOrg": "{ORG_ID}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "1bd86660-c5da-11e9-93d4-6d5fc3a66a8e",
  • "meta:sandboxType": "production",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Delete a custom class

Removing a data type is done through a DELETE request to the $id of the data type being removed.

A successful deletion returns an empty response body and HTTP status 204 (No Content).

NOTE: For more information on using this operation, see the data types endpoint guide on Experience League.

Request
path Parameters
DATA_TYPE_ID
required
string

The meta:altId or URL-encoded $id of the data type in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
204

No content

404

Not found

500

Internal server error

delete/tenant/datatypes/{DATA_TYPE_ID}

Descriptors

Schema descriptors are tenant-level metadata used to provide interpretive details on how data based on certain schemas may relate or interact with one another.

List descriptors

Schemas define a static view of data entities, but do not provide specific details on how data based on these schemas (datasets) may relate to one another. Platform allows you to describe these relationships and other interpretive metadata about a schema through the use of descriptors.

Descriptors are tenant-level metadata for schemas, meaning they are unique to your IMS Organization and all descriptor operations take place in the tenant container.

Each schema can have one or more schema descriptor entities applied to it. Each schema descriptor entity includes a descriptor @type and the sourceSchema to which it applies. Once applied, these descriptors apply to all datasets created using the schema.

NOTE: For more information on using this operation, see the descriptors endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to list resources from. To list core resources provided by Adobe, use global. To list custom resources defined by your organization, use tenant.

query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. For example, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile returns only field groups that are compatible with the XDM Individual Profile class.

orderby
string

Sort response by specified fields separated by "," and/or prefix field with "-" for descending order. Used by the v2 option of the API, as indicated by the Accept header.

limit
number

Specify a limit for the number of response results to be displayed (must be between 0 and 500). Used by the v2 option of the API, as indicated by the Accept header.

start
string

The start value of the first orderBy field. The value of this parameter be the same data type as that of the orderBy field (e.g. strings or integers). Used by the v2 option of the API, as indicated by the Accept header.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. Descriptors require unique Accept headers using xdm instead of xed. The following values are permitted:

AcceptDescription
application/vnd.adobe.xdm-id+jsonReturns a list of descriptor IDs, grouped by their @type.
application/vnd.adobe.xdm-link+jsonReturns a list of descriptor API paths, grouped by their @type.
application/vnd.adobe.xdm+jsonReturns a list of descriptor objects, grouped by their @type.
application/vnd.adobe.xdm-v2{-id/-link}+jsonIncluding the -v2 option in any of the above Accept headers permits paging functionality, returning a results array with a _page attribute that can be used to request the next page if needed.
Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/descriptors
Response samples
application/json
{
  • "xdm:alternateDisplayInfo": [
    ],
  • "xdm:descriptorIdentity": [
    ],
  • "xdm:descriptorReferenceIdentity": [
    ],
  • "xdm:descriptorOneToOne": [
    ]
}

Retrieve a descriptor

View the details of a specific descriptor by performing a lookup (GET) request using the @id of the descriptor. Descriptors are not versioned, therefore no Accept header is required in the lookup request.

NOTE: For more information on using this operation, see the descriptors endpoint guide on Experience League.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to retrieve a resource from. To retrieve a core resource provided by Adobe, use global. To retrieve a custom resource defined by your organization, use tenant.

DESCRIPTOR_ID
required
string

The unique ID (@id) of the descriptor in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/descriptors/{DESCRIPTOR_ID}
Response samples
application/json
{
  • "@id": "8f52618ac104afa0da2b1d7c1cc8ac4a0da66a53",
  • "@type": "xdm:descriptorIdentity",
  • "xdm:sourceVersion": 1,
  • "xdm:sourceProperty": "/personalEmail/address",
  • "imsOrg": "{IMS_ORG}",
  • "version": "1",
  • "xdm:namespace": "Email",
  • "xdm:property": "xdm:code",
  • "xdm:isPrimary": true,
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "28e74200-e3de-11e9-8f5d-7f27416c5f0d",
  • "meta:sandboxType": "production",
  • "meta:registryMetadata": {
    }
}

Create a descriptor

You can create a new descriptor by making a POST request. The required request payload fields vary based on the @type of descriptor being defined. For details on the requirements for each descriptor type, refer to the section on defining descriptors on Experience League.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The required request payload fields vary based on the @type of descriptor being defined. For details on the requirements for each descriptor type, refer to the section on defining descriptors in the API guide.

@type
string

The descriptor type.

Enum: "xdm:alternateDisplayInfo" "xdm:descriptorIdentity" "xdm:descriptorReferenceIdentity" "xdm:descriptorOneToOne"
xdm:sourceSchema
string

The URI $id of the schema that this descriptor applies to.

xdm:sourceVersion
string

The latest major version of the sourceSchema.

xdm:sourceProperty
string

The path to the field within the sourceSchema that this descriptor applies to.

Responses
201

Success

400

Bad formatting

post/tenant/descriptors
Request samples
application/json
{}
Response samples
application/json
{
  • "@id": "557ab9db09a9451820c1dca6b8bc13473695ac63c56934eb",
  • "@type": "xdm:alternateDisplayInfo",
  • "xdm:sourceVersion": 1,
  • "xdm:sourceProperty": "/homeAddress",
  • "imsOrg": "{IMS_ORG}",
  • "version": "1",
  • "xdm:description": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "36ac3b60-e3df-11e9-8f5d-7f27416c5f0d",
  • "meta:sandboxType": "production"
}

Update a descriptor

You can update a descriptor by making a PUT request. This action essentially rewrites the existing descriptor, therefore the payload must include all fields that were required when the descriptor was first defined.

NOTE: For more information on using this operation, see the descriptors endpoint guide on Experience League.

Request
path Parameters
DESCRIPTOR_ID
required
string

The unique ID (@id) of the descriptor in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The required request payload fields vary based on the @type of descriptor being defined. For details on the requirements for each descriptor type, refer to the section on defining descriptors in the API guide.

@type
string

The descriptor type.

Enum: "xdm:alternateDisplayInfo" "xdm:descriptorIdentity" "xdm:descriptorReferenceIdentity" "xdm:descriptorOneToOne"
xdm:sourceSchema
string

The URI $id of the schema that this descriptor applies to.

xdm:sourceVersion
string

The latest major version of the sourceSchema.

xdm:sourceProperty
string

The path to the field within the sourceSchema that this descriptor applies to.

Responses
200

Success

400

Bad formatting

put/tenant/descriptors/{DESCRIPTOR_ID}
Request samples
application/json
{}
Response samples
application/json
{
  • "@id": "557ab9db09a9451820c1dca6b8bc13473695ac63c56934eb",
  • "@type": "xdm:alternateDisplayInfo",
  • "xdm:sourceVersion": 1,
  • "xdm:sourceProperty": "/homeAddress",
  • "imsOrg": "{IMS_ORG}",
  • "version": "1",
  • "xdm:description": {
    },
  • "meta:containerId": "tenant",
  • "meta:sandboxId": "36ac3b60-e3df-11e9-8f5d-7f27416c5f0d",
  • "meta:sandboxType": "production"
}

Delete a descriptor

NOTE: For more information on using this operation, see the descriptors endpoint guide on Experience League.

Request
path Parameters
DESCRIPTOR_ID
required
string

The unique ID (@id) of the descriptor in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
204

No content

403

Forbidden

404

Not found

delete/tenant/descriptors/{DESCRIPTOR_ID}

Unions

Union schemas aggregate the fields of all schemas that implement the same class (such as ExperienceEvent or Profile) into a single schema. They are used by Real-time Customer Profile to merge data together to form a "single source of truth" for an individual.

List union schemas

NOTE: For more information on using this operation, see the unions endpoint guide on Experience League.

Request
query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. For example, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile returns only field groups that are compatible with the XDM Individual Profile class.

orderby
string

Sort the listed resources by specified fields. For example orderby=title sorts results by title in ascending order (A-Z). Adding a - before the field name (orderby=-title) sorts items in descending order (Z-A). Multiple fields can also be included to denote primary and secondary sort orders (for example, orderby=title,description).

start
string

When used in conjunction with an orderby parameter, start specifies where the paginated list of items should begin. This parameter cannot be used without an orderby parameter present.

Typically, this parameter is omitted in order to obtain the first page of results. After that, start should be set to the maximum value of the primary sort property of the orderby field received in the previous page. The API response then returns entries beginning with those that have a primary sort property from orderby strictly greater than (for ascending) or strictly less than (for descending) the specified value.

For example, if the orderby parameter is set to orderby=name,firstname, the start parameter would contain a value for the name property. In this case, if you wanted to show the next 20 entries of a resource immediately following the name "Miller", you would use: ?orderby=name,firstname&start=Miller&limit=20.

limit
number

When used in conjunction with an orderby parameter, limit restricts the maximum number of items that should be returned for a given request. This parameter cannot be used without an orderby parameter present.

The limit parameter specifies a positive integer (between 0 and 500) as a hint as to the maximum number of items that should be returned. For example, limit=5 returns only five resources in the list. However, this value is not strictly honored. The actual response size may be smaller or larger as constrained by the need to provide the reliable operation of the start parameter, if one is provided.

header Parameters
Accept
required
string

The desired response format. For listing calls, the following Accept header values are permitted:

AcceptDescription
application/vnd.adobe.xed-id+jsonReturns a short summary of each resource, generally the preferred header for listing.
application/vnd.adobe.xed+jsonReturns full JSON for each resource, with the original $ref and allOf attributes included.
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
200

Success

400

Bad formatting

get/tenant/unions
Response samples
application/json
{}

Retrieve a union schema

NOTE: For more information on using this operation, see the unions endpoint guide on Experience League.

Request
path Parameters
UNION_ID
required
string

The meta:altId or URL-encoded $id of the union schema in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

400

Bad formatting

get/tenant/unions/{UNION_ID}
Response samples
application/json
{}

Export/Import

The Schema Registry API allows you to transfer and share XDM resources between sandboxes and IMS Organizations. For any schema, field group, or data type, you can generate an export payload containing the structure of the resource and any dependent resources. This payload can then be used to import the resource into a destination sandbox and IMS Org.

Retrieve an export payload

You can use this endpoint to retrieve an export payload for a specific resource in order to transfer it into a different sandbox or IMS Organization.

NOTE: For more information on using this operation, see the export and import endpoint guide on Experience League.

Request
path Parameters
RESOURCE_ID
required
string

The meta:altId or URL-encoded $id value of the schema, field group, or data type you want to export.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

404

Not found

get/rpc/export/{RESOURCE_ID}
Response samples
application/json
[]

Import a resource

Use an export payload to import a resource into a different sandbox or IMS Organization.

NOTE: For more information on using this operation, see the export/import endpoint guide on Experience League.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The unique ID ({IMS_ORG}) of the IMS Organization that you want to import the resource into.

x-sandbox-name
required
string

The name of the sandbox that you want to import the resource into. See the sandboxes overview documentation for more information.

Request Body schema: application/json

The payload returned by a GET /rpc/export/{RESOURCE_ID} call, indicating which schemas, field groups, and/or data types should be imported into the destination IMS Organization and sandbox.

Array
object
Responses
200

Success

400

Bad formatting

post/rpc/import
Request samples
application/json
[]
Response samples
application/json
[]

Sample data

You can generate sample data for any specified schema within the Schema Library. The response object returned can then be used as the source of dataset ingestion.

Retrieve sample data

Retrieve sample data for a schema.

NOTE: For more information on using this operation, see the sample data endpoint guide on Experience League.

Request
path Parameters
SCHEMA_ID
required
string

The meta:altId or URL-encoded $id value of the schema you want to generate sample data for.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

404

Not found

get/rpc/sampledata/{SCHEMA_ID}
Response samples
application/json
{}

Audit log

The Schema Registry maintains a log of all the changes that have occurred to a resource (class, field group, data type, or schema) between different updates.

Retrieve a resource's audit log

This endpoint retrieves a resource's audit log, which shows a list of all the changes made to the resource.

NOTE: For more information on using this operation, see the audit log endpoint guide on Experience League.

Request
path Parameters
RESOURCE_ID
required
string

The meta:altId or URL-encoded $id value of the resource whose changes you wish to view.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
200

Success

get/rpc/auditlog/{RESOURCE_ID}
Response samples
application/json
[]

Mixins (deprecated)

"Mixin" is the former term for a field group. The /mixins endpoints are deprecated and only maintained as legacy endpoints. For new implementations, please use the /fieldgroups endpoint instead.

List all mixinsDeprecated

NOTE: This endpoint is deprecated. For future implementations, please use the equivalent operation for the field groups endpoint instead.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to list resources from. To list core resources provided by Adobe, use global. To list custom resources defined by your organization, use tenant.

query Parameters
property
string

A comma-separated list of top-level object properties to be returned in the response. For example, property=meta:intendedToExtend==https://ns.adobe.com/xdm/context/profile returns only field groups that are compatible with the XDM Individual Profile class.

orderby
string

Sort the listed resources by specified fields. For example orderby=title sorts results by title in ascending order (A-Z). Adding a - before the field name (orderby=-title) sorts items in descending order (Z-A). Multiple fields can also be included to denote primary and secondary sort orders (for example, orderby=title,description).

start
string

When used in conjunction with an orderby parameter, start specifies where the paginated list of items should begin. This parameter cannot be used without an orderby parameter present.

Typically, this parameter is omitted in order to obtain the first page of results. After that, start should be set to the maximum value of the primary sort property of the orderby field received in the previous page. The API response then returns entries beginning with those that have a primary sort property from orderby strictly greater than (for ascending) or strictly less than (for descending) the specified value.

For example, if the orderby parameter is set to orderby=name,firstname, the start parameter would contain a value for the name property. In this case, if you wanted to show the next 20 entries of a resource immediately following the name "Miller", you would use: ?orderby=name,firstname&start=Miller&limit=20.

limit
number

When used in conjunction with an orderby parameter, limit restricts the maximum number of items that should be returned for a given request. This parameter cannot be used without an orderby parameter present.

The limit parameter specifies a positive integer (between 0 and 500) as a hint as to the maximum number of items that should be returned. For example, limit=5 returns only five resources in the list. However, this value is not strictly honored. The actual response size may be smaller or larger as constrained by the need to provide the reliable operation of the start parameter, if one is provided.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For listing calls, the following Accept header values are permitted:

AcceptDescription
application/vnd.adobe.xed-id+jsonReturns a short summary of each resource, generally the preferred header for listing.
application/vnd.adobe.xed+jsonReturns full JSON for each resource, with the original $ref and allOf attributes included.
Responses
200

Success

400

Bad formatting

get/{CONTAINER_ID}/mixins
Response samples
application/json
{
  • "results": [
    ],
  • "_page": {
    },
  • "_links": {
    }
}

Retrieve a mixinDeprecated

NOTE: This endpoint is deprecated. For future implementations, please use the equivalent operation for the field groups endpoint instead.

Request
path Parameters
CONTAINER_ID
required
string

The name of the container that you want to retrieve a resource from. To retrieve a core resource provided by Adobe, use global. To retrieve a custom resource defined by your organization, use tenant.

MIXIN_ID
required
string

The meta:altId or URL-encoded $id of the mixin in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Accept
required
string

The desired response format. For lookup requests, a version parameter must be included, with the following Accept header values being permitted:

AcceptDescription
application/vnd.adobe.xed+json; version=1Returns only the basic details of the resource, with all inherited fields relegated to $ref and allOf properties.
application/vnd.adobe.xed-full+json; version=1Returns the full details of the resource, including the details all fields inherited from other resources.
application/vnd.adobe.xed-notext+json; version=1Returns only the basic details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-notext+json; version=1Returns the full details of the resource, but with no titles or descriptions.
application/vnd.adobe.xed-full-desc+json; version=1Returns the full details of the resource, including descriptions but with no titles.
Responses
200

Success

404

Not found

406

Invalid Accept format

get/{CONTAINER_ID}/mixins/{MIXIN_ID}
Response samples
application/json
{
  • "meta:altId": "_xdm.context.profile-person-details",
  • "meta:resourceType": "mixins",
  • "version": "1.22.3",
  • "title": "Demographic Details",
  • "type": "object",
  • "description": "Demographic information such as name, gender, and birth date of an individual.",
  • "definitions": {
    },
  • "allOf": [],
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:intendedToExtend": [],
  • "meta:xdmType": "object",
  • "meta:status": "stable",
  • "meta:registryMetadata": {
    },
  • "meta:tags": {
    },
  • "meta:createdDate": "2020-08-10"
}

Create a new custom mixinDeprecated

NOTE: This endpoint is deprecated. For future implementations, please use the equivalent operation for the field groups endpoint instead.

Request
header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include a 'meta:intendedToExtend' field listing the '$id' of the class(es) with which the field group is compatible.

type
required
string

The JSON Schema data type for the field group. Must be set to object.

title
required
string

A title for the field group.

description
string

A description for the field group.

meta:intendedToExtend
required
Array of strings

Contains the $id value(s) of the class(es) that this field group is compatible with.

definitions
object

Describes the unique attributes provided by the field group that are not inherited from other XDM resources. Custom attributes must be nested under properties._{TENANT_ID} to avoid collisions with similar fields provided by classes and other field groups. For details on how to define different field types to include in your field group, see the field constraints guide.

Array of objects

A list of reference strings that determine the attributes that the field group provides. A string can refer to a custom field definition provided under the definitions object (e.g. #/definitions/property) or the $id of another field group or data type that this field group extends or employs.

Responses
201

Success

400

Bad formatting

post/tenant/mixins
Request samples
application/json
{
  • "type": "object",
  • "title": "Property Details",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ]
}
Response samples
application/json
{
  • "meta:altId": "_{TENANT_ID}.mixins.8779fd45d6e4eb074300023a439862bbba359b60d451627a",
  • "meta:resourceType": "mixins",
  • "version": "1.2",
  • "title": "Property Details",
  • "type": "object",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ],
  • "imsOrg": "{IMS_ORG}",
  • "meta:extensible": true,
  • "meta:abstract": true,
  • "meta:intendedToExtend": [],
  • "meta:xdmType": "object",
  • "meta:registryMetadata": {
    },
  • "meta:containerId": "tenant",
  • "meta:tenantNamespace": "_{TENANT_ID}"
}

Update a custom mixinDeprecated

NOTE: This endpoint is deprecated. For future implementations, please use the equivalent operation for the field groups endpoint instead.

Request
path Parameters
MIXIN_ID
required
string

The meta:altId or URL-encoded $id of the mixin in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The JSON payload must include all of the fields that were originally required for creating the field group, but with updated values. This includes an allOf attribute referencing the $id of the class the schema will implement.

type
required
string

The JSON Schema data type for the field group. Must be set to object.

title
required
string

A title for the field group.

description
string

A description for the field group.

meta:intendedToExtend
required
Array of strings

Contains the $id value(s) of the class(es) that this field group is compatible with.

definitions
object

Describes the unique attributes provided by the field group that are not inherited from other XDM resources. Custom attributes must be nested under properties._{TENANT_ID} to avoid collisions with similar fields provided by classes and other field groups. For details on how to define different field types to include in your field group, see the field constraints guide.

Array of objects

A list of reference strings that determine the attributes that the field group provides. A string can refer to a custom field definition provided under the definitions object (e.g. #/definitions/property) or the $id of another field group or data type that this field group extends or employs.

Responses
200

Success

400

Bad formatting

put/tenant/mixins/{MIXIN_ID}
Request samples
application/json
{
  • "type": "object",
  • "title": "Property Details",
  • "description": "Detailed information related to the properties owned and operated by the company.",
  • "definitions": {
    },
  • "allOf": [
    ]
}

Update custom mixinDeprecated

NOTE: This endpoint is deprecated. For future implementations, please use the equivalent operation for the field groups endpoint instead.

Request
path Parameters
MIXIN_ID
required
string

The meta:altId or URL-encoded $id of the mixin in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Content-Type
required
string

The type of content being sent in the body of the request. When sending requests that include payloads to the Schema Registry API, this header must be included with a value of application/json.

Request Body schema: application/json
required

The request body accepts a JSON Patch payload.

Array
op
required
string

The JSON Patch operation to be performed.

path
required
string

The path to the field that the operation should be performed on.

value
string

If adding or updating an attribute, this property indicates the value that should be set for that property.

Responses
200

Success

400

Bad formatting

patch/tenant/mixins/{MIXIN_ID}
Request samples
application/json
[
  • {
    }
]

Delete a custom mixinDeprecated

NOTE: This endpoint is deprecated. For future implementations, please use the equivalent operation for the field groups endpoint instead.

Request
path Parameters
MIXIN_ID
required
string

The meta:altId or URL-encoded $id of the mixin in question.

header Parameters
Authorization
required
string

The access token which can be copied from your Experience Platform integration, prefixed with "Bearer ". For more information on how to obtain this value, visit the authentication tutorial.

x-api-key
required
string

The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-gw-ims-org-id
required
string

The IMS Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the authentication tutorial.

x-sandbox-name
required
string

The name of the sandbox in which the operation will take place. See the sandboxes overview for more information.

Responses
204

No content

404

Not found

500

Internal server error

delete/tenant/mixins/{MIXIN_ID}