SystemObjectDefinitions resource (Data API 19.10)

Summary

Http Method Resource Description
GET /system_object_definitions Action to get all the system objects with no filtering.
GET /system_object_definitions/{object_type} Action to get system object information.
POST /system_object_definitions/{object_type}/attribute_definition_search

Searches the attribute definitions of the specified system object type.

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets. These are the list of searchable attributes with their corresponding buckets:

Main:

  • id - String
  • display_name* - Localized String
  • description* - Localized String
  • key - boolean
  • mandatory - boolean
  • searchable - boolean
  • system - boolean
  • visible - boolean

Definition version:

  • localizable - boolean
  • site_specific - boolean
  • value_type - one of {string, int, double, text, html, date, image, boolean, money, quantity, datetime, email, password, set_of_string, set_of_int, set_of_double, enum_of_string, enum_of_int}

Group:

  • group - String

Only attributes in the same bucket can be joined using a disjunction (OR). For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name and description can be joined using a disjunction because they are in the same bucket. If an attribute is used in a disjunction (OR) that violates this rule, an exception will be thrown.

* These attributes are not searchable or sortable for built in system attributes. They work normally for non system attributes.

Note that only searchable attributes can be used in sorting.

GET /system_object_definitions/{object_type}/attribute_definitions Action to get all the attribute definitions with no filtering.
GET /system_object_definitions/{object_type}/attribute_definitions/{id} Action to get attribute definition information.
PATCH /system_object_definitions/{object_type}/attribute_definitions/{id} Updates the attribute definition with the specified information. The request must include the If-Match header, which holds the last known base-point information. The value of this header is an "ETag" representing the attribute definition state. If the request does not contain an If-Match header with the current server customer "ETag", a 409 (IfMatchRequiredException) fault is returned. If the If-Match header does not match the current server attribute definition "ETag", a 412 (InvalidIfMatchException) fault is returned.
DELETE /system_object_definitions/{object_type}/attribute_definitions/{id} Deletes the attribute definition by ID
PUT /system_object_definitions/{object_type}/attribute_definitions/{id} Creates a attribute definition using the information provided.
POST /system_object_definitions/{object_type}/attribute_group_search

Searches for attribute groups.

The query attribute specifies a complex query that can be used to narrow down the search. These are the list of searchable attributes:

  • id - String
  • display_name - Localized<String>
  • description - Localized<String>
  • position - Double
  • internal - Boolean

The output of the query can also be sorted. These are the list of sortable attributes:

  • id - String
  • display_name - Localized<String>
  • description - Localized<String>
  • position - Double
  • internal - Boolean
GET /system_object_definitions/{object_type}/attribute_groups Action to get all the attribute groups with no filtering.
PUT /system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id} Assign an attribute definition to an attribute group.
DELETE /system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id} Un-assign an attribute definition from an attribute group.
GET /system_object_definitions/{object_type}/attribute_groups/{id} Action to get attribute group information.
PATCH /system_object_definitions/{object_type}/attribute_groups/{id} Updates the attribute group with the specified information. The request must include the If-Match header, which holds the last known base-point information. The value of this header is an "ETag" representing the attribute group state. If the request does not contain an If-Match header with the current server customer "ETag", a 409 (IfMatchRequiredException) fault is returned. If the If-Match header does not match the current server attribute group "ETag", a 412 (InvalidIfMatchException) fault is returned.
DELETE /system_object_definitions/{object_type}/attribute_groups/{id} Deletes the attribute group by ID
PUT /system_object_definitions/{object_type}/attribute_groups/{id} Creates a attribute group using the information provided. If a attribute group with the same unique identifier, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.

Get System Objects

Action to get all the system objects with no filtering.

Url

GET https://hostname:port/dw/data/v19_10/system_object_definitions?start={Integer}&count={Integer}&select={String}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Response Document

ObjectTypeDefinitions

Query Parameters

Parameter Type Description Constraints
count Integer Optional count for retrieving only a subset of the items (default is 25).  
select String The property selector.  
start Integer Optional start index for retrieving the items from a given index (default 0).  

