List the tenant's prints
const url = 'https://api.pixonaut.app/v1/prints?page=1&pageSize=50&sort=newest';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.pixonaut.app/v1/prints?page=1&pageSize=50&sort=newest' \ --header 'Authorization: Bearer <token>'Operation ID: prints.list
Newest first unless sort says otherwise. status, apiKeyId, designId and q narrow the list, and counts says how many each status holds under the rest. Rows carry no job ticket; read one print for it. Each row’s printshops names the distinct printshops its orders went to, and orderCount says how many orders hold it; they are empty and 0 for a studio member without orders:read, since where and how often a print was ordered is order data.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”The page to read, from 1; the first when left out.
The page to read, from 1; the first when left out.
Only prints in any of these statuses: created is still being made, completed is ready to order, failed could not be made. Repeat it, or separate them with commas (completed,created, the prints an order can be placed of).
Only the prints made from this design: its id, as list_designs returns it.
Only the prints made from this design: its id, as list_designs returns it.
Only the prints whose number, template name or design id holds this text, case aside.
Only the prints whose number, template name or design id holds this text, case aside.
How the list sorts: newest first (the default), oldest first, or by what each print’s files take in storage, largest or smallest first. A print with no stored size sorts last either way.
How the list sorts: newest first (the default), oldest first, or by what each print’s files take in storage, largest or smallest first. A print with no stored size sorts last either way.
Responses
Section titled “Responses”A page of prints
object
How many prints each status holds under every filter but status, for a status filter that says what each choice holds.
object
object
The bleed around the trim in millimetres. Null until the print completes, and for a template that names no blank.
The design’s revision now. A print whose designRevision is lower is of an older revision, and cannot be ordered.
The design’s revision this print rendered. Only a print of the design’s current revision can be ordered; one made before a correction is refused print_superseded.
Whose fault a failed print’s failure is. Null for a print that did not fail, and for one that failed before the reason was kept.
object
Whose the fault is: design when the design must change before it can be printed, ours when the renderer failed and trying again will probably fail the same way.
The form the print’s files are in: flat, one drawing with every glyph a path; layered, each printed layer its own optional content group, every glyph still a path; or layered_live_text, its plain text live as well. A print made before these forms is flat. Another form is fetched with form on the print’s file.
How many bytes the print’s stored files take in the workspace’s storage; null while it renders, once its files are deleted, and for a print made before sizes were kept.
How many files the print keeps, null whenever filesBytes is.
When the print’s files were deleted, after its design’s personal data was erased or by a member to free storage; null while they are kept. The print stays as a record.
The print’s trimmed height in millimetres. Null until the print completes.
Why the print has no layered file: it was asked for one, or that form was fetched, and the file could not be made or differed from the flat one. Null otherwise.
Why the print has no layered_live_text file: it was asked for one, or that form was fetched, and the file could not be made or its live text differed from the flat one past the tolerance. Null otherwise.
The print number its files are named after, such as PR-2026-381042. Null for a print made before numbers were kept that never completed.
How many orders hold the print. 0 for a print never ordered, and for a studio member without orders:read.
The distinct names of the printshops the print’s orders went to, first-sent first: two connections sharing a name appear once. Empty for a studio member without orders:read.
The name of the template the print was made from. Null until the print completes.
The version of that template the print was rendered from. Null until the print completes.
textDeviationPx in millimetres at the print’s resolution. Null with no such file.
How far from its outline the live text of the print’s layered_live_text file measured when it was checked, in device pixels at the print’s resolution: 0 when it drew exactly as the flat one. Null with no such file.
The print’s trimmed width in millimetres. Null until the print completes.
Examples
Example
{ "counts": { "completed": 1, "created": 0, "failed": 0 }, "page": 1, "pageSize": 50, "prints": [ { "apiKeyId": "3b2d9c1e-5a4f-4e7d-8c6b-1a0f9e8d7c6b", "bleedMm": 3, "completedAt": 1791886446000, "createdAt": 1791886443000, "currentRevision": 3, "designId": "6f1c8a2b-3d4e-4f5a-8b6c-7d8e9f0a1b2c", "designRevision": 3, "failure": null, "fileForm": "flat", "filesBytes": 4823117, "filesCount": 1, "filesErasedAt": null, "heightMm": 300, "id": "c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f", "layeredFallback": null, "liveTextFallback": null, "number": "PR-2026-481920", "orderCount": 2, "printshops": [ "Nordic Print Works" ], "status": "completed", "templateName": "Class of 2026", "templateVersion": 2, "textDeviationMm": null, "textDeviationPx": null, "textTolerance": { "unit": "px", "value": 1 }, "widthMm": 250 } ], "total": 1}Headers
Section titled “Headers”Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.
Refused: unauthorized
object
Examples
unauthorized
{ "error": "unauthorized"}Headers
Section titled “Headers”Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.
Refused: origin_forbidden, forbidden, feature_disabled, workspace_suspended
object
The feature the tenant does not have. Always sent with feature_disabled.
Examples
feature_disabled
{ "error": "feature_disabled", "feature": "api"}forbidden
{ "error": "forbidden"}origin_forbidden
{ "error": "origin_forbidden"}workspace_suspended
{ "error": "workspace_suspended"}Headers
Section titled “Headers”Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.
Refused: invalid_query
object
Examples
invalid_query
{ "error": "invalid_query"}Headers
Section titled “Headers”Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.
Refused: db_error. A request that failed unexpectedly answers as text instead.
object
Examples
db_error
{ "error": "db_error"}Headers
Section titled “Headers”Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.
Questions? Write to [email protected].