curl --request GET \
--url https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs")
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-777777777780",
"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": "failed",
"error": {
"message": "The print provider could not deliver the job.",
"source": "system",
"fields": []
},
"created_at": "2026-09-16T10:05:00Z",
"updated_at": "2026-09-16T10:05:10Z",
"printed_at": null
},
{
"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": "printed",
"error": null,
"created_at": "2026-09-16T10:00:02Z",
"updated_at": "2026-09-16T10:00:12Z",
"printed_at": "2026-09-16T10:00:12Z"
}
],
"links": {
"first": null,
"last": null,
"prev": null,
"next": null
},
"meta": {
"path": "https://api.smartsend.io/v2/teams/00000000-0000-4000-8000-000000000001/print-jobs",
"per_page": 25,
"next_cursor": null,
"prev_cursor": null
}
}List print jobs
List print attempts using cursor pagination. Each item has the same PrintJob representation as creation and detail responses. Filter by document_uuid for one file, shipment_uuid for all files from one shipment, printer_uuid for a selected printer. Filters combine. Default order is newest created first, with a stable creation-order tie-breaker; with updated_since use update time and a stable ID ascending. Use overlap and UUID upserts for current-state synchronisation; this is not a lossless event log. A failed reprint retains earlier successful jobs, and printer removal does not remove history. For the full history of a document, set document_uuid, omit state and updated_since filters, and follow the cursor until the end. Document.print_status reflects the most recently created attempt. A later failed reprint is therefore shown as failed, while any earlier successful attempts remain in this history.
curl --request GET \
--url https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs"
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', 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",
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"
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")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smartsend.io/v2/teams/{teamUuid}/print-jobs")
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-777777777780",
"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": "failed",
"error": {
"message": "The print provider could not deliver the job.",
"source": "system",
"fields": []
},
"created_at": "2026-09-16T10:05:00Z",
"updated_at": "2026-09-16T10:05:10Z",
"printed_at": null
},
{
"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": "printed",
"error": null,
"created_at": "2026-09-16T10:00:02Z",
"updated_at": "2026-09-16T10:00:12Z",
"printed_at": "2026-09-16T10:00:12Z"
}
],
"links": {
"first": null,
"last": null,
"prev": null,
"next": null
},
"meta": {
"path": "https://api.smartsend.io/v2/teams/00000000-0000-4000-8000-000000000001/print-jobs",
"per_page": 25,
"next_cursor": null,
"prev_cursor": 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.
Query Parameters
Print history for one document.
Jobs for the booking documents of one shipment.
Filter by the captured target printer UUID, including printers since removed. Jobs without a selected printer do not match.
Filter current print state. pending: Smart Send has recorded a local print attempt and is preparing or waiting to submit it to the print service. queued: the print service accepted the job but completion is not confirmed. printing: the provider reports processing. printed: successful completion according to the best available acknowledgement; the current acknowledgement is delivery to the operating-system print queue. failed: a known setup, preparation or delivery failure. unknown: the outcome cannot currently be established. Initial acceptance alone does not mean printed. Future providers may supply physical print confirmation.
pending, queued, printing, printed, failed, unknown Inclusive lower print-update boundary. Independent of shipment timestamps.
Opaque cursor returned by this endpoint. Omit it for the first page. Keep all filters, sort order and per_page unchanged within a page sequence. For tracking polls, use the documented resume_cursor once next is null.
1Maximum number of resources per page.
1 <= x <= 1000Response
Print jobs.
Show child attributes
Show child attributes
Navigation links for a cursor-paginated collection. Follow next or prev with GET; returned URLs preserve the selected filters, sort order, page size and sync boundary where applicable.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?