Articles

1. Create an Article

Compatibility: from Durst Workflow v1.7.3 

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Articles can be stored in the Workflow without using an existing job or creating a new Production Job. The data is structured and can be prepared for production, customer-specific mapping of colors can also be implemented and applied. The end product is assembled and output in the form of an Order or Production Job on demand.

POST /api/v1/articles/create

1.1. Parameters

Type
Name
Description
Schema
Body
articleApi required
Defining Article attributes articleApi
Body
FileLinkApi required
Defining the path to the File
FileLinkApi
Body
ReferencedArticleCollectionApi optional
Link to an Article Collection ReferencedArticleCollectionApi
Body
ReferencedProcessingStepApi optional
Link to a Processing Step
ReferencedProcessingStepApi
Body
ReferencedCustomerApi optional
Link to a Customer
ReferencedCustomerApi
Body
ReferencedSubstrateApi optional
Link to a Substrate
ReferencedSubstrateApi
Body
ProcessingOptionsApi optional
Apply a Fixup Chain ProcessingOptionsApi

1.2. Responses

HTTP Code Description Schema
201 Created articleApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

1.3. Consumes

application/json

1.4. Produces

*/*

1.5. Tags

Article Controller Api

1.6. Example HTTP request

Request path

/api/v1/articles/create

Request body

{
  "name": "Article 123",
  "comment": "Comment für Article",
  "externalId": "EXTNR123",
  "widthMm": 225,
  "heightMm": 60,
  "customfield": "This is a custom field for articles",
  "pages": 1,
  "pdfFileLink": {
    "uri": "smb://data/files/article123.pdf"
  },
  "substrateReference": {
    "id": 2
  },
  "customerReference": {
    "id": 55
  },
  "additionalFilesList": [
    {
      "uri": "{{https://example.com/additionaldata.csv}}"
    }
  ],
  "articleCollectionReferenceList": [
    {
      "id": 8
    }
  ],
  "articleProcessingStepList": [
    {
      "id": 1
    }
  ]
}

1.7. Example HTTP response

From Durst Workflow 1.8.1 and later the Response also includes the Color Policy used for the defined Substrate.

Response 201

{
  "id": 10874,
  "name": "Article 123",
  "externalId": "EXTNR123",
  "status": "CREATED",
  "customfield": "This is a custom field for articles",
  "comment": "Comment für Article",
  "widthMm": 225,
  "heightMm": 60,
  "pages": 1,
  "customerReference": {
    "id": 55
  },
  "substrateReference": {
    "id": 2
  },
  "colorPolicyReference": {
    "id": 3
  },
  "articleCollectionReferenceList": [
    {
      "id": 1
    }
  ],
  "articleProcessingStepList": [
    {
      "id": 1
    }
  ]
}
2. Create an Article and Apply Fixup Chain

Compatibility: from Durst Workflow v1.7.8

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

It is now possible to create an Article and submit the required attributes for a Fixup Chain within the same Request. A Fixup Chain has to be configured in Durst Workflow before it can be applied.

POST /api/v1/articles/create

2.1. Parameters

Type
Name
Description
Schema
Body
articleApi required
Defining Article attributes articleApi
Body
FileLinkApi required
Defining the path to the File
FileLinkApi
Body
ReferencedArticleCollectionApi optional
Link to an Article Collection ReferencedArticleCollectionApi
Body
ReferencedProcessingStepApi optional
Link to a Processing Step
ReferencedProcessingStepApi
Body
ReferencedCustomerApi optional
Link to a Customer
ReferencedCustomerApi
Body
ReferencedSubstrateApi optional
Link to a Substrate
ReferencedSubstrateApi
Body
ProcessingOptionsApi optional
Apply a Fixup Chain ProcessingOptionsApi

2.2. Responses

HTTP Code Description Schema
201 Created articleApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

2.3. Consumes

application/json

2.4. Produces

*/*

2.5. Tags

Article Controller Api

2.6. Example HTTP request

Request path

/api/v1/articles/create

Request body

