Capacity Planner API Integration

Capacity Planner API Integration

Summary:

The V0 Quote Process collection now contains 6 endpoints that will allow a 3rd party system to integrate with PrintIQ's Capacity Planning module. A Postman collection is attached or you can access these endpoint details via {yourPrintIQDomain}.com/Swagger
  1. PlanOperations
  2. UpdateOperationPlannedDateTime
  3. ChangePlannedMachine
  4. UnplanOperation
  5. UnplanJob
  6. UnplanTimeBlock
Warning
This assumes the 3rd party manages the integration by utilizing these API endpoints to affect Capacity Planning records within PrintIQ.  The data share is one-way: 3rd Party -> PrintIQ

Validation:

In order to access these endpoints, the system will require valid PrintIQ user credentials to generate a LoginToken, and an application key to generate an ApplicationLoginToken.  PrintIQ Support can set up the application and provide required Key and Name values. 

These tokens are generated using GetLoginToken and GetApplicationLoginToken, also provided in the postman collection.  These tokens expire every 2 hours; it is recommended you generate a new token any time you call the collection to update a component in Capacity Planning. 


Context Details:

Once you can generate tokens, you will utilize GetAcceptanceDetails with a Job Number to extract most required key values.  The response will contain operations context within AcceptanceDetails{}.Products[].MiddlewareProductDetail.Operations[].POKey (this is the operation key used by most endpoints). The object will also contain the operation name.  All Capacity Planning is relative to these operations per job. 


For any endpoints that require a Machine (Machine, Press, Guillotine), you can get details within the PrintIQ UI to reference their system names
../FactoryAdmin/Press.aspx
../FactoryAdmin/Guillotine.aspx
../FactoryAdmin/Machine.aspx

PlanOperations

When using this endpoint, you must provide either a Machine, Press, or Guillotine.  If you do not specify DurationMinutes, it will keep the previous duration of the operation. If the operation is planned elsewhere, Unplan it first. If the operation cannot be planned where specified, it will keep previous details and remain in prior slot or remain unplanned. 

Provide a Planned Start as 'YYYY-MM-DD', and provide your StartMinute as relative minute to local start time. i.e. "300" = 5AM, "1439" = 11:59PM

You may update multiple operations in this call. 

POST //api/QuoteProcess/PlanOperations?LoginToken={{appToken}} HTTP/1.1
Host: {{yourDomain}}.printiq.com
Content-Type: application/json
Content-Length: 253

{
  "PlanOperations": [
    {
      "POKey": 290812, //as extracted from GetAcceptanceDetails for the operation you want to plan
      "ScheduleDate": "2025-07-09",
      "StartMinute": 600,
      "Machine": null,
      "Press": "WF - HP 11000",
      "Guillotine": null,
      "DurationMinutes": 60
    }
  ]

UpdateOperationPlannedDateTime

Similar to PlanOperations, but only for a single operation already planned but just changing the date/time (not machine). If DurationMinutes isnt specified, it will keep the previous duration of the operation.

{
  "POKey": 290812,
  "PlannedStart": "2025-03-13",
  "StartMinute": 300, 
  "DurationMinutes": null 
}

ChangePlannedMachine

Provide the operation key, and either Machine, Press, or Guillotine you are changing the planned operation for.  We will provide an error response if the provided machine is invalid, or not applicable to the operation. 

{
  "POKey": 290812,
  "Machine": null,
  "Press": "WF - Onset X3",
  "Guillotine": null
}

UnplanOperation

Removes operation from planned block, you only provide POKey.

{
  "POKey": 290812
}

UnplanJob

Removes all operations of Job from schedule. 

{
  "JobNo": "J002819"
}

UnplanTimeBlock

Unplans an operation.  Time Block (PTBKey) is a back-end identifier for the record of the operation, machine, and time scheduled as a block.
PlanOperation - response
{
    "PTBKeys": [
        4957
    ],
    "ErrorMessage": null,
    "IsError": false,
    "WarningMessage": null,
    "IsWarning": false
}

{
  "PTBKey": 4957
}

Known 3rd party integrators:
Pivotal Z - Prestige Scheduler
    • Related Articles

    • Capacity Planning - Part 1 - Planner

      Capacity Summary The Capacity Summary screen can be used as an overview of the factory’s current capacity. At first you will see a summary of the entire factory based on the ‘View’ selected. Below that you can see the summary of any ‘Departments’ you ...
    • Capacity Planning - Part 3 - Staff Use

      Staff can use the boards as ‘Work to Lists’. Inside the staff users account, under the ‘Departments’ tab, assign them to the departments they belong to. In this example we are setting up an offset printers access. We add the department of ‘Offset ...
    • printIQ Integration toolbox

      Integration Toolbox Getting started with integration and API overview Access printable attachment at the top or bottom of this article depending on your browser. Introduction  When it comes to workflow and integration, everyone’s requirements are ...
    • Setting Up Infigo Integration with printIQ

      Summary This article outlines the steps required to configure your Infigo platform to integrate with printIQ. Most of the setup is performed within the Infigo environment. Note: The printIQ team does not manage the Infigo-side configuration. Please ...
    • Sage 50 Integration Documents

      Specialist Paul van Tongeren Introduction The integration to HyperSage is primarily a push from printIQ. This is a manual process requiring the user to export from within a record or to select multiple records from the appropriate area and click the ...