curl --request GET \
--url https://api.smartsend.io/beta/teams/{teamUuid}/documents/{document} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smartsend.io/beta/teams/{teamUuid}/documents/{document}"
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/beta/teams/{teamUuid}/documents/{document}', 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/beta/teams/{teamUuid}/documents/{document}",
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/beta/teams/{teamUuid}/documents/{document}"
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/beta/teams/{teamUuid}/documents/{document}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smartsend.io/beta/teams/{teamUuid}/documents/{document}")
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": "44444444-4444-4444-8444-444444444444",
"print_status": "printed",
"name": "Shipping label",
"filename": "ORDER-1042-label.pdf",
"types": [
"label"
],
"format": "pdf",
"mime_type": "application/pdf",
"size_bytes": 18342,
"width": {
"value": 210,
"unit": "mm"
},
"height": {
"value": 297,
"unit": "mm"
},
"page_count": 1,
"url": "https://downloads.example.com/documents/label.pdf",
"url_expires_at": "2026-09-16T10:15:02Z",
"description": "Print and attach the label.",
"source": {
"uuid": "22222222-2222-4222-8222-222222222222",
"type": "shipment"
},
"created_at": "2026-09-16T10:00:02Z",
"updated_at": "2026-09-16T10:00:12Z"
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "The requested resource was not found."
}{
"message": "The given data was invalid.",
"errors": {
"field_name": [
"This field is required."
]
}
}{
"message": "Too Many Attempts."
}{
"message": "Server Error"
}{
"message": "Service Unavailable"
}Get document
Returns a document’s metadata, download link and latest print status.
curl --request GET \
--url https://api.smartsend.io/beta/teams/{teamUuid}/documents/{document} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.smartsend.io/beta/teams/{teamUuid}/documents/{document}"
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/beta/teams/{teamUuid}/documents/{document}', 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/beta/teams/{teamUuid}/documents/{document}",
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/beta/teams/{teamUuid}/documents/{document}"
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/beta/teams/{teamUuid}/documents/{document}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smartsend.io/beta/teams/{teamUuid}/documents/{document}")
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": "44444444-4444-4444-8444-444444444444",
"print_status": "printed",
"name": "Shipping label",
"filename": "ORDER-1042-label.pdf",
"types": [
"label"
],
"format": "pdf",
"mime_type": "application/pdf",
"size_bytes": 18342,
"width": {
"value": 210,
"unit": "mm"
},
"height": {
"value": 297,
"unit": "mm"
},
"page_count": 1,
"url": "https://downloads.example.com/documents/label.pdf",
"url_expires_at": "2026-09-16T10:15:02Z",
"description": "Print and attach the label.",
"source": {
"uuid": "22222222-2222-4222-8222-222222222222",
"type": "shipment"
},
"created_at": "2026-09-16T10:00:02Z",
"updated_at": "2026-09-16T10:00:12Z"
}
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "The requested resource was not found."
}{
"message": "The given data was invalid.",
"errors": {
"field_name": [
"This field is required."
]
}
}{
"message": "Too Many Attempts."
}{
"message": "Server Error"
}{
"message": "Service Unavailable"
}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 document in this team.
Response
Document metadata.
One completed team-owned business-document file intended for viewing or printing. Document endpoints include source; shipments embed the same metadata without source. A file may cover multiple parcels. Every physical page or label in a document must have the same dimensions in its finished orientation; different sizes require separate files exposed as separate documents. Null dimensions mean unknown or not applicable, not mixed page sizes. Reports and manifests use the same model. QR images and machine-readable data exports are separate resources. File identity, content, dimensions and page count are stable; signed URLs and print_status can change. Print attempts and their history are retrieved separately through print-jobs filtered by document_uuid. Dimensions and page count are stored when the file is produced, so reading metadata does not read the file from storage.
Show child attributes
Show child attributes
Was this page helpful?