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. 1

    Create a session

    POST a session with product specifications. You receive a session URL and a sessionId.

  2. 2

    Open the uploader

    Redirect or embed the session URL in your webshop so the customer can upload and review their file.

  3. 3

    Confirm the upload

    Once the customer is done, your backend calls the confirm endpoint to lock in the upload.

  4. 4

    Retrieve previews

    Fetch preview images of the uploaded file to show in your order confirmation.

  5. 5

    Generate production files

    Trigger production-ready PDF generation with bleed and cut marks.

Endpoints

POST/api/:conneoId/sessions

Creates 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"
  }
}
POST/api/:conneoId/sessions/:sessionId/confirm

Confirms 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" }
}
GET/api/:conneoId/:sessionId/products

Returns 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/..."
    }
  ]
}
POST/api/:conneoId/:sessionId/production-files

Triggers 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
}
GET/api/:conneoId/:sessionId/assets

Returns 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"
    }
  ]
}
POST/api/:conneoId/:sessionId/products

Adds a product variant (extra page or artwork) to an existing session.

PUT/api/:conneoId/:sessionId/products/:productId

Updates the quantity for a specific variant within the session.

DELETE/api/:conneoId/:sessionId/products/:productId

Removes a variant from the session.

HTTP status codes

200

OK

Request succeeded.

400

Bad Request

Missing or invalid parameters.

401

Unauthorized

Invalid or missing API key.

404

Not Found

Session or resource does not exist.

500

Internal 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.