Sample

REQUEST:
GET  /s/-/dw/data/v19_10/system_object_definitions?select=(**) HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Content-Type: application/json; charset=UTF-8

# in case of success:
 
RESPONSE:
HTTP/1.1 200 OK
Expires: Thu, 01-Aug-2014 00:00:00 GMT
{
  "_v" : "19.10",
  "count" : 2,
  "data" : [
    {
        "_v" : "19.10",
        "_type" : "system_object",
        "object_type" : "Product",
        "display_name" : {
          "default" : "Product"
        },
        "description" : {
          "default" : "Object type representing products."
        },
        "read_only" : false,
        "queryable" : false,
        "content_object": false,
        "attribute_definition_count" : 166,
        "attribute_group_count" : 5,
        "link" : "http://example.com/s/-/dw/data/v19_10/system_object_definitions/Product"
    },
    {
        "_v" : "19.10",
        "_type" : "system_object",
        "object_type" : "Content",
        "display_name" : {
          "default" : "Content"
        },
        "description" : {
          "default" : "Object type representing content assets."
        },
        "read_only" : false,
        "queryable" : false,
        "content_object": true,
        "attribute_definition_count" : 60,
        "attribute_group_count" : 3,
        "link" : "http://example.com/s/-/dw/data/v19_10/system_object_definitions/Content"
    }]
   "select": "**",
   "start" : 0,
   "total" : 2
}

Get System Object

Action to get system object information.

Url

GET https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Response Document

ObjectTypeDefinition

Path Parameters

Parameter Type Description Constraints
object_type String The id of the object type for the requested system object. minLength=1

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
404 SystemObjectNotFoundException

systemobjectId (String)

Thrown in case the system object does not exist matching the given objectType

Sample

REQUEST:
GET  /s/-/dw/data/v19_10/system_object_definitions/Product HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Content-Type: application/json; charset=UTF-8

# in case of success:
 
RESPONSE:
HTTP/1.1 200 OK
Expires: Thu, 01-Aug-2014 00:00:00 GMT
x-dw-resource-state: 43c2d7a118bd0a4034399ed86c86654b40c198ea64fd3195e5587d9211d10d7e
{
   "_v" : "19.10",
   "_type" : "system_object",
   "object_type" : "Product",
   "display_name" : {
      "default" : "Product"
   },
   "description" : {
      "default" : "Object type representing products."
   },
   "read_only" : false,
   "queryable" : false,
   "content_object": false,
   "attribute_definition_count" : 166,
   "attribute_group_count" : 5,
   "link" : "http://example.com/s/-/dw/data/v19_10/system_object_definitions/Product"
}

# in case of failure:
 
RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
   "_type":"fault",
  "fault":{
    "type":"ObjectTypeNotFoundException",
    "message":"No object type with ID 'Product2' was found."
  }
}

Search Attribute Definitions

Searches the attribute definitions of the specified system object type.

The query attribute specifies a complex query that can be used to narrow down the search. Attributes are grouped into different buckets. These are the list of searchable attributes with their corresponding buckets:

Main:

Definition version:

Group:

Only attributes in the same bucket can be joined using a disjunction (OR). For instance, when joining localizable and description above, only a conjunction is allowed (AND), whereas display_name and description can be joined using a disjunction because they are in the same bucket. If an attribute is used in a disjunction (OR) that violates this rule, an exception will be thrown.

* These attributes are not searchable or sortable for built in system attributes. They work normally for non system attributes.

Note that only searchable attributes can be used in sorting.

Url

POST https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_definition_search

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Request Document

SearchRequest

Response Document

ObjectAttributeDefinitionSearchResult

Path Parameters

Parameter Type Description Constraints
object_type String The object type id that contains these definitions mandatory=true

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 MalformedSearchParameterException   Indicates the query is ill-formed.
404 ObjectTypeNotFoundException

objectType (String)

in case the object type does not match an existing system type

Sample

REQUEST:
POST /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definition_search HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Accept: application/json

