Complete client-facing DAM interface for Dalim ES FUSiON GraphQL API: - Asset browsing, search with faceted filtering, project/folder navigation - Send To distribution to 17 MMS platforms (PIM, Social, Google, In-Store, Print) - 10 workflow templates, approval queue, process monitor with progress bars - Collections with thumbnail mosaics, dashboard with KPI cards and activity feed - Docker Compose (app + PostgreSQL), mock mode, error boundaries - Two-tier API reference docs (466 operations indexed, 29 detailed) - MediaMarkt branding: Noto Sans Display, #DF0000 red, dark sidebar Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
955 lines
34 KiB
Markdown
955 lines
34 KiB
Markdown
# Dalim ES FUSiON API — Active Endpoint Reference
|
|
|
|
Detailed documentation for the endpoints actively used in this project.
|
|
For a full list of all 466 available operations, see `dalim-api-index.md`.
|
|
|
|
---
|
|
|
|
## Authentication
|
|
|
|
The API uses OAuth2 with HMAC SHA256 signing.
|
|
|
|
**Token endpoint:** `https://{HOST}/ES/api/oauth/token`
|
|
**GraphQL endpoint:** `https://{HOST}/ES/api/graphql`
|
|
|
|
**Get a token:**
|
|
```python
|
|
token_data = {
|
|
"grant_type": "password",
|
|
"client_id": CLIENT_ID,
|
|
"client_secret": CLIENT_SECRET,
|
|
"username": USERNAME,
|
|
"password": PASSWORD
|
|
}
|
|
response = requests.post(TOKEN_URL, data=token_data)
|
|
access_token = response.json()["access_token"]
|
|
headers = {"Authorization": f"Bearer {access_token}", "Content-Type": "application/json"}
|
|
```
|
|
|
|
**Dependency chain** (must create in this order):
|
|
Security Profiles → Users → Projects → Assets
|
|
|
|
---
|
|
|
|
## System & Auth
|
|
|
|
### connectAs
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a JSON!`
|
|
|
|
Enable an Admin to connect to ES as another User. The response is identical to a standard login, a new AccessToken is received.
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `login` | `String!` | Yes | login of the user |
|
|
| `withSecurityProfile` | `String` | No | name of a securityProfile |
|
|
| `createIfNotExists` | `Boolean` | No | Auto-created user if not exists |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation connectAs( $login: String!, $withSecurityProfile: String, $createIfNotExists: Boolean ) { connectAs( login: $login, withSecurityProfile: $withSecurityProfile, createIfNotExists: $createIfNotExists ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "login": "abc123", "withSecurityProfile": "abc123", "createIfNotExists": true }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"connectAs": {}}}
|
|
```
|
|
|
|
---
|
|
|
|
### disconnectAs
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a JSON!`
|
|
|
|
When connected as another user, returns to the original login, the current token is revoked. The response is identical to a standard login, a new AccessToken is received. If the AccessToken does not correspond to a user connected as, then nothing append, the current token is still valid.
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation disconnectAs { disconnectAs }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"disconnectAs": {}}}
|
|
```
|
|
|
|
---
|
|
|
|
### whoami
|
|
|
|
**Type:** Query
|
|
**Returns:** `a Whoami!`
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query whoami { whoami { id user { ...UserFragment } securityProfile { ...UserSecurityProfileFragment } } }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "whoami": { "id": "4", "user": User, "securityProfile": UserSecurityProfile } } }
|
|
```
|
|
|
|
---
|
|
|
|
### serverInformation
|
|
|
|
**Type:** Query
|
|
**Returns:** `a ServerInformation!`
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query serverInformation { serverInformation { guiClientId authorizationURL accessTokenURL authenticationKeys } }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "serverInformation": { "guiClientId": "abc123", "authorizationURL": "http://www.test.com/", "accessTokenURL": "http://www.test.com/", "authenticationKeys": ["4"] } } }
|
|
```
|
|
|
|
---
|
|
|
|
## Users
|
|
|
|
### users
|
|
|
|
**Type:** Query
|
|
**Returns:** `a UserPagingResponse!`
|
|
|
|
Retrieve visible users by the current logged user
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iFilter` | No | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
| `orderBy` | `iOrderBy` | No | Default = {property : "id", direction : ASC} |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query users( $filter: iFilter, $limit: Int, $cursor: ID, $orderBy: iOrderBy ) { users( filter: $filter, limit: $limit, cursor: $cursor, orderBy: $orderBy ) { lowerCursor upperCursor hasMoreItems objectList { ...UserFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iFilter, "limit": 123, "cursor": 4, "orderBy": {"property": "id", "direction": "ASC"} }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "users": { "lowerCursor": "4", "upperCursor": "4", "hasMoreItems": true, "objectList": [User] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### userById
|
|
|
|
**Type:** Query
|
|
**Returns:** `[User!]`
|
|
|
|
Retrieve user by id
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query userById($id: [ID!]!) { userById(id: $id) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } login userCanLog lang dateFormat unitResolution unitLength color image use2FA channel2FA sessionTimeout workCapacity workCapacityUnit firstName lastName email title company phone phone2 homePhone fax mobilePhone department address { ...AddressFragment } organization { ...OrganizationFragment } groups { ...GroupFragment } roles { ...RoleFragment } defaultProfile { ...UserSecurityProfileFragment } availableProfiles { ...UserSecurityProfileFragment } notifications { ...NotificationFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": ["4"]}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "userById": [ { "id": "4", "name": "abc123", "description": "xyz789", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "login": "abc123", "userCanLog": true, "lang": "ar", "dateFormat": "abc123", "unitResolution": "xyz789", "unitLength": "xyz789", "color": "xyz789", "image": "xyz789", "use2FA": true, "channel2FA": "AUTHENTICATOR", "sessionTimeout": 123, "workCapacity": "abc123", "workCapacityUnit": "xyz789", "firstName": "xyz789", "lastName": "abc123", "email": "abc123", "title": "abc123", "company": "xyz789", "phone": "abc123", "phone2": "xyz789", "homePhone": "xyz789", "fax": "abc123", "mobilePhone": "xyz789", "departm
|
|
... (truncated)
|
|
```
|
|
|
|
---
|
|
|
|
### createUser
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a User!`
|
|
|
|
Create an User in the specified Organization
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `name` | `String!` | Yes | — |
|
|
| `in` | `ID!` | Yes | — |
|
|
| `setup` | `iCreateUserSetup` | No | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation createUser( $name: String!, $in: ID!, $setup: iCreateUserSetup ) { createUser( name: $name, in: $in, setup: $setup ) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } login userCanLog lang dateFormat unitResolution unitLength color image use2FA channel2FA sessionTimeout workCapacity workCapacityUnit firstName lastName email title company phone phone2 homePhone fax mobilePhone department address { ...AddressFragment } organization { ...OrganizationFragment } groups { ...GroupFragment } roles { ...RoleFragment } defaultProfile { ...UserSecurityProfileFragment } availableProfiles { ...UserSecurityProfileFragment } notifications { ...NotificationFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "name": "abc123", "in": 4, "setup": iCreateUserSetup }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "createUser": { "id": 4, "name": "abc123", "description": "xyz789", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "login": "xyz789", "userCanLog": false, "lang": "ar", "dateFormat": "abc123", "unitResolution": "xyz789", "unitLength": "xyz789", "color": "xyz789", "image": "abc123", "use2FA": true, "channel2FA": "AUTHENTICATOR", "sessionTimeout": 123, "workCapacity": "xyz789", "workCapacityUnit": "xyz789", "firstName": "xyz789", "lastName": "xyz789", "email": "abc123", "title": "xyz789", "company": "xyz789", "phone": "xyz789", "phone2": "xyz789", "homePhone": "abc123", "fax": "xyz789", "mobilePhone": "abc123", "departme
|
|
... (truncated)
|
|
```
|
|
|
|
---
|
|
|
|
### changeUser
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a User!`
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `name` | `String!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation changeUser($name: String!) { changeUser(name: $name) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } login userCanLog lang dateFormat unitResolution unitLength color image use2FA channel2FA sessionTimeout workCapacity workCapacityUnit firstName lastName email title company phone phone2 homePhone fax mobilePhone department address { ...AddressFragment } organization { ...OrganizationFragment } groups { ...GroupFragment } roles { ...RoleFragment } defaultProfile { ...UserSecurityProfileFragment } availableProfiles { ...UserSecurityProfileFragment } notifications { ...NotificationFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"name": "abc123"}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "changeUser": { "id": "4", "name": "abc123", "description": "abc123", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "login": "xyz789", "userCanLog": true, "lang": "ar", "dateFormat": "xyz789", "unitResolution": "abc123", "unitLength": "abc123", "color": "xyz789", "image": "abc123", "use2FA": true, "channel2FA": "AUTHENTICATOR", "sessionTimeout": 123, "workCapacity": "xyz789", "workCapacityUnit": "xyz789", "firstName": "abc123", "lastName": "xyz789", "email": "xyz789", "title": "abc123", "company": "abc123", "phone": "xyz789", "phone2": "abc123", "homePhone": "abc123", "fax": "abc123", "mobilePhone": "abc123", "departm
|
|
... (truncated)
|
|
```
|
|
|
|
---
|
|
|
|
## Security Profiles
|
|
|
|
### securityProfiles
|
|
|
|
**Type:** Query
|
|
**Returns:** `a SecurityProfilePagingResponse!`
|
|
|
|
Retrieve SecurityProfile by filter
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iFilter` | No | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
| `orderBy` | `iOrderBy` | No | Default = {property : "id", direction : ASC} |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query securityProfiles( $filter: iFilter, $limit: Int, $cursor: ID, $orderBy: iOrderBy ) { securityProfiles( filter: $filter, limit: $limit, cursor: $cursor, orderBy: $orderBy ) { lowerCursor upperCursor hasMoreItems objectList { ...SecurityProfileFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iFilter, "limit": 123, "cursor": "4", "orderBy": {"property": "id", "direction": "ASC"} }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "securityProfiles": { "lowerCursor": 4, "upperCursor": "4", "hasMoreItems": true, "objectList": [SecurityProfile] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### createUserSecurityProfile
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a UserSecurityProfile`
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `name` | `String!` | Yes | — |
|
|
| `setup` | `iUserSecurityProfile` | No | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation createUserSecurityProfile( $name: String!, $setup: iUserSecurityProfile ) { createUserSecurityProfile( name: $name, setup: $setup ) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } properties { ...SecurityPropertyFragment } securityRoles } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "name": "abc123", "setup": iUserSecurityProfile }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "createUserSecurityProfile": { "id": "4", "name": "xyz789", "description": "xyz789", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "properties": [SecurityProperty], "securityRoles": ["ADMIN"] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### addProfileToUser
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Boolean!`
|
|
|
|
Add one or many SecurityProfiles to one or many Users
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | — |
|
|
| `to` | `[ID!]!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation addProfileToUser( $id: [ID!]!, $to: [ID!]! ) { addProfileToUser( id: $id, to: $to ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": ["4"], "to": [4]}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"addProfileToUser": true}}
|
|
```
|
|
|
|
---
|
|
|
|
### addRoleToUser
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Boolean!`
|
|
|
|
Add one or many Role(s) to one or many User(s)
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | — |
|
|
| `to` | `[ID!]!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation addRoleToUser( $id: [ID!]!, $to: [ID!]! ) { addRoleToUser( id: $id, to: $to ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": ["4"], "to": [4]}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"addRoleToUser": true}}
|
|
```
|
|
|
|
---
|
|
|
|
## Projects
|
|
|
|
### projects
|
|
|
|
**Type:** Query
|
|
**Returns:** `a ProjectPagingResponse!`
|
|
|
|
Retrieve Projects by filter
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iFilter` | No | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
| `orderBy` | `iOrderBy` | No | Default = {property : "id", direction : ASC} |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query projects( $filter: iFilter, $limit: Int, $cursor: ID, $orderBy: iOrderBy ) { projects( filter: $filter, limit: $limit, cursor: $cursor, orderBy: $orderBy ) { lowerCursor upperCursor hasMoreItems objectList { ...ProjectFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iFilter, "limit": 123, "cursor": "4", "orderBy": {"property": "id", "direction": "ASC"} }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "projects": { "lowerCursor": 4, "upperCursor": 4, "hasMoreItems": true, "objectList": [Project] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### projectById
|
|
|
|
**Type:** Query
|
|
**Returns:** `[Project!]`
|
|
|
|
Retrieve Projects by ID or [ID]
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query projectById($id: [ID!]!) { projectById(id: $id) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } trashDate trashUser { ...UserFragment } endDate metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } status workflowName approvalStatus { ...ApprovalActivityStatusFragment } approvalSummary approvals { ...ApprovalCycleFragment } assetApprovals { ...ApprovalCycleFragment } children { ...PagingResponseFragment } assetWorkflow { ...WorkflowFragment } processes { ...ProcessFragment } projectTemplate { ...ProjectTemplateFragment } priority colorSpace { ...ColorSpaceFragment } viewingCondition { ...ViewingConditionFragment } reversedView customer { ...CustomerFragment } parents { ...ContainerFragment } mainAsset { ...AssetFragment } siteId productionParticipants { ...ProductionParticipantFragment } notes { ...NoteFragment } trimmedHeight trimmedWidth nbPages accessControls deadlines { ...ProjectDeadlineFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": [4]}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "projectById": [ { "id": 4, "name": "abc123", "description": "xyz789", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "trashDate": "2007-12-03T10:15:30Z", "trashUser": User, "endDate": "2007-12-03T10:15:30Z", "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "status": ["ACTIVE"], "workflowName": "abc123", "approvalStatus": [ApprovalActivityStatus], "approvalSummary": "NONE", "approvals": [ApprovalCycle], "assetApprovals": [ApprovalCycle], "children": PagingResponse, "assetWorkflow": Workflow, "processes": [Process], "projectTemplate": ProjectTemplate, "priority": 123, "colorSpace": ColorSpace, "viewingCondition": ViewingCondition, "reversedView": true, "customer": Cus
|
|
... (truncated)
|
|
```
|
|
|
|
---
|
|
|
|
### projectTemplates
|
|
|
|
**Type:** Query
|
|
**Returns:** `a ProjectTemplateResponse!`
|
|
|
|
Retrieve Project Templates
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iFilter` | No | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
| `orderBy` | `iOrderBy` | No | Default = {property : "id", direction : ASC} |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query projectTemplates( $filter: iFilter, $limit: Int, $cursor: ID, $orderBy: iOrderBy ) { projectTemplates( filter: $filter, limit: $limit, cursor: $cursor, orderBy: $orderBy ) { lowerCursor upperCursor hasMoreItems objectList { ...ProjectTemplateFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iFilter, "limit": 123, "cursor": 4, "orderBy": {"property": "id", "direction": "ASC"} }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "projectTemplates": { "lowerCursor": 4, "upperCursor": 4, "hasMoreItems": true, "objectList": [ProjectTemplate] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### createProject
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Project!`
|
|
|
|
security role handle by the mutationFetcher itself To create a Project for a Customer with a name
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `customerId` | `ID!` | Yes | — |
|
|
| `name` | `String!` | Yes | — |
|
|
| `setup` | `iProjectSetup` | No | — |
|
|
| `inputs` | `[iInputFile!]` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation createProject( $customerId: ID!, $name: String!, $setup: iProjectSetup, $inputs: [iInputFile!] ) { createProject( customerId: $customerId, name: $name, setup: $setup, inputs: $inputs ) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } trashDate trashUser { ...UserFragment } endDate metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } status workflowName approvalStatus { ...ApprovalActivityStatusFragment } approvalSummary approvals { ...ApprovalCycleFragment } assetApprovals { ...ApprovalCycleFragment } children { ...PagingResponseFragment } assetWorkflow { ...WorkflowFragment } processes { ...ProcessFragment } projectTemplate { ...ProjectTemplateFragment } priority colorSpace { ...ColorSpaceFragment } viewingCondition { ...ViewingConditionFragment } reversedView customer { ...CustomerFragment } parents { ...ContainerFragment } mainAsset { ...AssetFragment } siteId productionParticipants { ...ProductionParticipantFragment } notes { ...NoteFragment } trimmedHeight trimmedWidth nbPages accessControls deadlines { ...ProjectDeadlineFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "customerId": "4", "name": "xyz789", "setup": iProjectSetup, "inputs": [iInputFile] }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "createProject": { "id": "4", "name": "abc123", "description": "abc123", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "trashDate": "2007-12-03T10:15:30Z", "trashUser": User, "endDate": "2007-12-03T10:15:30Z", "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "status": ["ACTIVE"], "workflowName": "xyz789", "approvalStatus": [ApprovalActivityStatus], "approvalSummary": "NONE", "approvals": [ApprovalCycle], "assetApprovals": [ApprovalCycle], "children": PagingResponse, "assetWorkflow": Workflow, "processes": [Process], "projectTemplate": ProjectTemplate, "priority": 987, "colorSpace": ColorSpace, "viewingCondition": ViewingCondition, "reversedView": true, "customer": C
|
|
... (truncated)
|
|
```
|
|
|
|
---
|
|
|
|
### deleteProject
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Boolean!`
|
|
|
|
To delete a Project. By default the project is moved to the trash
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | id of the Project |
|
|
| `now` | `Boolean` | No | flag to be able to immediately delete the Project otherwise it is moved to the trash. Default = false |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation deleteProject( $id: [ID!]!, $now: Boolean ) { deleteProject( id: $id, now: $now ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": [4], "now": false}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"deleteProject": false}}
|
|
```
|
|
|
|
---
|
|
|
|
### createFolder
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Folder!`
|
|
|
|
To create a Folder
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `name` | `String!` | Yes | — |
|
|
| `in` | `ID!` | Yes | — |
|
|
| `setup` | `iFolderSetup` | No | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation createFolder( $name: String!, $in: ID!, $setup: iFolderSetup ) { createFolder( name: $name, in: $in, setup: $setup ) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } trashDate trashUser { ...UserFragment } metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } readOnly productionSettings { ...ProductionSettingsFragment } processes { ...ProcessFragment } accessControlList { ...AccessControlListFragment } children { ...PagingResponseFragment } project { ...ProjectFragment } parents { ...ContainerFragment } path { ...FolderFragment } color icon } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "name": "xyz789", "in": 4, "setup": iFolderSetup }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "createFolder": { "id": 4, "name": "xyz789", "description": "abc123", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "trashDate": "2007-12-03T10:15:30Z", "trashUser": User, "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "readOnly": true, "productionSettings": ProductionSettings, "processes": [Process], "accessControlList": AccessControlList, "children": PagingResponse, "project": Project, "parents": [Container], "path": [Folder], "color": "xyz789", "icon": 4 } } }
|
|
```
|
|
|
|
---
|
|
|
|
## Assets
|
|
|
|
### assets
|
|
|
|
**Type:** Query
|
|
**Returns:** `an AssetPagingResponse!`
|
|
|
|
Retrieve Assets by filter
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iFilter` | No | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
| `orderBy` | `iOrderBy` | No | Default = {property : "id", direction : ASC} |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query assets( $filter: iFilter, $limit: Int, $cursor: ID, $orderBy: iOrderBy ) { assets( filter: $filter, limit: $limit, cursor: $cursor, orderBy: $orderBy ) { lowerCursor upperCursor hasMoreItems objectList { ...AssetFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iFilter, "limit": 987, "cursor": 4, "orderBy": {"property": "id", "direction": "ASC"} }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "assets": { "lowerCursor": "4", "upperCursor": "4", "hasMoreItems": false, "objectList": [Asset] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### assetById
|
|
|
|
**Type:** Query
|
|
**Returns:** `[Asset!]`
|
|
|
|
Retrieve Assets by ID or [ID]
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query assetById($id: [ID!]!) { assetById(id: $id) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } trashDate trashUser { ...UserFragment } metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } status approvalSummary approvalStatus { ...ApprovalActivityStatusFragment } approvals { ...ApprovalCycleFragment } workflowName isAlias processes { ...ProcessFragment } uuid priority isCheckedOut checkedOutBy { ...UserFragment } privateWorkingRevision isArchived archiveId colorSpace { ...ColorSpaceFragment } viewingCondition { ...ViewingConditionFragment } project { ...ProjectFragment } parents { ...ContainerFragment } numberOfRevisions expirationDate medias { ...MediaFragment } notes { ...NoteFragment } relationFrom { ...RelationFragment } relationTo { ...RelationFragment } accessControls } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": [4]}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "assetById": [ { "id": 4, "name": "xyz789", "description": "abc123", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "trashDate": "2007-12-03T10:15:30Z", "trashUser": User, "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "status": ["ACTIVE"], "approvalSummary": "NONE", "approvalStatus": [ApprovalActivityStatus], "approvals": [ApprovalCycle], "workflowName": "abc123", "isAlias": false, "processes": [Process], "uuid": "abc123", "priority": 987, "isCheckedOut": false, "checkedOutBy": User, "privateWorkingRevision": 987, "isArchived": true, "archiveId": 4, "colorSpace": ColorSpace, "viewingCondition": ViewingCondition, "project": Project, "parents": [Container], "numberO
|
|
... (truncated)
|
|
```
|
|
|
|
---
|
|
|
|
### createAsset
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `an AssetCreationStatus!`
|
|
|
|
To create an Asset.
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `in` | `[ID!]!` | Yes | — |
|
|
| `name` | `String` | No | — |
|
|
| `checkedOut` | `Boolean` | No | Default = false |
|
|
| `setup` | `iAssetSetup` | No | — |
|
|
| `input` | `iInputFile` | No | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation createAsset( $in: [ID!]!, $name: String, $checkedOut: Boolean, $setup: iAssetSetup, $input: iInputFile ) { createAsset( in: $in, name: $name, checkedOut: $checkedOut, setup: $setup, input: $input ) { created asset { ...AssetFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "in": ["4"], "name": "xyz789", "checkedOut": false, "setup": iAssetSetup, "input": iInputFile }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "createAsset": {"created": false, "asset": Asset} } }
|
|
```
|
|
|
|
---
|
|
|
|
### deleteAsset
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Boolean!`
|
|
|
|
To delete an Asset. By default the Asset is moved to the trash
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | id of the Asset |
|
|
| `now` | `Boolean` | No | flag to be able to immediately delete the Asset otherwise it is moved to the trash. Default = false |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation deleteAsset( $id: [ID!]!, $now: Boolean ) { deleteAsset( id: $id, now: $now ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": [4], "now": false}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"deleteAsset": false}}
|
|
```
|
|
|
|
---
|
|
|
|
### downloadAsset
|
|
|
|
**Type:** Query
|
|
**Returns:** `a Stream`
|
|
|
|
Stream an Asset
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `ID!` | Yes | — |
|
|
| `revision` | `Int` | No | Default = 0 |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query downloadAsset( $id: ID!, $revision: Int ) { downloadAsset( id: $id, revision: $revision ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": "4", "revision": 0}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"downloadAsset": Stream}}
|
|
```
|
|
|
|
---
|
|
|
|
## Organizations & Customers
|
|
|
|
### customers
|
|
|
|
**Type:** Query
|
|
**Returns:** `a CustomerPagingResponse!`
|
|
|
|
Retrieve Customers by filter
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iFilter` | No | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
| `orderBy` | `iOrderBy` | No | Default = {property : "id", direction : ASC} |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query customers( $filter: iFilter, $limit: Int, $cursor: ID, $orderBy: iOrderBy ) { customers( filter: $filter, limit: $limit, cursor: $cursor, orderBy: $orderBy ) { lowerCursor upperCursor hasMoreItems objectList { ...CustomerFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iFilter, "limit": 123, "cursor": 4, "orderBy": {"property": "id", "direction": "ASC"} }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "customers": { "lowerCursor": "4", "upperCursor": 4, "hasMoreItems": false, "objectList": [Customer] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### customerById
|
|
|
|
**Type:** Query
|
|
**Returns:** `[Customer!]`
|
|
|
|
Retrieve Customers by ID or [ID]
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query customerById($id: [ID!]!) { customerById(id: $id) { id name description lastModificationDate lastModificationUser { ...UserFragment } creationDate creationUser { ...UserFragment } metadatas { ...MetadataValueFragment } metadataProperties { ...MetadataValueFragment } sites defaultSite defaultProjectTemplate { ...ProjectTemplateFragment } projectTemplates { ...ProjectTemplateFragment } code phone phone2 www fax shippingAddress { ...AddressFragment } billingAddress { ...AddressFragment } organization { ...OrganizationFragment } children { ...PagingResponseFragment } emailTemplates { ...EmailTemplateFragment } notificationTemplates { ...NotificationTemplateFragment } securityConfiguration { ...SecurityConfigurationFragment } notifications { ...NotificationFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": [4]}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "customerById": [ { "id": 4, "name": "abc123", "description": "abc123", "lastModificationDate": "2007-12-03T10:15:30Z", "lastModificationUser": User, "creationDate": "2007-12-03T10:15:30Z", "creationUser": User, "metadatas": [MetadataValue], "metadataProperties": [MetadataValue], "sites": ["abc123"], "defaultSite": "xyz789", "defaultProjectTemplate": ProjectTemplate, "projectTemplates": [ProjectTemplate], "code": "xyz789", "phone": "abc123", "phone2": "abc123", "www": "xyz789", "fax": "abc123", "shippingAddress": Address, "billingAddress": Address, "organization": Organization, "children": PagingResponse, "emailTemplates": [EmailTemplate], "notificationTemplates": [NotificationTemplate], "securityConfiguration": SecurityConfiguration, "notifications": [Notification] } ] } }
|
|
```
|
|
|
|
---
|
|
|
|
### groups
|
|
|
|
**Type:** Query
|
|
**Returns:** `a GroupPagingResponse!`
|
|
|
|
Retrieve visible groups by the current logged user
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iFilter` | No | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
| `orderBy` | `iOrderBy` | No | Default = {property : "id", direction : ASC} |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query groups( $filter: iFilter, $limit: Int, $cursor: ID, $orderBy: iOrderBy ) { groups( filter: $filter, limit: $limit, cursor: $cursor, orderBy: $orderBy ) { lowerCursor upperCursor hasMoreItems objectList { ...GroupFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iFilter, "limit": 123, "cursor": 4, "orderBy": {"property": "id", "direction": "ASC"} }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "groups": { "lowerCursor": "4", "upperCursor": 4, "hasMoreItems": false, "objectList": [Group] } } }
|
|
```
|
|
|
|
---
|
|
|
|
### addUserToGroup
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Boolean!`
|
|
|
|
Add one or many Users to one or many Groups that are not System Groups. All the Users provided will be added to each Groups provided
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | — |
|
|
| `to` | `[ID!]!` | Yes | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation addUserToGroup( $id: [ID!]!, $to: [ID!]! ) { addUserToGroup( id: $id, to: $to ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{"id": ["4"], "to": [4]}
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"addUserToGroup": false}}
|
|
```
|
|
|
|
---
|
|
|
|
## Search
|
|
|
|
### search
|
|
|
|
**Type:** Query
|
|
**Returns:** `a SearchResponse`
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `filter` | `iSearchFilter!` | Yes | — |
|
|
| `facets` | `[String!]` | Yes | — |
|
|
| `limit` | `Int` | No | — |
|
|
| `cursor` | `ID` | No | — |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
query search( $filter: iSearchFilter!, $facets: [String!], $limit: Int, $cursor: ID ) { search( filter: $filter, facets: $facets, limit: $limit, cursor: $cursor ) { upperCursor hasMoreItems objectList { ...EntityFragment } scores facets { ...FacetFragment } } }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "filter": iSearchFilter, "facets": ["abc123"], "limit": 987, "cursor": 4 }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{ "data": { "search": { "upperCursor": "4", "hasMoreItems": false, "objectList": [Entity], "scores": [987.65], "facets": [Facet] } } }
|
|
```
|
|
|
|
---
|
|
|
|
## Approvals
|
|
|
|
### approve
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Boolean!`
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | The id(s) of the request approval(s) to approve |
|
|
| `comment` | `String` | No | The comment associated to the approve action |
|
|
| `checkViewingCondition` | `Boolean` | No | Specify if the viewing condition should be checked or not. Default = true |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation approve( $id: [ID!]!, $comment: String, $checkViewingCondition: Boolean ) { approve( id: $id, comment: $comment, checkViewingCondition: $checkViewingCondition ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "id": [4], "comment": "xyz789", "checkViewingCondition": true }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"approve": true}}
|
|
```
|
|
|
|
---
|
|
|
|
### approveObject
|
|
|
|
**Type:** Mutation
|
|
**Returns:** `a Boolean!`
|
|
|
|
**Arguments:**
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `id` | `[ID!]!` | Yes | The id(s) of the object(s) to approve |
|
|
| `comment` | `String` | No | The comment associated to the approve action |
|
|
| `checkViewingCondition` | `Boolean` | No | Specify if the viewing condition should be checked or not. Default = true |
|
|
|
|
**Example Query:**
|
|
```graphql
|
|
mutation approveObject( $id: [ID!]!, $comment: String, $checkViewingCondition: Boolean ) { approveObject( id: $id, comment: $comment, checkViewingCondition: $checkViewingCondition ) }
|
|
```
|
|
|
|
**Example Variables:**
|
|
```json
|
|
{ "id": [4], "comment": "xyz789", "checkViewingCondition": true }
|
|
```
|
|
|
|
**Example Response:**
|
|
```json
|
|
{"data": {"approveObject": false}}
|
|
```
|
|
|
|
---
|