REST API
ConneoPrint Uploader & Preflight API
Integrate a professional print file uploader and preflight tool into your webshop or workflow. The API creates upload sessions, tracks completion, and delivers production-ready PDF files.
Getting started
All requests must be made over HTTPS. You need an API key and a conneoId — both are provided when you start a trial or sign a license agreement.
Authentication header
Authorization: YOUR_API_KEY
Base URL
https://conneo-print.conneo.io/api/:conneoId
Typical workflow
- 1
Create a session
POST a session with product specifications. You receive a session URL and a sessionId.
- 2
Open the uploader
Redirect or embed the session URL in your webshop so the customer can upload and review their file.
- 3
Confirm the upload
Once the customer is done, your backend calls the confirm endpoint to lock in the upload.
- 4
Retrieve previews
Fetch preview images of the uploaded file to show in your order confirmation.
- 5
Generate production files
Trigger production-ready PDF generation with bleed and cut marks.
Endpoints
/api/:conneoId/sessionsCreates a new upload session for a product. Returns a session URL to open in the uploader and a sessionId for subsequent calls.
Request body
{
"productSize": {
"width": "210", // mm
"height": "297" // mm
},
"bleed": {
"left": 3, // mm
"right": 3,
"top": 3,
"bottom": 3
},
"sidesCount": 2,
"quantity": 100,
"myId": "order-123", // your own reference (optional)
"options": {
"minimalDpi": 150,
"variantsConfig": { // optional
"maxCount": 5 // max number of variants / pages
},
"ui": { // optional
"enableUpload": true,
"toolbox": {
"buttons": {
"undo": true,
"rotateLeft": true,
"rotateRight": true,
"flip": true,
"reset": true,
"zoomOut": true,
"setToFit": true,
"crop": true
}
},
"sideList": {
"buttons": {
"addBlankPage": false,
"deleteAll": false,
"downloadPreview": true,
"deleteSide": true
},
"showQualityLabels": true
},
"rightBar": {
"enabled": true,
"qualityControlSection": {
"enabled": true
},
"pageInfoSection": {
"enabled": true,
"pageNumber": true,
"scaling": true,
"colorCount": true,
"fileFormat": true,
"font": true,
"resolution": true
},
"yourProductSection": {
"enabled": true,
"pagesCount": true,
"productSize": true,
"minimalResolution": true
},
"sourceFileSection": {
"enabled": true,
"filename": true,
"pageNumber": true,
"size": true
},
"tipSection": {
"enabled": true,
"title": "Tips",
"text": "Custom tips"
}
}
}
}
}Response
{
"meta": { "status": 200, "message": "OK" },
"data": {
"sessionId": "abc123",
"url": "https://upload.conneo.io/session/abc123"
}
}/api/:conneoId/sessions/:sessionId/confirmConfirms that the customer has finished uploading. Call this from your backend once the customer clicks "Done" in the uploader.
Request body
{
"confirmed": true
}Response
{
"meta": { "status": 200, "message": "Session confirmed" }
}/api/:conneoId/:sessionId/productsReturns preview images of the uploaded file. Add ?production=true to get production-resolution previews.
Query parameters
production boolean optional Returns high-res production previews
Response
{
"meta": { "status": 200 },
"data": [
{
"productId": "p1",
"previewUrl": "https://cdn.conneo.io/preview/..."
}
]
}/api/:conneoId/:sessionId/production-filesTriggers generation of print-ready production files. The files are available via the assets endpoint once processing is complete.
Request body
{
"productionBleed": 3, // mm — bleed on production PDF
"description": "Order 1234",
"disableCutMarks": false
}/api/:conneoId/:sessionId/assetsReturns all assets attached to a session — uploaded originals, previews, and generated production files.
Response
{
"meta": { "status": 200 },
"data": [
{
"assetId": "a1",
"type": "production",
"url": "https://cdn.conneo.io/assets/...",
"createdAt": "2024-01-15T10:30:00Z"
}
]
}/api/:conneoId/:sessionId/productsAdds a product variant (extra page or artwork) to an existing session.
/api/:conneoId/:sessionId/products/:productIdUpdates the quantity for a specific variant within the session.
/api/:conneoId/:sessionId/products/:productIdRemoves a variant from the session.
HTTP status codes
200OK
Request succeeded.
400Bad Request
Missing or invalid parameters.
401Unauthorized
Invalid or missing API key.
404Not Found
Session or resource does not exist.
500Internal Server Error
Something went wrong on our end.
Need access or support?
Please request a personal demo page first — we'll walk you through the integration and provide API credentials.