curl --request GET \
--url https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"uuid": "77777777-7777-4777-8777-777777777777",
"document": {
"uuid": "44444444-4444-4444-8444-444444444444",
"name": "Shipping label",
"filename": "ORDER-1042-label.pdf",
"format": "pdf"
},
"printer": {
"uuid": "88888888-8888-4888-8888-888888888888",
"name": "Packing station"
},
"copies": 1,
"state": "pending",
"error": null,
"created_at": "2026-09-16T10:00:02Z",
"updated_at": "2026-09-16T10:00:02Z",
"printed_at": null
}
}Get print job status
Return the current PrintJob using the same representation as creation and list responses. Document and printer identities are the captured job selections; current printer availability belongs to GET /printers/. printed follows the best available successful completion acknowledgement. Initial print-service acceptance alone remains queued.
curl --request GET \
--url https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs/{printJob}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"uuid": "77777777-7777-4777-8777-777777777777",
"document": {
"uuid": "44444444-4444-4444-8444-444444444444",
"name": "Shipping label",
"filename": "ORDER-1042-label.pdf",
"format": "pdf"
},
"printer": {
"uuid": "88888888-8888-4888-8888-888888888888",
"name": "Packing station"
},
"copies": 1,
"state": "pending",
"error": null,
"created_at": "2026-09-16T10:00:02Z",
"updated_at": "2026-09-16T10:00:02Z",
"printed_at": null
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Preferred language(s) for translatable content using BCP 47 language tags. Supports quality values (q-factors) for priority ordering. The API negotiates the best available language based on this header, the team's configured language, and available translations. If omitted, the team's default language is used.
"da-DK, da;q=0.9, en;q=0.8"
Optional client-supplied request identifier. When provided and matching the validation pattern, the value is echoed back in the Request-ID response header. Otherwise the server generates one. Use this to correlate requests between client and server when reporting issues.
1 - 64^[A-Za-z0-9._-]{1,64}$Path Parameters
Team uuid. All resources are scoped to this team.
UUID of the printJob in this team.
Response
Current print job.
One logical print attempt for one completed document file and copy count. It includes fixed file and printer identity snapshots, plus evolving job state. Every attempt uses this representation regardless of how it was initiated. Accepted print intent is recorded locally before file preparation or external submission, so setup failures are visible as jobs, including failures before a printer can be selected. A new reprint creates a new job; repeated delivery/status notifications update the existing job. Printer configuration changes or removal do not alter or delete print history.
Show child attributes
Show child attributes
Was this page helpful?