{
    "query" : {
        "text_query": {
            "fields": ["id", "description"],
            "search_phrase": "my"
        }
    },
    "select" : "(**)"
}

RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8

{
  "_v" : "19.10",
  "count" : 2,
  "hits" : [
    {
       "_resource_state":"c2309jd239jdrifj3ui4fn",
       "description": {
            "default": "Description",
            "es": "mia description"
       },
       "display_name": {
            "default": "default name",
            "es": "nombre"
       },
       "key": false,
       "id" : "my-attributedefinition1",
       "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/my-attributedefinition1",
       "localizable": true,
       "mandatory": false,
       "queryable": true,
       "searchable": false,
       "system": false,
       "site_specific": false,
       "value_type": "string",
       "visible": false
    },
    {
       "_resource_state":"kg84rcsxc873bf38c7uh34",
       "display_name": {
            "default": "second name",
            "fr": "non de plume"
       },
       "key": true,
       "id" : "my-attributedefinition2",
       "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/my-attributedefinition2",
       "localizable": true,
       "mandatory": true,
       "queryable": true,
       "searchable": true,
       "system": false,
       "site_specific": false,
       "value_type": "string",
       "visible": true
    }
  ],
  "query" : { "text_query": { "fields": ["id", "description"], "search_phrase": "my" } },
  "select": "**",
  "start" : 0,
  "total" : 2
}

Get Attribute Definitions

Action to get all the attribute definitions with no filtering.

Url

GET https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_definitions?start={Integer}&count={Integer}&select={String}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Response Document

ObjectAttributeDefinitions

Path Parameters

Parameter Type Description Constraints
object_type String   mandatory=true

Query Parameters

Parameter Type Description Constraints
count Integer Optional count for retrieving only a subset of the items (default is 25).  
select String The property selector.  
start Integer Optional start index for retrieving the items from a given index (default 0).  

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
404 ObjectTypeNotFoundException

objectType (String)

in case the object type does not match an existing system type

Sample

REQUEST:
GET /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions?select=(**) HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Accept: application/json

RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8
{
  "_v" : "19.10",
  "count" : 2,
  "data" : [{
        "_v" : "19.10",
        "description": {
            "default": "Description",
            "es": "mia description"
        },
        "display_name": {
            "default": "default name",
            "es": "nombre"
        },
        "key": false,
        "id": "MyAttributeDefinition"
        "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition",
        "localizable": true,
        "mandatory": false,
        "queryable": true,
        "searchable": false,
        "site_specific": false,
        "system": false,
        "value_type": "string",
        "visible": false
    },
    {
        "_v" : "19.10",
        "display_name": {
            "default": "color"
        },
        "key": false,
        "id": "color"
        "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/color",
        "localizable": false,
        "mandatory": false,
        "queryable": true,
        "searchable": false,
        "site_specific": false,
        "system": false,
        "value_type": "string",
        "visible": true
    }],
    "select": "**",
    "start" : 0,
    "total" : 2
}

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
   "_type":"fault",
  "fault":{
    "type":"ObjectTypeNotFoundException",
    "message":"No object type with ID 'Product2' was found."
  }
}

Get Attribute Definition

Action to get attribute definition information.

Url

GET https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_definitions/{id}?select={String}&expand={String}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Response Document

ObjectAttributeDefinition

Path Parameters

Parameter Type Description Constraints
id String The id of the requested attribute definition. minLength=1
object_type String The object type id that contains these definitions mandatory=true

Query Parameters

Parameter Type Description Constraints
expand String The expansion "value" is available to retrieve value definitions of the attribute definition.  
select String The selector for the get. If not passed, then the defaultSelector will be used instead.  

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
404 ObjectTypeNotFoundException

objectType (String)

in case the object type does not match an existing system type
404 AttributeDefinitionNotFoundException

attributeDefinitionId (String)

objectDefinitionId (String)

Thrown in case the attribute definition does not exist matching the given id

Sample

REQUEST:
GET /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Accept: application/json

RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8

