Examples (Catalog)

See https://crossmedia.atlassian.net/wiki/spaces/WD/pages/2214264841

These examples are not valid for legacy services.

Example

GET https://club-wed.wedia-group.com/api/rest/dam

Get the service DAM catalog.

Code examples

The following examples are given with a Basic authentication with bogus credentials.

HTTP

GET /api/rest/dam HTTP/1.1 Authorization: Basic ZGVtbzpkZW1vcHdk Host: club-wed.wedia-group.com

cURL

curl --request GET --url 'https://club-wed.wedia-group.com/api/rest/dam' --header 'Authorization: Basic ZGVtbzpkZW1vcHdk'

JavaScript/fetch

fetch("https://club-wed.wedia-group.com/api/rest/dam", { "method": "GET", "headers": { "Authorization": "Basic ZGVtbzpkZW1vcHdk" } }) .then(response => { console.log(response); }) .catch(err => { console.error(err); });

JavaScript/XMLHttpRequest

Java/Unirest (Basic)

Python/Request

Response sample

Since the response may vary depending on the state of the data, the query parameters, the resource configuration, and the data model, a response is presented here that may be somewhat different from what you will get in your implementation. Not all sections are documented here for the same reasons. The debug sections in particular are not documented on this page.

Response

This documentation describes all the exposable properties. The documentation of the API (ReDoc or SwaggerUI) of the usage environment is more specific to the environment and will detail the information actually exposed on it.

JSON Path

The path to the property

Type*

Type of information

JSON Type

The type of the value

Description

The description of the value

Presence

When this property is exposed

Comment

JSON Path

The path to the property

Type*

Type of information

JSON Type

The type of the value

Description

The description of the value

Presence

When this property is exposed

Comment

$

STRUCT

Object

The response for end point invocation (root)

Always

 

$.response

STRUCT

Object

Data specific to the call for service response

Always

 

$.version

TECH

String

Version of the API end point

Always

 

$.apiversion

TECH

String

Version of the API

Always

 

$.response.count

AGPG

Number

The number of resource names in this response

 Always

 

$.response.total

AGPG

Number

The total number of resource corresponding to the request

 Always

 

$.response.data

STRUCT

Array of objects

List of resource descriptions

Always

 

 

For each resource type, you’ll get these properties

JSON Path

The path to the property

Type*

Type of information

JSON Type

The type of the value

Description

The description of the value

Presence

When this property is exposed

Comment

JSON Path

The path to the property

Type*

Type of information

JSON Type

The type of the value

Description

The description of the value

Presence

When this property is exposed

Comment

$.response.data.[*].resource

META

String

Name of resource type

Always

 

$.response.data.[*].name

DATA

String

Localized name of resource type

Always

 

$.response.data.[*].tree

DATA

Boolean

True if the resource type is a tree

Always

 

$.response.data.[*].read

DATA

Boolean

True if get resource by identifier is allowed for this resource type

Always

This is the data titled Technical description in the configuration of the data structure

$.response.data.[*].list

DATA

Boolean

True if get resource list is allowed for this resource type

Always

 

$.response.data.[*].update

DATA

Boolean

True is updating resource is allowed

Always

 

$.response.data.[*].create

DATA

Boolean

True is creating resource is allowed

Always

 

$.response.data.[*].createOrUpdate

DATA

Boolean

True is “create or update” mode is enabled for this resource type

Always

 

$.response.data.[*].delete

DATA

Boolean

True if deleting resource is allowed

Always

 

$.response.data.[*].workflow

DATA

Boolean

True if workflow handling is allowed

Always

 

$.response.data.[*].workcopy

DATA

Boolean

True if this resource type supports workcopy

Always

 

$.response.data.[*].damAsset

META

Boolean

True if this resource type is a library

Only for service type DAM

 

$.response.data.[*].damType

META

String

The dam type

Only for service type DAM

 

$.response.data.[*].description

META

String

Resource description

Always (could be null)

 

$.response.data.[*].headers