{
  "name": "Article 123",
  "comment": "Comment für Article",
  "externalId": "EXTNR123",
  "widthMm": 225,
  "heightMm": 60,
  "customfield": "This is a custom field for articles",
  "pages": 1,
  "pdfFileLink": {
    "uri": "smb://data/files/article123.pdf"
  },
  "processingOptions": {
    "fixupChain": {
      "id": 132,
      "name": "Banner with Grommets",
      "automationKey": "BANNER_WITH_GROMMETS"
    }
  },
  "substrateReference": {
    "id": 2
  },
  "customerReference": {
    "id": 55
  },
  "additionalFilesList": [
    {
      "uri": "https://example.com/additionaldata.csv"
    }
  ],
  "articleCollectionReferenceList": [
    {
      "id": 8
    }
  ],
  "articleProcessingStepList": [
    {
      "id": 1
    }
  ]
}

2.7. Example HTTP response

Response 201

{
  "id": 7019,
  "externalId": "EXTNR123",
  "status": "CREATED",
  "name": "Article 123",
  "comment": "Comment für Article",
  "widthMm": 225,
  "heightMm": 60,
  "pages": 1,
  "customerReference": {
    "id": 55
  },
  "substrateReference": {
    "id": 2
  },
  "articleCollectionReferenceList": [
    {
      "id": 8
    }
  ],
  "articleProcessingStepList": [
    {
      "id": 1
    }
  ],
  "additionalFilesList": []
}
3. Validate Article

Compatibility: from Durst Workflow v1.7.3

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Validation checks if:

  • all required fields are set
  • all required Collections contain at least one element
  • all enum fields contain an allowed value
  • all required methods are returning a non-null value, use that annotation
  • files (URI) are available
  • all used User-defined Fields are set correctly and have the correct parameters
  • A validation is also made when an Article is created.
POST /api/v1/articles/validate

3.1. Parameters

Type
Name
Description
Schema
Body
articleApi required
Defining Article attributes articleApi
Body
FileLinkApi required
Defining the path to the File
FileLinkApi
Body
ReferencedArticleCollectionApi optional
Link to an Article Collection ReferencedArticleCollectionApi
Body
ReferencedProcessingStepApi optional
Link to a Processing Step
ReferencedProcessingStepApi
Body
ReferencedCustomerApi optional
Link to a Customer
ReferencedCustomerApi
Body
ReferencedSubstrateApi optional
Link to a Substrate
ReferencedSubstrateApi

3.2. Responses

HTTP Code Description Schema
201 Created ValidationResult
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

3.3. Consumes

application/json

3.4. Produces

*/*

3.5. Tags

Article Controller Api

3.6. Example HTTP request

Request path

/api/v1/articles/validate

Request body

{
  "name": "Article 123",
  "comment": "Comment für Article",
  "externalId": "EXTNR123",
  "widthMm": 225,
  "heightMm": 60,
  "customfield": "This is a custom field for articles",
  "pages": 1,
  "pdfFileLink": {
    "uri": "smb://data/files/article123.pdf"
  },
  "substrateReference": {
    "id": 2
  },
  "customerReference": {
    "id": 55
  },
  "additionalFilesList": [
    {
      "uri": "https://example.com/additionaldata.csv"
    }
  ],
  "articleCollectionReferenceList": [
    {
      "id": 8
    }
  ],
  "articleProcessingStepList": [
    {
      "id": 1
    }
  ]
}

3.7. Example HTTP response

Response 201

{
    "ok": true,
    "validationFailures": []
}
4. Get Article by ID

Compatibility: from Durst Workflow v1.7.6

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Get Article and stored information on the Article by ID

GET /api/v1/articles/{id}

4.1. Parameters

Type
Name
Description
Schema
Path
id required
The id of the Article
integer (int32)

4.2. Responses

HTTP Code Description Schema
200 OK articleApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

4.3. Consumes

application/json

4.4. Produces

*/*

4.5. Tags

Article Controller Api

4.6. Example HTTP request

Request path

/api/v1/articles/{id}

4.7. Example HTTP response

Response 200