{
    "_v" : "19.10",
    "description": {
        "default": "Description",
        "es": "mia description"
    },
    "display_name": {
        "default": "default name",
        "es": "nombre"
    },
    "key": false,
    "id": "MyAttributeDefinition"
    "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition",
    "localizable": true,
    "mandatory": false,
    "queryable": true,
    "searchable": false,
    "site_specific": false,
    "system": false,
    "value_type": "string",
    "visible": false
}

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
   "_type":"fault",
  "fault":{
    "type":"AttributeDefinitionNotFoundException",
    "message":"No attribute definition with ID 'MyAttributeDefinition' was found."
  }
}

Update Attribute Definition

Updates the attribute definition with the specified information. The request must include the If-Match header, which holds the last known base-point information. The value of this header is an "ETag" representing the attribute definition state. If the request does not contain an If-Match header with the current server customer "ETag", a 409 (IfMatchRequiredException) fault is returned. If the If-Match header does not match the current server attribute definition "ETag", a 412 (InvalidIfMatchException) fault is returned.

Url

PATCH https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_definitions/{id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Request Document

ObjectAttributeDefinition

Response Document

ObjectAttributeDefinition

Path Parameters

Parameter Type Description Constraints
id String The id of the requested attribute definition. minLength=1
object_type String The object type id that contains these definitions mandatory=true

Header Parameters

Parameter Type Description Constraints
If-Match String must match the last eTag  

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 AttributeDefinitionReadOnlyException

objectType (String)

attributeDefinitionId (String)

Thrown when trying to modify a read-only field of an internal attribute definition
404 AttributeDefinitionNotFoundException

attributeDefinitionId (String)

objectDefinitionId (String)

Thrown in case the attribute definition does not exist matching the given id
404 ObjectTypeNotFoundException

objectType (String)

Thrown in case the object type cannot be found

Sample

REQUEST:
PATCH /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
x-dw-resource-state: 860cde3040519cce439cd99e209f8a87c3ad0b7e2813edbf6f5501f763b73bd5

{
    "description": {
        "default": "Modified Description",
        "sp": "mia description"
    },
    "display_name": {
        "default": "default name",
        "sp": "nombre primero"
    },
    "searchable": true,
    "visible": true
}
# in case of success:

RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8
x-dw-resource-state: 860cde3040519cce439cd99e209f8a87c3ad0b7e2813edbf6f5501f763b73bd5
{
   "_v" : "19.10",
   "description": {
      "default": "Modified Description",
      "sp": "mia description"
  },
  "display_name": {
      "default": "default name",
      "sp": "nombre primero"
  },
  "id": "MyAttributeDefinition",
  "key": false,
  "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition",
  "localizable": true,
  "mandatory": false,
  "queryable": true,
  "searchable": true,
  "site_specific": false,
  "system": false,
  "value_type": "string",
  "visible": true
}

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
   "_type":"fault",
  "fault":{
    "type":"AttributeDefinitionNotFoundException",
    "message":"No attribute definition with ID 'MyAttributeDefinition' was found."
  }
}

Delete Attribute Definition

Deletes the attribute definition by ID

Url

DELETE https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_definitions/{id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Path Parameters

Parameter Type Description Constraints
id String Attribute definition id to remove minLength=1, nullable=false
object_type String The metadata object that contains these definitions mandatory=true

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 AttributeDefinitionReadOnlyException

objectType (String)

attributeDefinitionId (String)

Thrown when trying to delete an internal attribute definition
404 ObjectTypeNotFoundException

objectType (String)

Thrown in case the object type cannot be found
404 AttributeDefinitionNotFoundException

attributeDefinitionId (String)

objectDefinitionId (String)

Thrown in case the attribute definition cannot be found

Sample

REQUEST:
DELETE /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Content-Type: application/json; charset=UTF-8

# in case of success:

RESPONSE:
HTTP/1.1 204 No Content

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
   "_type":"fault",
  "fault":{
    "type":"AttributeDefinitionNotFoundException",
    "message":"No attribute definition with ID 'MyAttributeDefinition' was found."
  }
}

Create Attribute Definition

Creates a attribute definition using the information provided.

Url