STRUCT

Object

Describe the resource

Always

 

$.response.data.[*].headers.<prop>

DATA

Object

Describe a property of the resource

Always

 

For each resource type properties, you’ll get these properties:

JSON Path

The path to the property

Type*

Type of information

JSON Type

The type of the value

Description

The description of the value

Presence

When this property is exposed

Comment

JSON Path

The path to the property

Type*

Type of information

JSON Type

The type of the value

Description

The description of the value

Presence

When this property is exposed

Comment

$.response.data.[*].headers.<prop>.name

DATA

String

Localized name of the property

Always

 

$.response.data.[*].headers.<prop>.taborder

DATA

Number (int)

Tab order

Always

 

$.response.data.[*].headers.<prop>.exported

DATA

Boolean

True if this property is present in the resource when a list is requested or accessed by identifier

Always

 

$.response.data.[*].headers.<prop>.indexed

DATA

Boolean

True if this property is indexed for a fulltext search

Always

 

$.response.data.[*].headers.<prop>.type

DATA

String

Type of the value of the property (see below)

Always

 

$.response.data.[*].headers.<prop>.tree

DATA

Boolean

True if the linked resource is a tree

Only for a link to another resource

 

$.response.data.[*].headers.<prop>.cluster

DATA

Boolean

True if the linked resource is a cluster

Only for a collection link to another resource

 

$.response.data.[*].headers.<prop>.href

DATA

String

An URI to get the list of values

Only for a link to another resource

 

$.response.data.[*].headers.<prop>.properties

DATA

Object

The description of the properties of the linked resource, in the same syntax (than $.response.data.[*].headers), recursively

Only for a link to another resource

 

$.response.data.[*].headers.<prop>.text

DATA

Boolean

True if the value is of text type (long text/plain text, html, json…)

Only for string property

 

$.response.data.[*].headers.<prop>.texttype

DATA

String

The text type (see below)

Only for text property

 

$.response.data.[*].headers.<prop>.replaceCR

DATA

Boolean

true if CR must be replaced with <BR> in lists

Only for text property

 

$.response.data.[*].headers.<prop>.html

DATA

Boolean

true if text property contains HTML

Only for text property

 

$.response.data.[*].headers.<prop>.json

DATA

Boolean

true if json is exported as json (false if json is exported a string)

Only for text property, if textype is “json”

 

$.response.data.[*].headers.<prop>.maxlength

DATA

Number

The max length for a string property (if the value is -1, there is no maxlength, or it could not be determined)

Only for text property

 

$.response.data.[*].headers.<prop>.nullIfEmpty

DATA

Boolean

true if the value empty is stored as null

Only for text property

 

$.response.data.[*].headers.<prop>.group

META

Object or null

Describes the group of properties that contains this property.

Always (null for the first group, or if there isn’t any groups)

 This can be used to define separators in a list of fields, or group fields in a tab, for example.

$.response.data.[*].headers.<prop>.group.id

META

String

ID of group

If group is not null

 

$.response.data.[*].headers.<prop>.group.name

META

String

A label (localized) for the group

If group is not null

This can be used as label for the separator, or title for the tab

$.response.data.[*].headers.<prop>.cud

META

Object

Describes the possibilities within the framework of the creations, modifications and deletions of the resource, or of the linked resource

Always

The inner properties are available only if the resource could be created or modified 

$.response.data.[*].headers.<prop>.cud.key

META

String

N/A

N/A

 

$.response.data.[*].headers.<prop>.cud.update

META

Boolean

True if this property can be modified (or set when creating a resource)

Only if resource could be modified or created

 

$.response.data.[*].headers.<prop>.cud.create

META

Boolean

True if the linked resource could be created within this resource creation or modification services

For linked resource, or collection, only if resource could be modified or created

 

$.response.data.[*].headers.<prop>.cud.delete

META

Boolean

True if the linked resource could be delete within this resource services

For collection only

 

$.response.data.[*].headers.<prop>.cud.childrenAllowedUpdateModes

