Receiving Jobs

Once a Job is ready for production, it can then begin to be picked up a Production House / Supplier.

This is usually indicated by the Job status job.production.queued which means it has passed Pre-Press and preflighting checks and has been fully handed over to the next Client in the job's lifecycle.

When all Jobs are in this status, the Batch moves to job_batch.production.ready. This is indicates that all Jobs have left Pre-Press and is now in the hands of Production.

Job status transitions come through as a job.status.transition event, whilst Batch status transitions come through as job_batch.status.transition.

Job Information

The Job payload contains all the entire job spec, including all finishings.

{
  "id": "7bd3acb2-635e-4bff-8cd8-fd7c8dade70d",
  "version": 3,
  "hash": "P83204668958309",
  "reference": "PDC-054674608-001",
  "environment": {
    "id": "b508522b-1296-39a0-ae13-d7c41ed8a412",
    "name": "Production"
  },
  "environment_type": {
    "id": "b508522b-1296-39a0-ae13-d7c41ed8a412",
    "alias": "production",
    "name": "Production"
  },
  "clients": {
    "origin": {
      "id": "d4d95fbb-f376-3675-a7ad-5b30f2854bb3",
      "type": "shop",
      "name": "Printed.com"
    },
    "production": {
      "id": "43cfc3e4-e422-30be-99a7-7d8ccf4c386a",
      "type": "production_house",
      "name": "The Printed Group"
    },
    "prepress": {
      "id": "5c766d45-954e-4db8-bbe6-b824da2b50a0",
      "type": "prepress",
      "name": "The Printed Group (Prepress)"
    }
  },
  "status": {
    "id": "1bb662c9-0aca-4158-884b-bc9a3a3df967",
    "value": "job.production.queued",
    "translations": {
      "label": "Production Queued",
      "description": "The job is sitting in the production queue awaiting to be processed."
    },
    "reason": "The system has auto-progressed this Job status for outsourcing purposes",
    "user": {
      "id": "09379cd3-dfd1-3efe-906b-51ccb65e30a9",
      "name": "Ashley Snowdon",
      "email": "ashley.snowdon@printed.com"
    },
    "created_at": "2025-06-23T10:10:15Z"
  },
  "statuses": [
    {
      "id": "3217dfab-2022-462a-930a-4b1d3885493b",
      "value": "job.new",
      "translations": {
        "label": "New",
        "description": "The job is new and has not been processed yet, it may require more information to progress."
      },
      "user": {
        "id": "5933e6bb-9f93-36b9-a428-4b89010a2e82",
        "name": "System",
        "email": "system@printed.com"
      },
      "created_at": "2025-06-23T03:21:11Z"
    },
    {
      "id": "4aaab0a8-9e37-425d-b91d-d8b57cc55a46",
      "value": "job.ready",
      "translations": {
        "label": "Ready",
        "description": "The job is ready to progress and needs confirmation to proceed."
      },
      "user": {
        "id": "b0381430-f675-398d-8520-4aa29aa6c625",
        "name": "System",
        "email": "system@printedapi.com"
      },
      "created_at": "2025-06-23T03:21:13Z"
    },
    {
      "id": "6c3bc539-95de-4617-9a9b-a4acddc808f6",
      "value": "job.preflight.queued",
      "translations": {
        "label": "Preflight Queued",
        "description": "The job is queued for preflighting."
      },
      "reason": "The system has auto-progressed this Job status",
      "user": {
        "id": "b0381430-f675-398d-8520-4aa29aa6c625",
        "name": "System",
        "email": "system@printedapi.com"
      },
      "created_at": "2025-06-23T03:21:13Z"
    },
    {
      "id": "1bb662c9-0aca-4158-884b-bc9a3a3df967",
      "value": "job.production.queued",
      "translations": {
        "label": "Production Queued",
        "description": "The job is queued for production."
      },
      "reason": "The system has auto-progressed this Job status for outsourcing purposes",
      "user": {
        "id": "09379cd3-dfd1-3efe-906b-51ccb65e30a9",
        "name": "Ashley Snowdon",
        "email": "ashley.snowdon@printed.com"
      },
      "created_at": "2025-06-23T10:10:15Z"
    }
  ],
  "product": {
    "id": "f763a769-2480-4cb9-a51c-b1d6a2bd0529",
    "name": "Leaflets & Flyers",
    "version": 3
  },
  "batch": JobBatch,
  "quantity": 1,
  "finishings": {},
  "components": {
    "general": {
      "id": "f1d7f12d-25ae-4532-b6f0-c542b13873b5",
      "label": "general",
      "quantity": 1,
      "material": {
        "id": "3cf1c5fd-bd47-4e07-9adb-3d6e4cf48c59",
        "alias": "material-uncoated-standard-170gsm",
        "name": "Uncoated Standard 170gsm",
        "base": {
          "id": "1d0b9a1d-b3b5-4483-a8dd-be2a875482af",
          "alias": "material-base-uncoated",
          "name": "Uncoated"
        },
        "variant": {
          "id": "9cfa44c6-8a0e-463d-ab84-9ba25a10416b",
          "alias": "material-variant-standard",
          "name": "Standard"
        },
        "weight": {
          "id": "99cb6c4c-9ebf-4f44-98ad-d02b6da7a00b",
          "alias": "material-weight-170gsm",
          "name": "170gsm",
          "weight": {
            "units": {
              "gsm": 170
            }
          }
        },
        "thickness": {
          "value": 202,
          "unit": "µm"
        }
      },
      "finishings": {
        "finishing-corners": {
          "id": "9014b6e7-4e7c-490e-b585-4a09512ee895",
          "category": {
            "id": "04628ef9-9fd7-433f-ac15-d4b41c2feac7",
            "alias": "finishing-corners",
            "name": "Corners"
          },
          "item": {
            "id": "3e3d9b43-ee50-4d64-8372-f54978dff542",
            "alias": "finishing-corners-square-corners",
            "name": "Square Corners"
          }
        },
        "finishing-ink": {
          "id": "798ad5ce-2719-43a7-bbb1-7a078376463d",
          "category": {
            "id": "8d602247-48e9-46db-871d-6fb75c280cb4",
            "alias": "finishing-ink",
            "name": "Ink"
          },
          "item": {
            "id": "0c9be629-4a77-47ad-beb9-f258344da34b",
            "alias": "finishing-ink-single",
            "name": "Single Side Ink"
          }
        },
        "finishing-orientation": {
          "id": "09b63808-e488-4223-8299-eda03f0e71b5",
          "category": {
            "id": "b87236aa-3883-41bd-ab9b-f134294bc554",
            "alias": "finishing-orientation",
            "name": "Orientation"
          },
          "item": {
            "id": "08225ba4-56ae-49d8-98da-47579d789580",
            "alias": "finishing-orientation-portrait",
            "name": "Portrait"
          }
        }
      },
      "dimensions": {
        "unfinished": {
          "mm": {
            "width": 210,
            "height": 148
          }
        },
        "finished": {
          "mm": {
            "width": 210,
            "height": 148
          }
        }
      },
      "artwork": {
        "id": "2262ecd9-fa72-4433-af4c-db67af3e132a",
        "status": {
          "value": "artwork.ready",
          "translations": {
            "label": "Ready",
            "description": "The artwork is ready for use."
          }
        },
        "files": {
          "ink": {
            "id": "2c22b52a-f5fb-484b-ab12-82e953081168",
            "label": "ink",
            "item": {
              "id": "0c9be629-4a77-47ad-beb9-f258344da34b",
              "alias": "finishing-ink-single",
              "name": "Single Side Ink"
            },
            "file": {
              "id": "b30adb7a-4565-4655-a1af-07e73e1d1ac2",
              "status": {
                "value": "file.ready",
                "translations": {
                  "label": "Ready",
                  "description": "The file has been downloaded and is ready for use."
                }
              },
              "url": "https://artwork.assets.printeddirect.com/1.0/files/6c19af9f-da3d-4489-ae20-add0c296b9ec/download",
              "mimetype": "application/pdf",
              "bytes": 6378723
            }
          }
        }
      }
    }
  },
  "weight": {
    "units": {
      "grams": 166.145
    }
  },
  "dimensions": {
    "mm": {
      "width": 210,
      "height": 148,
      "depth": 1
    }
  },
  "estimated_production_finish_at": "2025-06-25T03:21:11Z",
  "created_at": "2025-06-23T03:21:11Z",
  "updated_at": "2025-06-23T10:10:15Z"
}