PUT https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_definitions/{id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Request Document

ObjectAttributeDefinition

Response Document

ObjectAttributeDefinition

Path Parameters

Parameter Type Description Constraints
id String The id of the attribute definition to create. mandatory=true, nullable=false
object_type String The metadata object that contains these definitions mandatory=true

Header Parameters

Parameter Type Description Constraints
x-dw-validate-existing Boolean    

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 AttributeDefinitionCreateException

attributeDefinitionId (String)

if the attribute definition could not be created.
400 AttributeDefinitionReadOnlyException

objectType (String)

attributeDefinitionId (String)

Thrown when trying to create an internal attribute definition
400 AttributeDefinitionDuplicateException

attributeDefinitionId (String)

if a attribute definition exists already with the given attribute definition id.
400 IdConflictException

bodyID (String)

urlID (String)

if the Id in request is not the same as the ID in document.
404 ObjectTypeNotFoundException

objectType (String)

Thrown in case the object type cannot be found

Sample

REQUEST:
PUT /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Accept: application/json

{
    "description": {
        "default": "Description",
        "es": "mia description"
    },
    "display_name": {
        "default": "default name",
        "es": "nombre"
    },
    "key": false,
    "localizable": true,
    "mandatory": false,
    "searchable": false,
    "site_specific": false,
    "value_type": "string",
    "visible": false
}

RESPONSE:
HTTP/1.1 201 CREATED
Location: https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition
Content-Length: 67
Content-Type: application/json; charset=UTF-8

{
    "_v" : "19.10",
    "description": {
        "default": "Description",
        "es": "mia description"
    },
    "display_name": {
        "default": "default name",
        "es": "nombre"
    },
    "id": "MyAttributeDefinition",
    "key": false,
    "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_definitions/MyAttributeDefinition",
    "localizable": true,
    "mandatory": false,
    "queryable": true,
    "searchable": false,
    "site_specific": false,
    "system": false,
    "value_type": "string",
    "visible": false
}

Search Attribute Groups

Searches for attribute groups.

The query attribute specifies a complex query that can be used to narrow down the search. These are the list of searchable attributes:

The output of the query can also be sorted. These are the list of sortable attributes:

Url

POST https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_group_search

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Request Document

SearchRequest

Response Document

ObjectAttributeGroupSearchResult

Path Parameters

Parameter Type Description Constraints
object_type String   mandatory=true

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 MalformedSearchParameterException   Thrown if the query is ill-formed.

Sample

REQUEST:
POST /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_group_search HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Accept: application/json

{
    "query" : {
        "text_query": {
            "fields": ["id", "description"],
            "search_phrase": "my"
        }
    },
    "select" : "(**)"
}

RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8

{
  "_v" : "19.10",
  "count" : 2,
  "hits" : [
    {
       "_resource_state":"c2309jd239jdrifj3ui4fn",
       "id" : "my-attributegroup1",
       "display_name" : {
          "default" : "my-display_name",
          "en" : "An English my-display_name",
          "de" : "A German my-display_name"
       },
       "description" : {
          "default" : "my-description",
          "en" : "An English my-description",
          "de" : "A German my-description"
       },
       "position" : 1.0,
       "internal" : false,
       "definitions_count" : 5,
       "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup1"
    },
    {
       "_resource_state":"ag034f32ndv874hf98c934",
       "id" : "my-attributegroup2",
       "display_name" : {
          "default" : "my-display_name"
       },
       "position" : 2.0,
       "internal" : false,
       "definitions_count" : 12,
       "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup2"
    }
  ],
  "query" : { "text_query": { "fields": ["id", "description"], "search_phrase": "my" } },
  "select": "**",
  "start" : 0,
  "total" : 2
}

Get Attribute Groups

Action to get all the attribute groups with no filtering.

Url

GET https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_groups?start={Integer}&count={Integer}&select={String}&expand={String}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Response Document

ObjectAttributeGroups

Path Parameters

Parameter Type Description Constraints
object_type String   mandatory=true

Query Parameters

Parameter Type Description Constraints
count Integer Optional count for retrieving only a subset of the items (default is 25).  
expand String    
select String The property selector.  
start Integer Optional start index for retrieving the items from a given index (default 0).  

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
404 ObjectTypeNotFoundException

objectType (String)

in case the object type does not match an existing system type

Sample

REQUEST:
GET  /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups?select=(**) HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Content-Type: application/json; charset=UTF-8

# in case of success:
 
RESPONSE:
HTTP/1.1 200 OK
Expires: Thu, 01-Aug-2014 00:00:00 GMT
{
  "_v" : "19.10",
  "count" : 2,
  "data" : [{
       "_v" : "19.10",
       "id" : "my-attributegroup",
       "display_name" : {
          "default" : "my-display_name",
          "en" : "An English my-display_name",
          "de" : "A German my-display_name"
       },
       "description" : {
          "default" : "my-description",
          "en" : "An English my-description",
          "de" : "A German my-description"
       },
       "position" : 1.0,
       "internal" : false,
       "definitions_count" : 17,
       "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup"
    },
    {
       "_v" : "19.10",
       "id" : "my-attributegroup2",
       "display_name" : {
          "default" : "my-display_name2"
       },
       "description" : {
          "default" : "my-description2"
       },
       "position" : 2.0,
       "internal" : false,
       "definitions_count" : 5,
       "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup2"
    }],
    "select": "**",
    "start" : 0,
    "total" : 2
}

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
   "_type":"fault",
  "fault":{
    "type":"ObjectTypeNotFoundException",
    "message":"No object type with ID 'Product2' was found."
  }
}