META

Array of strings

The list of supported modification modes

For linked resource, only if resource could be modified

See the list of existing modes here

$.response.data.[*].headers.<prop>.cud.mandatoryStructure

META

Boolean

True if the structure defines this property as mandatory

Only if resource could be modified or created, and the property can be modified

 

$.response.data.[*].headers.<prop>.cud.mandatoryCreate

META

Boolean

True if the resource configuration defines this property as mandatory for a creation (POST)

Only if resource could be modified or created, and the property can be modified

 

$.response.data.[*].headers.<prop>.cud.mandatoryUpdate

META

Boolean

True if the resource configuration defines this property as mandatory for a modification (PUT)

Only if resource could be modified or created, and the property can be modified

 

$.response.data.[*].headers.<prop>.cud.mandatoryPatch

META

Boolean

True if the resource configuration defines this property as mandatory for a partial modification (PATCH)

Only if resource could be modified or created, and the property can be modified

 

$.response.data.[*].headers.<prop>.cud.defaultStructure

META

String

The default value as defined in the structure

Only if resource could be modified or created, and the property can be modified

 

$.response.data.[*].headers.<prop>.cud.defaultCreate

META

Any primitive value

The default value as defined in configuration for the creation

Only if resource could be modified or created, and the property can be modified

 

$.response.data.[*].headers.<prop>.cud.defaultUpdate

META

Any primitive value

The default value as defined in configuration for the modification

Only if resource could be modified or created, and the property can be modified

 

$.response.data.[*].headers.<prop>.cud.defaultPatch

META

Any primitive value

The default value as defined in configuration for the partial modification

Only if resource could be modified or created, and the property can be modified

 

*The property type classifies properties into 6 types:

  • DATA: the data properties of the resource, such as its name, its metadata...

  • TECH: related technical properties, such as the URL of the preview, or the description of the workflow

  • STRUCT: structural data of the JSON response, such as the hateoas link section, the header description

  • META: metadata about the type of resource, such as its name or description

  • AGPG: aggregate or pagination metadata (counters, page numbers, etc), HATEOAS, etc

  • OTHERS: other

Property value types

The property value types generally correspond to the Json type of the property value in the resource Json. In some cases, specific types are specified.

Type

JSon type

Description

Comment

Type

JSon type

Description

Comment

number

number

Any number

 

string

string

Any string, text, html, json

 

boolean

boolean

A boolean (child to activated)

 

object

object

A child (link to another resource)

 

array

array of object

A child multiple (link to a list of resources)

Each object represents a resource (with exactly same structure recursevely)

resource

string

A file or image

value is name of the file (or null)

timestamp

number

A date, or datetime, as timestamp

Epoch timestamp

isodate

string

A date in ISO format

 

isodatetime

string

A datetime in ISO format

 

tree

object

A tree (or a cluster)

 

null

null

N/A

 

separator

string

A property group separator

 

password

string

Password

 

Text types

Type

Description

Comment

Type

Description

Comment

PLAIN

Plain text

 

HTML

HTML

 

JSON

Json

The property json indicates if the value is exported as string or a json

Supported multiple link modification modes

When modifying a mulitple link property to another resource, we usually pass a list of linked resource identifiers. These modes determine how the value of the property should be modified with this list.

See more details about the modification modes here.

Type

Description

Type

Description

REPLACE

The default mode. The new list of IDs replaces the current list.

APPEND

Adds the IDs at the end of the current list.

APPENDNEW

Adds only the IDs that are not currently in the current list, at the end of the current list

REMOVE

Removes the IDs from the current list

RETAIN

Keeps the IDs that are in the both list (new and current)

REMOVEFIRST

Removes only the first occurence of IDs from the current lis

REMOVELAST

Removes only the last occurence of IDs from the current lis

CLEAR

Remove all current IDs (ignore the new IDs)

MULTIPLE

Allows to do several types of modification at one time (REMOVE, then APPENDNEW for example)

MAP

Replaces current IDs with new IDs