Skip to content

Print Job Tracking

Due to some legacy infrastructure (from what was previously known as "Cura Connect" or "Ultimaker Connect"), we have different names for the same idenitifiers depending on which endpoint you use.

When uploading a toolpath using /jobs/upload, you will receive a job_id. This ID belongs to the file, not a particular printing instance of it.

PUT "https://api.ultimaker.com/cura/v1/jobs/upload"

{
    "data": {
        "job_id": "ABCDefGHIjKlMNOpQrSTUvYxWZ0-1234567890abcDE=",
        "content_type": "text/plain",
        "upload_url": "https://storage.googleapis.com/.....",
        ...
    }
}

When sending a print job to a printer using /clusters/{cluster_id}/print/{job_id}, you will receive a job_instance_uuid. This ID belongs to the instance of the print job (a 'printing copy' of the original toolpath). You can call this endpoint multiple times to print a certain file multiple times, and you will receive a different job_instance_uuid each time, while the job_id stays the same.

POST "https://api.ultimaker.com/connect/v1/clusters/{cluster_id}/print/{job_id}"

{
    "data": {
        "job_id": "ABCDefGHIjKlMNOpQrSTUvYxWZ0-1234567890abcDE=",
        "job_instance_uuid": "5712e0ac-e90a-0344-ee91-7e8050a44c9b",
        "status": "queued",
        ...
    }
}

When requesting the status of a printer, you will receive 2 IDs per item in the print_jobs list:

  • cloud_job_id: This ID matches the job_id from the upload endpoint. You can use it to track how many times you have printed a certain file.
  • uuid: This ID matches the job_instance_uuid from the print endpoint. You can use it to track a specific instance/copy of the print job.
GET "https://api.ultimaker.com/connect/v1/clusters/{cluster_id}/status"

{
    "data": {
        "print_jobs": [
            {
                "cloud_job_id": "ABCDefGHIjKlMNOpQrSTUvYxWZ0-1234567890abcDE=",
                "uuid": "5712e0ac-e90a-0344-ee91-7e8050a44c9b",
                ...
            }
        ],
        ...
    }
}

Warning

The job_instance_uuid was only introduced in firmware version 6.3.0 for the S-line and 1.4 for the Ultimaker 2+ Connect. In older firmware versions, these two fields will not match!