Assign Attribute Definition to Attribute Group

Assign an attribute definition to an attribute group.

Url

PUT https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Path Parameters

Parameter Type Description Constraints
def_id String The ID of the attribute definition. minLength=1
group_id String The ID of the attribute group. minLength=1
object_type String The ID of the system object that contains the attribute definition and attribute group. mandatory=true

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
404 ObjectTypeNotFoundException

objectType (String)

Indicates the specified system object is not found.
404 AttributeGroupNotFoundException

attributeGroupId (String)

Indicates the specified attribute group is not found.
404 AttributeDefinitionNotFoundException

attributeDefinitionId (String)

objectDefinitionId (String)

Indicates the specified attribute definition is not found.

Sample

REQUEST:
PUT /s/-/dw/data/v19_10/system_object_definitions/my-object/attribute_groups/my-attributegroup/attribute_definitions/my-attributedef HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367

# in case of success:

RESPONSE:
HTTP/1.1 204 No Content
Content-Length: 67

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"ObjectTypeNotFoundException",
    "message":"No object type with ID 'my-object' was found."
  }
}

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeGroupNotFoundException",
    "message":No attribute group with ID 'my-attributegroup' was found.
  }
}

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeDefinitionNotFoundException",
    "message":"No attribute definition with ID 'my-attributedef' for object 'my-object' was found.
  }
}

Un-assign Attribute Definition from Attribute Group

Un-assign an attribute definition from an attribute group.

Url

DELETE https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_groups/{group_id}/attribute_definitions/{def_id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Path Parameters

Parameter Type Description Constraints
def_id String The ID of the attribute definition. minLength=1
group_id String The ID of the attribute group. minLength=1
object_type String The ID of the system object that contains the attribute definition and attribute group. mandatory=true

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
404 ObjectTypeNotFoundException

objectType (String)

Indicates the specified system object is not found.
404 AttributeGroupNotFoundException

attributeGroupId (String)

Indicates the specified attribute group is not found.
404 AttributeDefinitionNotFoundException

attributeDefinitionId (String)

objectDefinitionId (String)

Indicates the specified attribute definition is not found.

Sample

REQUEST:
DELETE /s/-/dw/data/v19_10/system_object_definitions/my-object/attribute_groups/my-attributegroup/attribute_definitions/my-attributedef HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367

# in case of success:

RESPONSE:
HTTP/1.1 204 No Content
Content-Length: 67

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"ObjectTypeNotFoundException",
    "message":"No object type with ID 'my-object' was found."
  }
}

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeGroupNotFoundException",
    "message":No attribute group with ID 'my-attributegroup' was found.
  }
}

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeDefinitionNotFoundException",
    "message":"No attribute definition with ID 'my-attributedef' for object 'my-object' was found.
  }
}