Job Batch Information

The Job Batch will contain all Jobs to be shipped out together. An example payload of two Jobs in a Job Batch:

{
  "id": "29c7d3b7-e267-43aa-a5ce-b8b3598fbba2",
  "version": 3,
  "status": {
    "value": "job_batch.ready",
    "translations": {
      "label": "Ready",
      "description": "The job batch is ready to progress and needs confirmation to proceed."
    }
  },
  "address": Address,
  "delivery_option_id": "b80deb59-ad24-4d09-841b-82cb212e8c4d",
  "delivery": {
    "service": {
      "id": "48217517-2f38-4df6-8771-d64b61c88e9c",
      "carrier": {
        "alias": "interlink-express",
        "name": "DPD Local"
      },
      "service_code": "InterlinkParcelNextDay"
    },
    "turnaround": {
      "alias": "standard",
      "id": "a6cb57ac-38f9-4155-99f7-d100dcb0ae69",
      "name": "Standard"
    }
  }
}

It's important to note that when receiving a webhook, regardless of webhook event type, we will always provide lightweight versions of objects. If the information you require is not available in the webhook event itself, then you must use the API to receive the fully populated objects instead.

Artwork

PrintedDirect will always return print-ready artwork which has been approved by the Pre-press client.

Each component will have its own Artwork object with a status and its corresponding ArtworkFiles attached to specific finishings. This allows us to provide different artwork files for different parts of the Job. For example, a foiling Job has multiple artwork files (cmyk, foil-only, etc).

Downloading

In order to download the artwork, you must request the downloadable URL via an authenticated API endpoint:

GET /1.0/files/e6a76cb2-d12f-499f-a620-60a5104ffa31/download

This will return a 302 Found response with the URL of the file.

If you want to retrieve a standard 200 OK response with a JSON payload containing the URL (i.e. without the redirect response), you can use the following instead:

Request
GET /1.0/files/e6a76cb2-d12f-499f-a620-60a5104ffa31/download-path
Response
{
  "path": "https://artwork.assets.printeddirect.com/production/artwork/e6a76cb2-d12f-499f-a620-60a5104ffa31.pdf"
}