{
  "id": 7019,
  "externalId": "EXTNR123",
  "status": "CHECKED_IN",
  "name": "Article 123",
  "comment": "Comment für Article",
  "widthMm": 225,
  "heightMm": 60,
  "customfield": "This is a custom field for articles",
  "pages": 1,
  "customerReference": {
    "id": 55
  },
  "substrateReference": {
    "id": 2
  },
  "articleCollectionReferenceList": [
    {
      "id": 8
    }
  ],
  "articleProcessingStepList": [
    {
      "id": 1
    }
  ],
  "additionalFilesList": []
}
5. Get active User-defined Fields available for Articles

Compatibility: from Durst Workflow v1.7.6

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Get all active User-defined Fields available for articles

GET /api/v1/articles/customFields

5.1. Responses

HTTP Code Description Schema
200 OK CustomFieldApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

5.2. Consumes

application/json

5.3. Produces

*/*

5.4. Tags

Article Controller Api

5.5. Example HTTP request

Request path

/api/v1/articles/customFields

5.6. Example HTTP response

Response 201

[
  {
    "id": 100
    "key": "custom_field_1",
    "entityType": "article",
    "label": "Name of the field",
    "valueTypeKey": "NUMERIC",
    "status": "ACTIVE",
    "mandatory": true
  },
  {
    "id": 102,
    "key": "custom_field_2",
    "entityType": "article",
    "label": "Name of the field",
    "valueTypeKey": "STRING",
    "status": "ACTIVE",
    "mandatory": false
  }
]
6. Apply Fixup to Article(s)

Compatibility: from Durst Workflow v1.7.6

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Fixups can be either applied to Articles or Motifs within Print Orders and Production Jobs. Find out more on how to fetch available Fixups here Chapter (Fixups).

POST /api/v1/articles/{id}/applyFixup

6.1. Parameters

Type
Name
Description
Schema
Path id required The id of the Article integer (int32)
Body
fixupRequestOptionsApi required
Options and Parameters of the Fixup to be applied
fixupRequestOptionsApi

6.2. Responses

HTTP Code Description Schema
201 Created articleApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

6.3. Consumes

application/json

6.4. Produces

*/*

6.5. Tags

Article Controller Api

6.6. Example HTTP request

Request path

/api/v1/articles/{id}/applyFixup

Request body

{
  "fixupApiParameter": {
    "VAR_NAME_Rotate": "90"
  },
  "fixupApiReference": {
    "automationKey": "ROTATE_PAGE"
  }
}

6.7. Example HTTP response

The response contains an workflow-controller output listin progress and current steps. Refer to this Chapter to learn about the Workflow Controller.

Response 201

{
  "id": 7499,
  "name": "motif-apply-profile",
  "progress": 0,
  "status": "RUNNING",
  "currentStep": "preFlight",
  "startTimestamp": "2019-09-25T14:27:49.406",
  "executionTime": 0
}
7. Apply Fixup Chain to Article(s)

Compatibility: from Durst Workflow v1.7.6

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Fixups can be either applied to Articles or Motifs within Print Orders and Production Jobs. Find out more on how to fetch available Fixups here Chapter (Fixups).

POST /api/v1/articles/{id}/applyFixupChain

7.1. Parameters

Type
Name
Description
Schema
Path id required The id of the Article integer (int32)
Body
fixupChainApi required
Name, Automation Key and ID of the Fixup Chain to be used fixupChainApi

7.2. Responses

HTTP Code Description Schema
201 Created articleApi
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

7.3. Consumes

application/json

7.4. Produces

*/*

7.5. Tags

Article Controller Api

7.6. Example HTTP request

Request path

/api/v1/articles/{id}/applyFixupChain

Request body

{
  "automationKey": "FIXUP_ROUNDED2",
  "id": 12

}

7.7. Example HTTP response

The response contains an workflow-controller output listing progress and current steps. Refer to this Chapter to learn about the Workflow Controller.

Response 201

{
  "id": 18948,
  "name": "motif-apply-ptb-chain",
  "status": "SUCCESS",
  "progress": 100,
  "currentStep": "updateWorkflowStatus",
  "startTimestamp": "2020-06-09T13:51:25.111854+02:00",
  "endTimestamp": "2020-06-09T13:51:25.771559+02:00",
  "executionTime": 1
}
8. Fetch Thumbnail, PDF Preview or Preflight PDF of an Article

Compatibility: from Durst Workflow v1.7.6 (Preflight PDF from v1.8)

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Fetch a Thumbnail, PDF Preview or Preflight PDF Report of an Article. Available Download Formats are Direct Download or Base64 encypted.

GET /api/v1/articles/{id}/files/{fileTypeKey}/{downloadFormat}

8.1. Parameters

Type
Name
Description
Schema
Path
id required
The id of the Article
integer (int32)
Path
downloadFormat required
Download Format of the files enum (direct, base64)
Path
fileTypeKey required
File Type  enum (thumbnail, pdf, preflightPdfReport)

8.2. Responses

HTTP Code Description Schema
200 OK Download of the File
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

8.3. Consumes

application/json

8.4. Produces

*/*