Get Attribute Group

Action to get attribute group information.

Url

GET https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_groups/{id}?select={String}&expand={String}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Response Document

ObjectAttributeGroup

Path Parameters

Parameter Type Description Constraints
id String The id of the requested attribute group. minLength=1
object_type String the object type id that contains this attribute group mandatory=true

Query Parameters

Parameter Type Description Constraints
expand String    
select String    

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
404 ObjectTypeNotFoundException

objectType (String)

in case the object type does not match an existing system type
404 AttributeGroupNotFoundException

attributeGroupId (String)

Thrown in case the attribute group does not exist matching the given id

Sample

REQUEST:
GET  /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
Content-Type: application/json; charset=UTF-8

# in case of success:
 
RESPONSE:
HTTP/1.1 200 OK
Expires: Thu, 01-Aug-2014 00:00:00 GMT
x-dw-resource-state: 43c2d7a118bd0a4034399ed86c86654b40c198ea64fd3195e5587d9211d10d7e
{
   "_v" : "19.10",
   "id" : "my-attributegroup",
   "display_name" : {
      "default" : "my-display_name",
      "en" : "An English my-display_name",
      "de" : "A German my-display_name"
   },
   "description" : {
      "default" : "my-description",
      "en" : "An English my-description",
      "de" : "A German my-description"
   },
   "position" : 1.0,
   "internal" : false,
   "definitions_count" : 17,
   "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup"
}

# in case of failure:
 
RESPONSE:
HTTP/1.1 404 Not Found
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeGroupNotFoundException",
    "message":"No attribute group with ID 'my-attributegroup' was found."
  }
}

Update Attribute Group

Updates the attribute group with the specified information. The request must include the If-Match header, which holds the last known base-point information. The value of this header is an "ETag" representing the attribute group state. If the request does not contain an If-Match header with the current server customer "ETag", a 409 (IfMatchRequiredException) fault is returned. If the If-Match header does not match the current server attribute group "ETag", a 412 (InvalidIfMatchException) fault is returned.

Url

PATCH https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_groups/{id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Request Document

ObjectAttributeGroup

Response Document

ObjectAttributeGroup

Path Parameters

Parameter Type Description Constraints
id String The id of the requested attribute group. minLength=1
object_type String the object type id that contains this attribute gorup mandatory=true

Header Parameters

Parameter Type Description Constraints
If-Match String must match the last eTag  

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 AttributeGroupReadOnlyException

objectType (String)

attributeGroupId (String)

Thrown when trying to modify an attribute of a field of an attribute group that is read only
404 AttributeGroupNotFoundException

attributeGroupId (String)

Thrown in case the attribute group does not exist matching the given id

Sample

REQUEST:
PATCH  /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
x-dw-resource-state: 860cde3040519cce439cd99e209f8a87c3ad0b7e2813edbf6f5501f763b73bd5

{
   "display_name" : {
      "default" : "my-display_name",
      "en" : "An English my-display_name",
      "de" : "A German my-display_name"
   },
   "description" : {
      "default" : "my-description",
      "en" : "An English my-description",
      "de" : "A German my-description"
   },
   "position" : 11.0,
   "internal" : false
}
# in case of success:

RESPONSE:
HTTP/1.1 200 OK
Content-Length: 67
Content-Type: application/json; charset=UTF-8
x-dw-resource-state: 860cde3040519cce439cd99e209f8a87c3ad0b7e2813edbf6f5501f763b73bd5
{
   "_v" : "19.10",
   "id" : "my-attributegroup",
   "display_name" : {
      "default" : "my-display_name",
      "en" : "An English my-display_name",
      "de" : "A German my-display_name"
   },
   "description" : {
      "default" : "my-description",
      "en" : "An English my-description",
      "de" : "A German my-description"
   },
   "position" : 11.0,
   "internal" : false,
   "definitions_count" : 17,
   "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup"
}

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeGroupNotFoundException",
    "message":"No attribute group with ID 'my-attributegroup' was found."
  }
}

Delete Attribute Groups

Deletes the attribute group by ID

Url

DELETE https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_groups/{id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Path Parameters

Parameter Type Description Constraints
id String One attribute group id to remove  
object_type String the object type id that contains this attribute gorup mandatory=true

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 AttributeGroupReadOnlyException

objectType (String)

attributeGroupId (String)

Thrown when trying to delete an internal attribute group
404 ObjectTypeNotFoundException

objectType (String)

Thrown in case the object type cannot be found
404 AttributeGroupNotFoundException

attributeGroupId (String)

Thrown in case the attribute group cannot be found

Sample

REQUEST:
DELETE /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367

# in case of success:

RESPONSE:
HTTP/1.1 204 No Content

# in case of failure:

RESPONSE:
HTTP/1.1 404 Not Found
Expires: Thu, 01-Jan-1970 00:00:00 GMT
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeGroupNotFoundException",
    "message":"No attribute group with ID 'my-attributegroup' was found."
  }
}

Create Attribute Group

Creates a attribute group using the information provided. If a attribute group with the same unique identifier, it will be deleted and a new one will be created unless the header x-dw-validate-existing=true is passed in with the request.

Url

PUT https://hostname:port/dw/data/v19_10/system_object_definitions/{object_type}/attribute_groups/{id}

Formats

json, xml

Authentication

Name Description
OAuth Authentication via OAuth token.

Request Document

ObjectAttributeGroup

Response Document

ObjectAttributeGroup

Path Parameters

Parameter Type Description Constraints
id String The id of the attribute group to create. minLength=1
object_type String the object type id that contains this attribute gorup mandatory=true

Header Parameters

Parameter Type Description Constraints
x-dw-validate-existing Boolean if true, and a attribute group already exists, will throw a AttributeGroupDuplicateException.  

In case of a failure Fault Document is returned.

Faults

Status Type Arguments Description
400 AttributeGroupReadOnlyException

objectType (String)

attributeGroupId (String)

Thrown when trying to create an internal attribute group
400 AttributeGroupDuplicateException

attributeGroupId (String)

if a attribute group exists already in the site with the given identifier and the header x-dw-validate-existing=true is passed in with the request.

Sample

REQUEST:
PUT /s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my_attributegroup HTTP/1.1
Host: example.com
Authorization: Bearer a5b6eb0d-8312-41a3-88f3-2c53c4507367
{
   "_v" : "19.10",
   "id" : "attributegroup1",
   "display_name" : {
      "default" : "my-display_name",
      "en" : "An English my-display_name",
      "de" : "A German my-display_name"
   },
   "description" : {
      "default" : "my-description",
      "en" : "An English my-description",
      "de" : "A German my-description"
   },
   "position" : 1.0,
}

# in case of success:

RESPONSE:
HTTP/1.1 201 CREATED
Location: https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my_attributegroup
Content-Length: 67
Content-Type: application/json; charset=UTF-8
x-dw-resource-state: 860cde3040519cce439cd99e209f8a87c3ad0b7e2813edbf6f5501f763b73bd5
{
   "_v" : "19.10",
   "id" : "attributegroup1",
   "display_name" : {
      "default" : "my-display_name",
      "en" : "An English my-display_name",
      "de" : "A German my-display_name"
   },
   "description" : {
      "default" : "my-description",
      "en" : "An English my-description",
      "de" : "A German my-description"
   },
   "position" : 1.0,
   "internal" : true,
   "definitions_count" : 0,
   "link" : "https://example.com/s/-/dw/data/v19_10/system_object_definitions/Product/attribute_groups/my-attributegroup"
}

# in case of failure:

RESPONSE:
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Cache-Control: max-age=0,no-cache,no-store,must-revalidate
{
  "_v":"19.10",
  "fault":{
    "type":"AttributeGroupCreateException",
    "message":"The attribute group with ID 'my-attributegroup' could not be created.
  }
}