8.5. Tags

Article Controller Api

8.6. Example HTTP request

Request path

GET /api/v1/articles/{id}/files/{fileTypeKey}/{downloadFormat}
9. Add an Article to an existing Production Job

Compatibility: from Durst Workflow v1.7.8 

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Add an existing Article to an existing Production Job. An empty Production Job (Production Job without Print Items) can be created in advance, then several Articles can be joined to this job from an external system. The Article will use the Production Jobs Color Policy and Substrate Shape (optional).

POST /api/v1/productionJobs/{id}/motifs/addArticle

9.1. Parameters

Type
Name
Description
Schema
Path id required
The ID of the Production Job integer (int 32)
Body
articleReference required
The ID of the Article to be added to the Production Job ProductionJobItemApi
Body
numberCopies required Number of copies of the Article ProductionJobItemApi

9.2. Responses

HTTP Code Description Schema
200 OK MotifApi
201 Created No Content
401 Unauthorized No Content
403 Forbidden No Content
404 Not Found No Content

9.3. Consumes

application/json

9.4. Produces

*/*

9.5. Tags

Production Job Motif Controller Api

9.6. Example HTTP request

Request path

/api/v1/productionJobs/{id}/motifs/addArticle

Request body

{
  "articleReference": {
    "id": 4429
  },
  "numberCopies": 21
}

9.7. Example HTTP response

Response 201

{
  "id": 4429,
  "externalId": "EXTNR123",
  "status": "CREATED",
  "name": "Article 123",
  "comment": "Comment für Article",
  "widthMm": 225,
  "heightMm": 60,
  "pages": 1,
  "numberCopies": 21,
  "colorPolicyReference": {}
}
10. Update an Articles Status

Compatibility: from Durst Workflow v1.8.2 

Available in  
Durst Workflow Print Label / Durst Workflow Print Label +
Durst Workflow Print +

Articles Statuses can be updated with a PATCH Request. The possible statuses are: CREATED, CHECKED_IN, CHECK_REQUIRED, FINAL_ARTWORK, WAITING_FOR_APPROVAL, APPROVED and LOCKED.

PATCH /api/v1/articles/{id}

10.1. Parameters

Type
Name
Description
Schema
Body
articleApi required 
Defining Article attributes (Status only) articleApi

10.2. Responses

HTTP Code Description Schema
200 OK articleApi
204 Not Content No Content
400 Bad Request Error Code
403 Forbidden No Content
404 Not Found No Content

10.3. Consumes

application/json

10.4. Produces

*/*

10.5. Tags

Article Controller Api

10.6. Example HTTP request

Request path

/api/v1/articles/{id}

Request body

{
  "status": "FINAL_ARTWORK"
}

10.7. Example HTTP response

Response 200

{
  "id": 10874,
  "name": "Article 123",
  "externalId": "EXTNR123",
  "status": "FINAL_ARTWORK",
  "customfield": "This is a custom field for articles",
  "comment": "Comment für Article",
  "widthMm": 225,
  "heightMm": 60,
  "pages": 1,
  "customerReference": {
    "id": 55
  },
  "substrateReference": {
    "id": 2
  },
  "colorPolicyReference": {
    "id": 3
  },
  "articleCollectionReferenceList": [
    {
      "id": 1
    }
  ],
  "articleProcessingStepList": [
    {
      "id": 1
    }
  ]
}