Changelog

2024-11-19

2024-11-14

2024-10-05

  • Expose serial number on printers in the List Printers and Get Printer Properties response.

2024-04-06

  • Expose model, vendor and location fields on printers in the List Printers and Get Printer Properties response.

2023-07-12

2023-05-24

  • Added the /changeOwner endpoint which allows users to modify the print job’s owner by providing the email address of the job’s new owner. See Change owner.

2021-07-30

2021-03-26

  • Better documented the use for the PDL parameter, see Submit a job

2021-03-22

  • Added an option in the request body of the New Submit method, to allow the user to specify if a job should be scaled.

2021-03-01

  • Added an alternative version of the /submit endpoint, that allows users to change print job properties like color and duplex that are defined in the request body.
    See New Submit method for more information.

  • Added new changelog section to the API documentation.

Introduction

The Printix Cloud Print API is intended for use by applications that wish to push print jobs in PDF or native format into a Printix queue.

Creating and printing a document is a multistage process, consisting of:

  1. Fetching a list of printers. (See List Printers)

  2. Selecting a printer. (See Get printer properties)

  3. Creating a job for that printer. (See Submit a job)

  4. Making a PUT request to the cloud storage links returned in the previous step’s response, including the document to print in the request body. (See Upload a file)

  5. Using the uploadCompleted link present in the response from step 3 to inform Printix that the document has been submitted and uploaded and is ready to be printed. (See Complete Upload).

Each of these four steps is detailed in their respective sections of this document.

API Conventions

Please be aware that use of the API may be throttled if an application makes too many requests in a short amount of time: the current threshold is set to 100 request per minute per user, which we estimate would allow a user to submit an average of 20 jobs each minute.
See the Rate Limiting section for more information.
Terminology: The word "Resource" is used to refer to a single entity (printer, job, etc.) in its raw form. The word "Document" is used to describe a complete response, so a resource or multiple resources and whatever container elements they may be returned in.

This API makes use of the HAL document format. As such, it is intended to be discoverable by only having knowledge of the API entry-point (see root request). All successful responses contain links that allow exploring the rest of the API. As such, consumers of the API are encouraged to not try to manually construct URLs, but instead make use of the ones returned by previous API responses. An example response looks like:

{
  "_links" : {
    "self" : {
      "href" : [the URL of the returned document] ,
      "templated" : true
    },
    "multiples": [{
      "href" : [a single link ] ,
      "templated" : true
      },{
      "href" : [another single link] ,
      "templated" : true
      }
    ]
  },
  ...object properties in JSON
}
It’s worth noting that, according to the specification, a link relation may be represented as either an object (if there’s only one), or an array (if there are more).
This may represent a challenge.

Resource lists (jobs, printers) are returned in a paginated container format, with information about the current page (page number, page size, total elements, and total page count) and links to next and previous page if these exist.

{
  "_links" : {
    "self" : {
      "href" : [the URL of the returned document],
      "templated" : true
    },
    "next" : {
       "href" : [link to next page of element],
    }
  },
  "success" : true,
  "message" : "OK",
  "printers" : [ ],
  "page" : {
    "size" : 100,
    "totalElements" : 101,
    "totalPages" : 2,
    "number" : 1
  }
}

See the individual resource descriptions below for a more detailed view of resource structures.

Authentication

The service interacting with Printix must first acquire a set of service tokens. This is done using the Client Credentials flow of OAuth 2

The service is provided, out of band, with a credential set consisting of a client ID and a client secret. These are posted to the Printix token endpoint.

There can only be one set of Cloud Print API credentials in use at one time: if you create new ones later on as described below, your previous ones will be invalidated.
Be aware that, because the API credentials are tied to an API "user" in our system, the Cloud Print API will not work if the Secure Print configuration on your tenant is set to "All users must print securely".
If you wish to use the Cloud Print API, please use Groups to set what users must print securely.
Refer to this section of the Printix Administrator manual for more information.

The client ID and secret necessary to authenticate with the API can be obtained through the Printix Administrator dashboard, please refer to the Printix Administrator manual for instruction on how to generate a set of API credentials.

A client ID and secret can be used to get an access token, by sending a POST request to the Printix token endpoint:

$ curl 'https://auth.printix.net/oauth/token'  -X POST \
    -H 'Content-Type: application/x-www-form-urlencoded'\
    -d 'grant_type=client_credentials&client_id={clientId}&client_secret={clientSecret}

In case of success the response will be:

Content-Type: application/json;charset=UTF-8

{
  "access_token": "5a8c4ec4-ff70-4f4c-b088-29a8cae38062",
  "refresh_token": "e6f05338-9d27-466b-afa8-0ce72945da7d",
  "expires_in": 3599
}

Each access token is valid for one hour, after which it will need to be refreshed by getting a new one.

To refresh a token, send a POST request to the Printix token endpoint:

curl 'https://auth.printix.net/oauth/token'  -X POST \
    -H 'Content-Type: application/x-www-form-urlencoded'\
    -d 'grant_type=refresh_token&client_id={clientId}&refresh_token={refreshToken}'

In case of success the response will be:

Content-Type: application/json;charset=UTF-8

{
  "access_token": "5a8c4ec4-ff70-4f4c-b088-29a8cae38062",
  "refresh_token": "e6f05338-9d27-466b-afa8-0ce72945da7d",
  "expires_in": 3599
}

Store the refresh token returned in the response and use that for the next token refresh. The refresh token will not be updated on every request, but you still make sure, you’re using the latest.

Webhooks

Webhooks allow you to subscribe to events happening in Printix and automatically receive notifications on your server whenever those events take place. A webhook can be registered with a URL and a selection of event types it will receive.

Each webhook has two shared secrets. These secrets are used to compute a signature of the webhook request body, enabling the receiving system to verify the integrity of the requests. The signatures are included in HTTP headers named X-Printix-Signature. Printix computes and sends an HMAC-SHA512 signature for both registered shared secrets with every webhook request. This allows the receiving system to rotate keys without downtime.

Webhooks can be created on the Printix Administrator Applications page. Please refer to the Printix Administrator manual for instruction on how to create webhooks and obtain the shared secrets.

Printix expects a 2xx response to its webhook requests. If Printix cannot connect to the webhook endpoint or receives a non-2xx response, it will enter a retry loop. Printix will retry several times over three days.

Each event contains the event name, a link to the related resource, and the timestamp of when the event occurred. To prevent replay attacks, only events emitted recently (within ±15 minutes) should be processed. The emitted timestamp will be updated to the current time during retries.

User Creation Event

A webhook can be set up to notify about user creation events. When triggered, Printix sends a POST request to the configured URL, including a link to the newly created user resource. The receiving system can use the provided link to fetch the user details and then call the Register Card API to associate the user’s card with the newly created user in Printix.

User Creation Event Example

A webhook request from Printix about user creation looks like this:

curl –X POST https://{webhook-endpoint} \
  -H "X-Printix-Signature-1: 4d2904425637ae978eeebc7978379c5ab55dcc3690b1af8310c22736d9ef9b0d239c7631424bf61d6d6bcc32ef50f836d01c86ea107b60c4b3fe558b1d958476" \
  -H "X-Printix-Signature-2: 3646d66f900bc794855567ec8c02fade0fe11e1c1acc983d7d2e035d73124acc0be000e4395b1ca56798d7a1958f15238d5b735180563df53e7288fc8814809a" \
  -H "X-Printix-Request-ID: 2196f6fa-294f-4ce3-8d63-93c498d74e8d" \
  -H "Content-Type: application/json" \
  --data '[
    "emitted": 1.7180938464880643E9,
    "events": [
      {
            "name": "RESOURCE.TENANT_USER.CREATE",
            "href": "https://api.printix.net/cloudprint/tenants/{tenant}/users/{user}",
            "time": 1.7180938464880643E9
      },
      {
            "name": "RESOURCE.TENANT_USER.CREATE",
            "href": " https://api.printix.net/cloudprint/tenants/{tenant}/users/{user}",
            "time": 1.7180938464880643E9
      }
    ]
  ]'

Rate Limiting

Rate limiting is implemented using a Token Bucket Algorithm: in short, the server allocates a "bucket" containing a certain amount of tokens (100 in our case), and every time a request is made to the API a token is consumed. The tokens are refilled at a fixed time interval (60 seconds), and if a request comes in but the token bucket is empty, the incoming request is throttled.

Upon a successful request, the response will contain the header X-Rate-Limit-Remaining which indicates the remaining number of tokens for a given time interval.
If on the other hand, a request is throttled and returns HTTP status code 429, the response will contain the custom header X-Rate-Limit-Retry-After-Seconds indicating how many seconds to wait for before retrying.

Throttling applies equally to all endpoints, with the same rate of 100 requests per minute per user. Given these values, users should expect to be able to process around 20 print jobs per minute.

Root request

The API entry point is located at https://api.printix.net/cloudprint
This endpoint takes no request parameters and returns a list of links to accessible tenants.

Code Example Root Example

Submit a job

The /submit endpoint is used to submit a document for printing.

This endpoint creates a new Printix job using a title parameter and various values specified in the request body:
It creates a new job with the title and properties specified in the body, and returns the job’s metadata, alongside two sets of links:

  • A link to upload the file to be printed to Printix cloud storage (using either an Azure or Google Cloud Platform backend)

  • An uploadCompleted link used to notify Printix that upload was completed, and the job is ready for printing.

These links will be used after the document has been submitted, to upload the file to cloud storage and finally start the printing process with a request to the /completeUpload endpoint.

This endpoint takes three parameters:

  • The title parameter is a string representing the title of the print job inside the Printix system. It is not mandatory for this parameter to be equal to the title of the document to print (it may be beneficial for consistency, however it is possible to use an arbitrary name for this parameter).

  • The user parameter is an optional parameter that specifies which user is going to print the current job being submitted. This parameter should be used for scenarios where it is necessary to use the Printix Redirector software, such as USB Printing or integration with third-party print solutions.

The Printix Administrator Manual contains further information on both USB printing, and Integration with third-party Print solutions.

In the case of USB printing, it is not necessary to provide the Printix Redirector with a specific username, so the parameter may set to an arbitrary name.
In the case of integration with third-party solutions however, the user parameter should be set to the same username used in the third-party software. It is important to use the exact same formatting in the user parameter for the Printix Redirector to work.

  • The PDL parameter is an optional parameter describing the Page Description Language that the document is in: Examples include PostScript or PCL5. This parameter is used to specify the document to be printed is not a PDF and should be handled accordingly by the print queue driver. It is thus not necessary to have this parameter when printing native PDF documents.

The PDL parameter can accept one of the following values:

  • PCL5

  • PCLXL

  • POSTSCRIPT

  • UFRII

  • TEXT

  • XPS

Please be aware that setting custom paper sizes is not supported, changing fields inside the request body will not change the document output.
Users who wish to change color, duplex, paper size and other such print job properties should use the New Submit method instead.
To use non-standard document dimensions outside of the supported paper sizes, for example for use with label printers, please submit a document in native print format instead of PDF.

Request parameters

Parameter Description

title

Title of the print job.

user

Name of the user that is printing. This parameter is used for integration with third-party print solutions.

PDL

Optional. Printer Document Language to use for the document to be printed, if it is not PDF.

Response

This API call returns the following:

  • A boolean success indicator.

  • A description of the print job that was created, with its metadata,

  • Upload links to the tenant’s preferred cloud storage service, to which the document to be printed should be uploaded.

  • A uploadCompleted link to be used with the /completeUpload endpoint.

Below is a breakdown of the fields returned in the response.

Path Type Description

job.id

String

ID of the generated print job.

job.createTime

Number

Unix timestamp for when the job was created.

job.updateTime

Number

Unix timestamp of when the job was last updated (for new jobs, this is the same as createTime).

job.status

String

Current state of the job.

job.ownerId

String

ID of the Printix user who is the owner of the job.

job.contentType

String

Content type of the uploaded document.

job.title

String

Title of the print job that was specified in the parameter of the /submit request.

_links.changeOwner

Object

Link to be used for changing the job’s owner.

_links.uploadCompleted

Object

Link to be used once a job has completed uploading, to initiate the print process.

uploadLinks

Array

Document upload link.

uploadLinks.[0].url

String

The actual URL to upload the document data (using HTTP PUT).

uploadLinks.[0].headers

Object

Any additional headers to add to the HTTP PUT request.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the supplied printer specified in the request could not be found. A 500 error is thrown if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Code example: Submit Example

New Submit method

An alternative version of the /submit endpoint exist, allowing users to specify the following properties for the print job they are submitting:

  • Color

  • Duplex

  • Page orientation

  • Copies

  • Paper size

  • Scaling

  • Job releasing mode (immediately, later)

For more details on these, see the Request body fields table below, as well as the example.

This newer version of the endpoint is on the same URL as the original version of the /submit endpoint. To use this new version, simply follow these two steps:
- Add a version header to your request and set it to the value 1.1.
- Change the body of an existing request, or create a new request body; In both cases,
the request body should have the same fields and formatting shown in Submit Example (version 1.1) and Submit Example (version 1.1 with userMapping).

The Request body fields table further below shows what values can be set for each field.

Request parameters

Parameter Description

title

The title of the print job

user

The name of the user that is printing, for integration with third-party print solutions

PDL

Optional. The Printer Document Language to use for the document to be printed, if it is not PDF

releaseImmediately

Optional. A boolean parameter indicating whether the print job should be released on the printer immediately after the uploadCompleted link was invoked. Default: "true"

Refer to the Submit a job section for more information on request parameters.

Request body fields

Parameter Description

color

Sets whether the document should be printed in color.
Possible values are true or false

duplex

Sets what kind of duplex to use to print the document, if any.
Possible values are NONE, SHORT_EDGE or LONG_EDGE

page_orientation

Sets the page orientation.
Possible values are PORTRAIT, LANDSCAPE or AUTO

copies

A positive integer, representing the number of copies to print.

media_size

Sets the page dimensions for the document to be printed.
Choose one of the following Paper size values

scaling

Determines how the job should be scaled if at all; if set the document will be scaled to the paper size
Possible values are: NOSCALE, SHRINK, FIT.

userMapping

Optional field. When the field is specified, the API will assign the job to the user matching the mapping.
The field should contain an object with a "key" and a "value" field.
"key": "one of (AzureObjectId, AzureUPN, AzureUPN, SAMAccountName, OnPremImmutableId, OnPremUpn, Email)"
"value": "value to filter for"

Paper size values

  • A0, A1, A2, A3, A4, A5, B4, B5

  • ISOA0, ISOA1, ISOA2, ISOA3, ISOA4, ISOA5, ISOB4, ISOB5

  • LETTER

  • LEGAL

  • EXECUTIVE

  • EXEC

  • COM10

  • MONARCH

  • DL

  • ANSIC, ANSID, ANSIE, ARCHC, ARCHD, ARCHE

  • TABLOID,

  • JISB5,

  • JISB4,

  • STATEMENT,

Error Handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as one of the following error codes:

  • 400 error if the userMapping request body field is present, but the key is empty or doesn’t match any of the allowed strings,
    or if both the userMapping request body field and the user request parameter are specified.

  • 404 error if the supplied printer specified in the request could not be found.

  • 422 error if the key of the userMapping field is valid, but the user lookup returns either 0 or more than 1 users on the tenant.

  • 500 error is thrown if other errors occur.

In all error cases, the response body contains an error description and an internal error ID for troubleshooting as well.

Upload a file

After a /submit request has completed successfully, it is up to the user or application to upload the document to a cloud storage, so that it may be printed.

To upload documents to a cloud storage, a cloud storage must be enabled for the tenant. Instead of using the Printix Cloud Storage, we encourage you to create your own cloud storage. Instructions on how to create a cloud storage can be found in the Printix Administrator Manual. The Document sources must include Print Later, and the cloud storage must be available on all sites.

To upload a document to cloud storage, send a PUT request to the cloud storage URL returned in the /submit response, using the document to be uploaded as a body. The /submit response also contains an additional field after the generated cloud storage URL, that should be added as a custom header in the PUT request. This header varies depending on what storage provider is chosen.

Below is an example of how to upload a document to Azure blob storage using CURL: in this example we assume that we need to print a file called test.pdf located in the current working directory, and we use the URL and headers returned in the Submit Example

1) We submit the document, setting the title parameter to a title of our choice.

2) We send a PUT request to the appropriate URL based on our storage provider of choice, taking care to add the custom header.

The submit example uses Azure, and thus we will also add the custom header x-ms-blob-type with the appropriate value.

Be aware that this is just an example, the actual request URL and headers will vary based on which provider is used, the document to be uploaded and the time. Use the URL and headers provided in the submit response for your own request, and use the appropriate file path for your document in the --binary-data filed.
$ curl 'https://printixjobs.blob.core.windows.net/9aab9505-c84f-4dba-814f-d710b7c6d089/printix-jobs-file-upload/c5d97124-4e31-4a83-887b-b52b6d53249e?sig=3FlDWWBnr7704VgZjjApglkioBcUkS9F%2FZXJAVbBmAY%3D&st=2020-09-17T12%3A11%3A14Z&se=2020-09-17T13%3A26%3A14Z&sv=2017-04-17&sp=cw&sr=b' -i \
-X POST \
-H 'Content-Type: application/pdf' \
-H 'x-ms-blob-type: BlockBlob' \
--data-binary '@./test.pdf'

Error handling

If the upload is performed successfully, it will return a 201 or 200 status code.

Please be aware that uploading a file to cloud storage does not require the same authentication as Cloud Print API endpoints: Azure and/or Google will handle the authentication for this particular request.

GCP and Azure will not recognize Cloud Print API tokens and will return a 403 error if the user tries to send such token along with the request.
In practice, users should use no explicit authentication for this step.

Other failure scenarios will return a 500 error.

Complete Upload

The /completeUpload endpoint is the final step in the workflow necessary to submit a document for printing using this API. It informs Printix that the job submission and subsequent upload has completed successfully.

Once the Printix system has been notified that the user has submitted and uploaded a document, it will take care of converting the document if necessary, and queue it for printing on the appropriate printer. The job will be printed on the printer and printer queue that were specified during a previous /submit request. Printing starts automatically only if the releaseImmediately=true parameter was specified in the earlier /submit request.

This endpoint takes no request parameters; it returns a boolean success indicator, alongside metadata for the job indicating that it is being processed.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the specified printer or job could not be found. A 500 error is thrown if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Code Example: Complete Upload Example

Retrieve Jobs

The /jobs endpoint (plural) is used to retrieve a list of jobs for the authenticated user. There are two ways to call the /jobs endpoint, as a request can be made with or without specifying printer ID and queue ID.

If a request is made without specifying a printer ID and queue ID, this endpoint will return a list of all jobs associated with the authenticated user, irrespective of what printer they are associated with.
If, on the other hand, the user specifies the printer ID and queue ID, this request will return a list of jobs on that queue.

To illustrate the difference, note the difference between the request URLs in the examples: sending a request to

/cloudprint/tenants/b54aed12-c905-4dd1-a69f-5b34aec43533/jobs

will retrieve all jobs for that tenant, while a request sent to

 /cloudprint/tenants/2b137cb3-8cd3-4dd6-9983-64b1ee2c8b23/printers/581cd264-ccda-4407-b0c5-fb87bd42e95f/queues/498eb501-ae20-40b5-9779-be8d20dbdfa7/jobs

will retrieve jobs for that same tenant, but only for the specified queue.

Request parameters

Both versions of this endpoint take the optional parameters outlined below, except for the sortOrder parameter
Parameter Description

query

A parameter used to look for printers whose name contains a specific sequence of characters

page

An integer value that indicates which page of the results to display if the list of printers is split over multiple pages

pageSize

An integer value that indicates how many printers can fit on a page

sortOrder

An optional parameter that indicates how the returned jobs should be sorted

The sortOrder parameter is only available when listing all jobs on a tenant (i.e., the first example endpoint given above) and can be used to set what propriety is used to sort the returned jobs.

The sortOrder parameter can be set to one of the following values:

Value

Description

CREATE_TIME

Sort jobs in ascending order of submission.

CREATE_TIME_DESC

Sort jobs in descending order of submission. (this is the default if the parameter is not set explicitly)

STATUS

Sort jobs in ascending order of status.

STATUS_DESC

Sort jobs in descending order of status.

TITLE

Sort jobs in ascending alphabetical order of title

TITLE_DESC

Sort jobs in descending alphabetical order of title.

Response

Both versions of the endpoint return a boolean success indicator and a paged list of jobs.

Below is a breakdown of the fields returned in the response.

Path Type Description

tenantId

String

ID of the tenant.

sortOrder

String

If set as a request parameter, it describes on what field the returned jobs should be sorted.

jobs[]._links

Object

A JSON Object containing API links to a specific job, as well as the printer that it was sent to.

jobs[].id

String

ID of the generated print job.

jobs[].createTime

Number

Unix timestamp for when the job was created.

jobs[].updateTime

Number

Unix timestamp for when the job was last updated (for new jobs, this is the same as createTime).

jobs[].status

String

Current state of the job.

jobs[].ownerId

String

ID of the Printix user who is the owner of the job.

jobs[].contentType

String

Content type of the uploaded document.

jobs[].title

String

Title of the print job that was specified in the parameter of the /submit request.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the jobs or specified printer could not be found. A 500 error is thrown if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

General Code Example: Job List Example

Code Example with a printer specified: Printer Job List Example

Retrieve a single Job

The /job endpoint (singular) is used to retrieve a single job, for example to check its status after it has been submitted. This endpoint takes no parameters, it returns a boolean success indicator and information for the job that was queried.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the specified job could not be found. A 500 error is thrown if other errors occur.

Code Example: Job Example

Delete a single Job

The /delete endpoint is used to delete a single job. For example, to clean out jobs were submitted but not printed, or jobs that failed to print.

This endpoint takes no parameters, it returns a boolean success indicator and a message confirming that the job has been deleted.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the job to delete could not be found. A 500 error is thrown if other errors occur.

Code Example: Delete Example

Get printer properties

The /printer endpoint (singular) can be used to receive all fields of a specified printer, including its capabilities. It takes no request parameters and returns a boolean success indicator with a paged singleton list containing the requested printer.

As a printer resource contains a lot of different fields whose meaning could be unclear, the table below is provided for the user’s convenience:

Path Type Description

printers[].id

String

ID of the returned printer.

printers[].name

String

Name of the returned printer.

printers[].connectionStatus

String

Connection status of the returned printer: can be either ONLINE, OFFLINE, or UNKNOWN when the state of the printer cannot be determined.

printers[].type

String

Type of the returned printer.

printers[].printerSignId

String

Sign ID of the associated printer. Note that this is associated with a single printer, not a queue, so the value of the field may not be unique if multiple queues exist for a single printer.

printers[].serialNo

String

The serial number of the printer. Note that this is associated with a single printer, not a queue, so the value of the field may not be unique if multiple queues exist for a single printer.

printers[].location

String

The location of the printer (if set). This is reflected, and can be modified, in the Printix Administrator

printers[].model

String

The Printer model, as detected by Printix

printers[].vendor

String

The Printer vendor, as detected by Printix

printers[].capabilities.printer.media_size.option[]

Array

A list of supported paper formats on the printer.

printers[].capabilities.printer.supported_content_type[]

Array

A list of content types/print formats supported by the printer. This is always PDF by default.

printers[].capabilities.printer.copies

Object

(DEPRECATED) Describes the default and maximum number of copies supported by the printer.

printers[].capabilities.printer.color.option[]

Array

A list of color options supported by the printer.

printers[].capabilities.printer.vendor_capability[]

Array

A list of objects describing whether the printer supports releasing print jobs from the cloud, and various localization options.

printers[]._links

Object

A JSON object containing API links for this printer, which the user can use to query information about this specific printer, submit a job on this printer, or see the jobs on it.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the specified printer could not be found. A 500 error is thrown if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Code Example: Printer Info Example

List Printers

The /printers endpoint (plural) can be used to retrieve a list of printers for the authenticated user, alongside their capabilities.

Request parameters

This request can take the following optional parameters:

Parameter Description

query

A parameter used to look for printers whose name contains a specific sequence of characters

page

An integer value that indicates which page of the results to display if the list of printers is split over multiple pages

pageSize

An integer value that indicates how many printers can fit on a page

Response

This request returns a boolean success indicator and a paged list of printers with their capabilities.

Below is a breakdown of the fields returned in the response.

Path Type Description

printers[].id

String

ID of the returned printer.

printers[].name

String

Name of the returned printer.

printers[].connectionStatus

String

Connection Status of the returned printer: can be either ONLINE, OFFLINE, or UNKNOWN when the state of the printer cannot be determined.

printers[].printerSignId

String

Sign ID of the associated printer. Note that this is associated with a single printer, not a queue, so the value of the field may not be unique if multiple queues exist for a single printer.

printers[].serialNo

String

The serial number of the printer. Note that this is associated with a single printer, not a queue, so the value of the field may not be unique if multiple queues exist for a single printer.

printers[].location

String

The location of the printer (if set). This is reflected, and can be modified, in the Printix Administrator

printers[].model

String

The Printer model, as detected by Printix

printers[].vendor

String

The Printer vendor, as detected by Printix

printers[].capabilities.printer.media_size.option[]

Array

A list of supported paper formats on the printer.

printers[].capabilities.printer.supported_content_type[]

Array

A list of content types/print formats supported by the printer. This is always PDF by default.

printers[].capabilities.printer.copies

Object

(DEPRECATED) Describes the default and maximum number of copies supported by the printer.

printers[].capabilities.printer.color.option[]

Array

A list of color options supported by the printer.

printers[].capabilities.printer.vendor_capability[]

Array

A list of objects describing whether the printer supports releasing print jobs from the cloud, and various localization options.

printers[]._links

Object

A JSON object containing API links for this printer, which the user can use to query information about this specific printer, submit a job on this printer, or see the jobs on it.

Error handling

This endpoint returns a false boolean success indicator in case of errors, as well as a description of the error.
The response body also contains an internal error ID for troubleshooting.

Code Example: Printer List Example

Change owner

The /changeOwner endpoint can be used to modify which user is the owner of the print job. By default, all jobs created through the Cloud Print API have a hidden Cloud Print API user assigned. These hidden user accounts cannot log in to the devices. They are authorized only to access the Cloud Print API using the client ID and client secret pairs. Using this endpoint, API users can create print jobs for "real" users who have their own Azure/Google/etc. identity. These end-users can release their own print jobs at the devices later using secure print if the job was submitted with the releaseImmediately=false setting.

After the job’s owner changed, the job will disappear from the list returned by the Retrieve Jobs operation since the job no longer belongs to the original Cloud Print API user.

Due to security reasons, it’s possible to change the owner only for those jobs which were created through the Cloud Print API.

Request parameters

This request can take the following parameter:

Parameter Description

userEmail

The email address of the job’s new owner. This user must be registered and validated in the same tenant as the job was created.

This parameter can be passed through query string parameter or in the request body if the Content-Type HTTP header is "application/x-www-form-urlencoded".

Response

This request returns a boolean success indicator and information for the job that was modified.

Error handling

This endpoint returns a false boolean success indicator in case of errors, as well as a description of the error.
The response body also contains an internal error ID for troubleshooting.

Code Example: Change Owner Example

Create User

The /users/create endpoint can be used to create a new guest user.

Request parameters

This endpoint does not take any request parameters. Properties for the user can be specified in the request body. For further details, see the Request body fields table below, as well as Create User Example.

Request body fields

Parameter Description

email

Email address of the user.

fullName

Full name of the user.

role

Role of the user. Currently, only the GUEST_USER role is supported in this request.

pin

An optional, 4-digit PIN code for the user, which can be used to sign in at the printer.
If not specified, the system generates a random PIN code.

password

An optional password for the user. If not specified, the system generates a random password.
The password must be at least 6 characters long and contain both uppercase letters, lowercase letters, and digits.

expirationTimestamp

An optional timestamp, which sets the end of the validity period of the user. When it expires, the user is scheduled for automatic deletion in the next 24 hours.
Format: yyyy.MM.dd HH:mm

sendWelcomeEmail

Sets whether a welcome email should be sent to the user. Currently, only the default welcome email can be sent regardless of the selected value.
Possible values are true or false.

sendExpirationEmail

Sets whether an expiration email should be sent to the user.
Possible values are true or false.

Response

This request returns a boolean success indicator, alongside the created user with its metadata.

Below is a breakdown of the fields returned in the response.

Path Type Description

users[].id

String

ID of the created user.

users[].email

String

Email address of the user.

users[].fullName

String

Full name of the user.

users[].role

String

Role of the user. Currently, only the GUEST_USER role is supported in this request.

users[].idCode

String

6-digit ID code of the user, which can be used to sign in at the printer.

users[].pin

String

4-digit PIN code of the user, which can be used to sign in at the printer.

users[].password

String

Password of the user. If the user already existed in Printix with the specified email address and now only a new access has been granted to this tenant, the existing password is not changed and not returned.

users[].expirationTimestamp

String

End of the validity period of the user. When it expires, the user is scheduled for automatic deletion in the next 24 hours.

users[].sendWelcomeEmail

Boolean

Indicates whether a welcome email is sent to the user.

users[].sendExpirationEmail

Boolean

Indicates whether an expiration email is sent to the user.

users[].welcomeEmailContent

String

The content of the welcome email if it was specified in the request.

Error handling

This endpoint returns a false boolean success indicator in case of errors, as well as a description of the error.
The response body also contains an internal error ID for troubleshooting.

Code Example: Create User Example

Find User by ID

The /user endpoint with a GET request can be used to fetch a single user. This API call takes no parameters.

Response

This API call returns a boolean success indicator, alongside the user with its metadata.

Below is a breakdown of the fields returned in the response.

Path Type Description

user.authenticationMethods

Array

Ways the user can sign in.

user.created

Number

Unix timestamp for when the user was created.

user.modified

Number

Unix timestamp of when the user was last updated.

user.email

String

Email address of the user.

user.language

String

Preferred language of the user.

user.name

String

Name of the user.

user.roles

Array

Roles of the user in Printix.

user.version

Number

Version number of the user.

user._links.self

Object

Link to the current user object.

user._links.cards

Object

Link to the list of the user’s cards.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the user could not be found. A 500 error is returned if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Code Example: Find User by ID Example

List Users

The /users endpoint (plural) can be used to retrieve a list of guest users.

Request parameters

This request can take the following optional parameters:

Parameter Description

query

A parameter used to look for users whose name or email address contains a specific sequence of characters

page

An integer value that indicates which page of the results to display if the list of users is split over multiple pages

pageSize

An integer value that indicates how many users can fit on a page

Response

This request returns a boolean success indicator and a paged list of users.

Below is a breakdown of the fields returned in the response.

Path Type Description

users[].id

String

ID of the user.

users[].fullName

String

Full name of the user.

users[].email

String

Email address of the user

users[].role

String

Role of the user in Printix. Currently, only the GUEST_USER role is supported in this request.

users[].expirationTimestamp

String

End of the validity period of the user. When it expires, the user is scheduled for automatic deletion.

users[]._links.self

Object

Link to the current user object.

users[]._links.cards

Object

Link to the list of the user’s cards.

Error handling

This endpoint returns a false boolean success indicator in case of errors, as well as a description of the error.
The response body also contains an internal error ID for troubleshooting.

Code Example: User List Example

Delete User

The /users/{userId}/delete endpoint is used to delete a guest user.

This endpoint takes only the userId parameter in the URI path. It returns a boolean success indicator and a message confirming that the user has been deleted.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the user to delete could not be found. A 500 error is returned if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Code Example: Delete User Example

Create Group

The /groups endpoint with a POST request can be used to create a group.

Request parameters

This endpoint does not take any request parameters. Properties for the group are specified in the request body. For further details, see the Request body fields table below, as well as the Create Group Example.

Request body fields

Path Type Description

name

String

Required name of the group.

externalId

String

Required ID of the group in the external directory.

identityProvider

String

Optional link/ID of the identity provider the group belongs to, is only required if a tenant has more than 1 identity provider directory.

description

String

Optional description of the group.

Response

This API call returns a boolean success indicator, alongside the created group with its metadata.

Below is a breakdown of the fields returned in the response.

Path Type Description

group.name

String

The name of the group.

group.description

String

The description of the group.

group.queueCount

Number

Number of queues connected to the group.

group.userCount

Number

Number of users that are member of the group.

group.workstationCount

Number

Number of workstations that are a member of the group.

group.inUse

Boolean

Whether or not the group is in-use in Printix.

group._links.self

Object

Link to the current group object.

Error handling

This endpoint returns a false boolean success indicator in case of errors, as well as a description of the error. In cases where a group with the same external id already exists on the tenant, an HTTP code 409 Conflict is returned. A 500 error is returned if other errors occur. The response body also contains an internal error ID for troubleshooting.

Code Example: Create Group Example

Delete Group

The /group endpoint with a DELETE request can be used to delete a group.

This endpoint takes no parameters, it returns a boolean success indicator and a message confirming that the group has been deleted.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the group to delete could not be found. In cases where the group cannot be modified, an HTTP code 409 Conflict is returned. A 500 error is returned if other errors occur. In all error cases, the response body contains an error description and an internal error ID for troubleshooting.

Code Example: Delete Group Example

Listing and Searching Groups

The /groups endpoint with a GET request can be used to retrieve a list of groups.

Request parameters

This API call accepts the following optional parameters:

Parameter Description

query

A string that will be used to search for groups. The string is searched in the name and description field of the group; Default value = null.

page

The page number, starting from 0; Default value = 0.

pageSize

The number of elements to include on a single page; Default value = 20.

Response

This API call returns a boolean success indicator and a paged list of groups.

Below is a breakdown of the fields returned in the response.

Path Type Description

_links.self

Object

Link to the current page.

_links.next

Object

Link to the next page.

groups[].name

String

The name of the group.

groups[].description

String

The description of the group.

groups[].queueCount

Number

Number of queues connected to the group.

groups[].userCount

Number

Number of users that are member of the group.

groups[].workstationCount

Number

Number of workstations that are a member of the group.

groups[].inUse

Boolean

Whether or not the group is in-use in Printix.

groups[]._links.self

Object

Link to the current group object.

Error handling

This endpoint returns a false boolean success indicator in case of errors, as well as a description of the error. The response body also contains an internal error ID for troubleshooting.

Fetch Group Details

The /group endpoint with a GET request can be used to retrieve a single group. This API call takes no parameters.

Response

This API call returns a boolean success indicator, alongside the group with its metadata.

Below is a breakdown of the fields returned in the response.

Path Type Description

group.name

String

The name of the group.

group.description

String

The description of the group.

group.queueCount

Number

Number of queues connected to the group.

group.userCount

Number

Number of users that are member of the group.

group.workstationCount

Number

Number of workstations that are a member of the group.

group.inUse

Boolean

Whether or not the group is in-use in Printix.

group._links.self

Object

Link to the current group object.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 404 error if the group could not be found. A 500 error is returned if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Register Card

The /cards endpoint with a POST request can be used to register a card for a user.

Request parameters

This endpoint does not take any request parameters. Properties for the card are specified in the request body. For further details, see the Request body fields table below, as well as the Register Card Example.

Request body fields

Path Type Description

secret

String

Appropriately converted card number in the form of a base64 encoded byte array.

The caller is responsible for applying any required conversion before registering the card. If multiple card number conversions are required, then each converted variant of the card number should be registered with the user in Printix. The card number is stored hashed and salted in Printix.

Response

This API call returns a boolean success indicator, alongside the created card with its metadata.

Below is a breakdown of the fields returned in the response.

Path Type Description

card.created

Number

Unix timestamp for when the card was created.

card.modified

Number

Unix timestamp of when the card was last updated.

card.pincodeRequired

Boolean

Whether or not PIN code is required on this card.

card._links.self

Object

Link to the current card object.

card._links.owner

Object

Link to the owner user of this card.

card._links.registrant

Object

Link to the registrant user or application of this card.

Error handling

This endpoint returns a false boolean success indicator in case of errors, as well as a description of the error. In cases where the card secret already exists on the tenant, an HTTP code 409 Conflict is returned. A 500 error is returned if other errors occur. The response body also contains an internal error ID for troubleshooting.

Code Example: Register Card Example

Search for Card

The /card endpoint with a GET request can be used to fetch a single card. The {card} URL path parameter can be either the base64 encoded card number or the card ID.

Response

This API call returns a boolean success indicator, alongside the card with its metadata.

Below is a breakdown of the fields returned in the response.

Path Type Description

card.created

Number

Unix timestamp for when the card was created.

card.modified

Number

Unix timestamp of when the card was last updated.

card.pincodeRequired

Boolean

Whether or not PIN code is required on this card.

card._links.self

Object

Link to the current card object.

card._links.owner

Object

Link to the owner user of this card.

card._links.registrant

Object

Link to the registrant user or application of this card.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 403 error if the card cannot be fetched. A 500 error is returned if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Code Example: Search for Card Example

Delete Card

The /card endpoint with a DELETE request can be used to delete a card. The {card} URL path parameter can be either the base64 encoded card number or the card ID.

This endpoint returns a boolean success indicator and a message confirming that the card has been deleted.

Error handling

This endpoint returns a false boolean success indicator in all failure scenarios, as well as a 403 error if the card cannot be deleted. A 500 error is returned if other errors occur. In both cases, the response body contains an error description and an internal error ID for troubleshooting.

Code Example: Delete Card Example

Code Examples

Root Example

Request:

GET /cloudprint HTTP/1.1
Authorization: Bearer 6aedd9dd-33ef-49a3-951f-26c055698c0b
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: itQ2u7jG
Content-Type: application/json
Content-Length: 227

{
  "_links" : {
    "acme.printix.net" : {
      "href" : "https://api.printix.net/cloudprint/tenants/fe2b98c0-aa1d-4cdf-b97b-2f10adee8656/printers?page=0&pageSize=10{&query,network,site}",
      "templated" : true
    }
  }
}

Submit Example

Request:

POST /cloudprint/tenants/ead321e9-a0f1-4024-92bc-d2ece669ab01/printers/d61a4076-966e-44ec-8d2a-40b4b63401de/queues/1322d782-1003-4c05-a79c-72ea436fe288/submit?title=a+title&user=John+Doe HTTP/1.1
Content-Type: application/json
Authorization: Bearer 44276f83-abb7-43b6-8bbe-5f6106e8f520
Accept: application/json
Content-Length: 195
Host: api.printix.net

{"vendor_ticket_item":[],"color":{"vendor_id":null,"type":"STANDARD_COLOR"},"duplex":{"type":"NO_DUPLEX"},"page_orientation":{"type":"AUTO"},"copies":{"copies":1},"media_size":{"mediaSize":"A4"}}

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: 5Y9jjNXN
Content-Type: application/json
Content-Length: 1807

{
  "job" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/ead321e9-a0f1-4024-92bc-d2ece669ab01/jobs/4ab9c03d-f5a1-471e-8e0b-3ab92a55568f"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/ead321e9-a0f1-4024-92bc-d2ece669ab01/printers/d61a4076-966e-44ec-8d2a-40b4b63401de/queues/1322d782-1003-4c05-a79c-72ea436fe288"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/ead321e9-a0f1-4024-92bc-d2ece669ab01/jobs/4ab9c03d-f5a1-471e-8e0b-3ab92a55568f/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "4ab9c03d-f5a1-471e-8e0b-3ab92a55568f",
    "createTime" : 1.7401305778193147E9,
    "updateTime" : 1.7401305778221712E9,
    "status" : "AWAIT_PRINT",
    "ownerId" : "d12d451f-82e3-4758-8bef-2cdf8dfa6acc",
    "contentType" : "PDF",
    "title" : "a title"
  },
  "_links" : {
    "uploadCompleted" : {
      "href" : "https://api.printix.net/cloudprint/tenants/ead321e9-a0f1-4024-92bc-d2ece669ab01/jobs/4ab9c03d-f5a1-471e-8e0b-3ab92a55568f/completeUpload"
    },
    "changeOwner" : {
      "href" : "https://api.printix.net/cloudprint/tenants/ead321e9-a0f1-4024-92bc-d2ece669ab01/jobs/4ab9c03d-f5a1-471e-8e0b-3ab92a55568f/changeOwner?userEmail={userEmail}",
      "templated" : true
    }
  },
  "success" : true,
  "message" : "OK",
  "uploadLinks" : [ {
    "url" : "https://printixjobs.blob.core.windows.net/9aab9505-c84f-4dba-814f-d710b7c6d089/printix-jobs-file-upload/4ab9c03d-f5a1-471e-8e0b-3ab92a55568f?sig=3FlDWWBnr7704VgZjjApglkioBcUkS9F%2FZXJAVbBmAY%3D&st=2020-09-17T12%3A11%3A14Z&se=2020-09-17T13%3A26%3A14Z&sv=2017-04-17&sp=cw&sr=b",
    "headers" : {
      "x-ms-blob-type" : "BlockBlob"
    }
  } ]
}

Submit Example (version 1.1)

Request:

POST /cloudprint/tenants/1f98c468-34e6-4d66-8689-6c7c5e0a0548/printers/d585c1ef-b81a-411e-9546-deaeea71c52f/queues/dc724663-7144-45e5-b317-ba35c779ac3f/submit?title=a+title&user=John+Doe HTTP/1.1
Content-Type: application/json
Authorization: Bearer 0e06f132-b1e3-49bd-99a7-b20fecd8c30a
version: 1.1
Accept: application/json
Content-Length: 161
Host: api.printix.net

{
  "color" : false,
  "duplex" : "NONE",
  "page_orientation" : "AUTO",
  "copies" : 1,
  "media_size" : "A4",
  "scaling" : "NOSCALE",
  "userMapping" : null
}

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: BbyO244c
Content-Type: application/json
Content-Length: 1807

{
  "job" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/1f98c468-34e6-4d66-8689-6c7c5e0a0548/jobs/31c66434-4368-4f65-9278-18fbe06b1b48"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/1f98c468-34e6-4d66-8689-6c7c5e0a0548/printers/d585c1ef-b81a-411e-9546-deaeea71c52f/queues/dc724663-7144-45e5-b317-ba35c779ac3f"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/1f98c468-34e6-4d66-8689-6c7c5e0a0548/jobs/31c66434-4368-4f65-9278-18fbe06b1b48/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "31c66434-4368-4f65-9278-18fbe06b1b48",
    "createTime" : 1.7401305786749365E9,
    "updateTime" : 1.7401305786772974E9,
    "status" : "AWAIT_PRINT",
    "ownerId" : "c259e2c3-9140-4f3c-ad1e-9ae46f86a7e1",
    "contentType" : "PDF",
    "title" : "a title"
  },
  "_links" : {
    "uploadCompleted" : {
      "href" : "https://api.printix.net/cloudprint/tenants/1f98c468-34e6-4d66-8689-6c7c5e0a0548/jobs/31c66434-4368-4f65-9278-18fbe06b1b48/completeUpload"
    },
    "changeOwner" : {
      "href" : "https://api.printix.net/cloudprint/tenants/1f98c468-34e6-4d66-8689-6c7c5e0a0548/jobs/31c66434-4368-4f65-9278-18fbe06b1b48/changeOwner?userEmail={userEmail}",
      "templated" : true
    }
  },
  "success" : true,
  "message" : "OK",
  "uploadLinks" : [ {
    "url" : "https://printixjobs.blob.core.windows.net/9aab9505-c84f-4dba-814f-d710b7c6d089/printix-jobs-file-upload/31c66434-4368-4f65-9278-18fbe06b1b48?sig=3FlDWWBnr7704VgZjjApglkioBcUkS9F%2FZXJAVbBmAY%3D&st=2020-09-17T12%3A11%3A14Z&se=2020-09-17T13%3A26%3A14Z&sv=2017-04-17&sp=cw&sr=b",
    "headers" : {
      "x-ms-blob-type" : "BlockBlob"
    }
  } ]
}

Submit Example (version 1.1 with userMapping)

Request:

POST /cloudprint/tenants/57e44a8c-7021-4dc7-9d35-ac3116b96c56/printers/cdb294ba-21c8-45d1-98ad-6ae736fc61c7/queues/48cc1847-a50b-414f-a19d-1fb5b37c7b37/submit?title=a+title HTTP/1.1
Content-Type: application/json
Authorization: Bearer 5b190efa-1809-4149-bfc8-d895e3c656a9
version: 1.1
Accept: application/json
Content-Length: 219
Host: api.printix.net

{
  "color" : false,
  "duplex" : "NONE",
  "page_orientation" : "AUTO",
  "copies" : 1,
  "media_size" : "A4",
  "scaling" : "NOSCALE",
  "userMapping" : {
    "key" : "Email",
    "value" : "printix@printix.net"
  }
}

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: RosxW90G
Content-Type: application/json
Content-Length: 1806

{
  "job" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/57e44a8c-7021-4dc7-9d35-ac3116b96c56/jobs/34537963-3be2-423d-8f9f-8b1b4de6d7d3"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/57e44a8c-7021-4dc7-9d35-ac3116b96c56/printers/cdb294ba-21c8-45d1-98ad-6ae736fc61c7/queues/48cc1847-a50b-414f-a19d-1fb5b37c7b37"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/57e44a8c-7021-4dc7-9d35-ac3116b96c56/jobs/34537963-3be2-423d-8f9f-8b1b4de6d7d3/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "34537963-3be2-423d-8f9f-8b1b4de6d7d3",
    "createTime" : 1.740130578076497E9,
    "updateTime" : 1.7401305780794213E9,
    "status" : "AWAIT_PRINT",
    "ownerId" : "af35be3d-7013-4607-86b8-e8472f57fac6",
    "contentType" : "PDF",
    "title" : "a title"
  },
  "_links" : {
    "uploadCompleted" : {
      "href" : "https://api.printix.net/cloudprint/tenants/57e44a8c-7021-4dc7-9d35-ac3116b96c56/jobs/34537963-3be2-423d-8f9f-8b1b4de6d7d3/completeUpload"
    },
    "changeOwner" : {
      "href" : "https://api.printix.net/cloudprint/tenants/57e44a8c-7021-4dc7-9d35-ac3116b96c56/jobs/34537963-3be2-423d-8f9f-8b1b4de6d7d3/changeOwner?userEmail={userEmail}",
      "templated" : true
    }
  },
  "success" : true,
  "message" : "OK",
  "uploadLinks" : [ {
    "url" : "https://printixjobs.blob.core.windows.net/9aab9505-c84f-4dba-814f-d710b7c6d089/printix-jobs-file-upload/34537963-3be2-423d-8f9f-8b1b4de6d7d3?sig=3FlDWWBnr7704VgZjjApglkioBcUkS9F%2FZXJAVbBmAY%3D&st=2020-09-17T12%3A11%3A14Z&se=2020-09-17T13%3A26%3A14Z&sv=2017-04-17&sp=cw&sr=b",
    "headers" : {
      "x-ms-blob-type" : "BlockBlob"
    }
  } ]
}

Complete Upload Example

Request:

POST /cloudprint/tenants/83a8a4dd-e62d-4dd5-b6c6-37776a12fef2/jobs/b3996ae4-b5a9-44be-b756-16384643c8ac/completeUpload HTTP/1.1
Authorization: Bearer b013f118-192a-4c89-8e19-720ddd5a639b
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: 8jsOBYIB
Content-Type: application/json
Content-Length: 1153

{
  "tenantId" : "83a8a4dd-e62d-4dd5-b6c6-37776a12fef2",
  "sortOrder" : null,
  "success" : true,
  "message" : "OK",
  "jobs" : [ {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/83a8a4dd-e62d-4dd5-b6c6-37776a12fef2/jobs/b3996ae4-b5a9-44be-b756-16384643c8ac"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/83a8a4dd-e62d-4dd5-b6c6-37776a12fef2/printers/0c46a8f7-e403-4e32-8beb-29b1320a926b/queues/bacd11c0-2a03-494d-9d2c-bf68359f4dad"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/83a8a4dd-e62d-4dd5-b6c6-37776a12fef2/jobs/b3996ae4-b5a9-44be-b756-16384643c8ac/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "b3996ae4-b5a9-44be-b756-16384643c8ac",
    "createTime" : 1.7401305627737594E9,
    "updateTime" : 1.7401305777737393E9,
    "status" : "CONVERTING",
    "ownerId" : "5dea7c5e-9035-4cf2-9aff-23eb92b00e00",
    "contentType" : "PDF",
    "title" : "job name"
  } ],
  "page" : {
    "size" : 1,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Job List Example

Request:

GET /cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs?page=0&pageSize=10 HTTP/1.1
Authorization: Bearer bb3e1d9d-e88e-44d3-a353-ba82ba5f5f22
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: nNnxGRXC
Content-Type: application/json
Content-Length: 12545

{
  "tenantId" : "bd4e742a-c4f0-4ff5-868c-08372d5c711f",
  "sortOrder" : null,
  "_links" : {
    "self" : {
      "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs?page=0&pageSize=10{&sortorder}",
      "templated" : true
    },
    "next" : {
      "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs?page=1&pageSize=10{&sortorder}",
      "templated" : true
    }
  },
  "success" : true,
  "message" : "OK",
  "jobs" : [ {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/38fd434e-4cf5-45a5-9789-2c27c05e70b5"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/38fd434e-4cf5-45a5-9789-2c27c05e70b5/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "38fd434e-4cf5-45a5-9789-2c27c05e70b5",
    "createTime" : 1.740130563211777E9,
    "updateTime" : 1.7401305782117515E9,
    "status" : "CONVERTING",
    "ownerId" : "3131f9e6-84e0-4e9a-b5b6-7a978a23dc15",
    "contentType" : "PDF",
    "title" : "job 0"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/32f9fd46-8d03-4a2f-9df0-1d2ba8f1eea9"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/32f9fd46-8d03-4a2f-9df0-1d2ba8f1eea9/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "32f9fd46-8d03-4a2f-9df0-1d2ba8f1eea9",
    "createTime" : 1.740130563211799E9,
    "updateTime" : 1.7401305782117925E9,
    "status" : "CONVERTING",
    "ownerId" : "d223d37e-97ab-44bb-8853-e9d96131c6cc",
    "contentType" : "PDF",
    "title" : "job 1"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/583b2918-3ed6-4fb6-b916-d7258dd8a76d"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/583b2918-3ed6-4fb6-b916-d7258dd8a76d/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "583b2918-3ed6-4fb6-b916-d7258dd8a76d",
    "createTime" : 1.7401305632118082E9,
    "updateTime" : 1.740130578211805E9,
    "status" : "CONVERTING",
    "ownerId" : "a6861d54-f755-4261-ae8c-59c1d6ad7b66",
    "contentType" : "PDF",
    "title" : "job 2"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/b183643c-3d82-4e91-aa32-871cfc535130"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/b183643c-3d82-4e91-aa32-871cfc535130/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "b183643c-3d82-4e91-aa32-871cfc535130",
    "createTime" : 1.7401305632118185E9,
    "updateTime" : 1.7401305782118137E9,
    "status" : "CONVERTING",
    "ownerId" : "974e8026-2c41-469f-a350-82e0eb12faac",
    "contentType" : "PDF",
    "title" : "job 3"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/f9b8cb4c-4002-45d9-9e9f-d7933fdcf57a"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/f9b8cb4c-4002-45d9-9e9f-d7933fdcf57a/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "f9b8cb4c-4002-45d9-9e9f-d7933fdcf57a",
    "createTime" : 1.740130563211845E9,
    "updateTime" : 1.740130578211824E9,
    "status" : "CONVERTING",
    "ownerId" : "03a7bcea-d088-47f1-97a2-caa21a86fa71",
    "contentType" : "PDF",
    "title" : "job 4"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/fbd80863-af54-47e8-9ff7-f6d7834e75f9"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/fbd80863-af54-47e8-9ff7-f6d7834e75f9/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "fbd80863-af54-47e8-9ff7-f6d7834e75f9",
    "createTime" : 1.740130563211876E9,
    "updateTime" : 1.7401305782118487E9,
    "status" : "CONVERTING",
    "ownerId" : "1431c577-1bef-4082-bbe4-c5865f9bc2bb",
    "contentType" : "PDF",
    "title" : "job 5"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/f0c952ba-1cce-4fbe-85e2-9793a7a3e26a"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/f0c952ba-1cce-4fbe-85e2-9793a7a3e26a/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "f0c952ba-1cce-4fbe-85e2-9793a7a3e26a",
    "createTime" : 1.7401305632118876E9,
    "updateTime" : 1.7401305782118826E9,
    "status" : "CONVERTING",
    "ownerId" : "9999e782-7bda-4f43-acb2-968af300a254",
    "contentType" : "PDF",
    "title" : "job 6"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/665618d7-b8a3-4339-8cbe-43b40ac749d2"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/665618d7-b8a3-4339-8cbe-43b40ac749d2/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "665618d7-b8a3-4339-8cbe-43b40ac749d2",
    "createTime" : 1.7401305632118971E9,
    "updateTime" : 1.7401305782118945E9,
    "status" : "CONVERTING",
    "ownerId" : "21b47d4b-3451-47ec-94b7-27b47625206b",
    "contentType" : "PDF",
    "title" : "job 7"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/f9fd5f30-7108-470f-a5e4-fc80c16b8541"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/f9fd5f30-7108-470f-a5e4-fc80c16b8541/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "f9fd5f30-7108-470f-a5e4-fc80c16b8541",
    "createTime" : 1.7401305632119148E9,
    "updateTime" : 1.7401305782119079E9,
    "status" : "CONVERTING",
    "ownerId" : "2643938c-ee61-455a-946e-bea071e7a2e4",
    "contentType" : "PDF",
    "title" : "job 8"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/8e32c991-a8bb-401f-8af5-84262e06bb08"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/8e32c991-a8bb-401f-8af5-84262e06bb08/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "8e32c991-a8bb-401f-8af5-84262e06bb08",
    "createTime" : 1.7401305632119255E9,
    "updateTime" : 1.7401305782119205E9,
    "status" : "CONVERTING",
    "ownerId" : "7517c3b9-aa73-4f60-81a1-9dfabe3548b8",
    "contentType" : "PDF",
    "title" : "job 9"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/fbd64827-7f54-4834-b06f-7680aafbc35d"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/fbd64827-7f54-4834-b06f-7680aafbc35d/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "fbd64827-7f54-4834-b06f-7680aafbc35d",
    "createTime" : 1.7401305632119334E9,
    "updateTime" : 1.7401305782119284E9,
    "status" : "CONVERTING",
    "ownerId" : "0d55029f-a3d7-40a8-af1c-03e15502871d",
    "contentType" : "PDF",
    "title" : "job 10"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/e10d9cca-ebf6-4176-90fe-0b67d9580a0d"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/e10d9cca-ebf6-4176-90fe-0b67d9580a0d/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "e10d9cca-ebf6-4176-90fe-0b67d9580a0d",
    "createTime" : 1.7401305632119455E9,
    "updateTime" : 1.7401305782119389E9,
    "status" : "CONVERTING",
    "ownerId" : "cb0a08ac-a161-4d49-ae2b-5d1f01c0c97e",
    "contentType" : "PDF",
    "title" : "job 11"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/6cd2aeed-06d9-4b9b-a946-70dcc058bcd9"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/printers/04e0aadf-1698-4132-9265-148d69a2ae0e/queues/068070b0-b18c-40f3-b528-800d2032b0a2"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/bd4e742a-c4f0-4ff5-868c-08372d5c711f/jobs/6cd2aeed-06d9-4b9b-a946-70dcc058bcd9/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "6cd2aeed-06d9-4b9b-a946-70dcc058bcd9",
    "createTime" : 1.7401305632119536E9,
    "updateTime" : 1.740130578211951E9,
    "status" : "CONVERTING",
    "ownerId" : "fde7859d-4ff1-453e-b163-4217caf7ed3b",
    "contentType" : "PDF",
    "title" : "job 12"
  } ],
  "page" : {
    "size" : 10,
    "totalElements" : 13,
    "totalPages" : 2,
    "number" : 0
  }
}

Printer Job List Example

Request:

GET /cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4/jobs?page=0&pageSize=10 HTTP/1.1
Authorization: Bearer 41fffb28-672e-447e-b7fb-175cd7cb303f
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: uwVlHzIl
Content-Type: application/json
Content-Length: 12651

{
  "tenantId" : "dc66c122-703e-4fda-8f48-4d9433080801",
  "sortOrder" : null,
  "_links" : {
    "self" : {
      "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4/jobs?page=0&pageSize=10"
    },
    "next" : {
      "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4/jobs?page=1&pageSize=10"
    }
  },
  "success" : true,
  "message" : "OK",
  "jobs" : [ {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/0ac303e7-967a-47d2-ad62-e8550a1d2a0a"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/0ac303e7-967a-47d2-ad62-e8550a1d2a0a/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "0ac303e7-967a-47d2-ad62-e8550a1d2a0a",
    "createTime" : 1.7401305623699715E9,
    "updateTime" : 1.7401305773689187E9,
    "status" : "CONVERTING",
    "ownerId" : "5ee48236-9f8e-45cd-977c-571b889df9d9",
    "contentType" : "PDF",
    "title" : "job 0"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/f404cbe7-b6cb-403b-87a1-f0ab84bb5537"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/f404cbe7-b6cb-403b-87a1-f0ab84bb5537/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "f404cbe7-b6cb-403b-87a1-f0ab84bb5537",
    "createTime" : 1.7401305623707728E9,
    "updateTime" : 1.7401305773707514E9,
    "status" : "CONVERTING",
    "ownerId" : "12ab8346-79ea-4c66-a550-de81428b8f95",
    "contentType" : "PDF",
    "title" : "job 1"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/a3377ba9-2c8e-4c70-b090-bdd2093ce3c7"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/a3377ba9-2c8e-4c70-b090-bdd2093ce3c7/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "a3377ba9-2c8e-4c70-b090-bdd2093ce3c7",
    "createTime" : 1.7401305623708034E9,
    "updateTime" : 1.7401305773707893E9,
    "status" : "CONVERTING",
    "ownerId" : "d76d9097-faad-4b2d-bd4b-bc28145299a9",
    "contentType" : "PDF",
    "title" : "job 2"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/0b7b6304-a3ff-463c-bdfc-dc2dba74f0da"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/0b7b6304-a3ff-463c-bdfc-dc2dba74f0da/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "0b7b6304-a3ff-463c-bdfc-dc2dba74f0da",
    "createTime" : 1.740130562370823E9,
    "updateTime" : 1.7401305773708107E9,
    "status" : "CONVERTING",
    "ownerId" : "fb59b043-5a6d-4d6f-a278-0665f3c4f9f7",
    "contentType" : "PDF",
    "title" : "job 3"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/1d755de0-c411-4a27-92bf-9e137697a39f"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/1d755de0-c411-4a27-92bf-9e137697a39f/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "1d755de0-c411-4a27-92bf-9e137697a39f",
    "createTime" : 1.7401305623708475E9,
    "updateTime" : 1.7401305773708363E9,
    "status" : "CONVERTING",
    "ownerId" : "00c9fe64-1294-47d2-96f8-72985171a281",
    "contentType" : "PDF",
    "title" : "job 4"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/97ec6c5f-364d-4c65-803f-2878d41b606e"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/97ec6c5f-364d-4c65-803f-2878d41b606e/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "97ec6c5f-364d-4c65-803f-2878d41b606e",
    "createTime" : 1.74013056237087E9,
    "updateTime" : 1.7401305773708637E9,
    "status" : "CONVERTING",
    "ownerId" : "98bed231-cd98-499f-b7c8-01ca01348ce4",
    "contentType" : "PDF",
    "title" : "job 5"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/39451706-b3ba-4e68-9682-07f024bb8241"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/39451706-b3ba-4e68-9682-07f024bb8241/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "39451706-b3ba-4e68-9682-07f024bb8241",
    "createTime" : 1.7401305623708935E9,
    "updateTime" : 1.7401305773708823E9,
    "status" : "CONVERTING",
    "ownerId" : "cc1df34a-f7e2-4deb-91f6-4c8497f10b66",
    "contentType" : "PDF",
    "title" : "job 6"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/63c973c5-528c-42a7-8ff9-2b9ffe33a065"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/63c973c5-528c-42a7-8ff9-2b9ffe33a065/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "63c973c5-528c-42a7-8ff9-2b9ffe33a065",
    "createTime" : 1.7401305623709521E9,
    "updateTime" : 1.7401305773709183E9,
    "status" : "CONVERTING",
    "ownerId" : "49551e1f-1bd9-4212-a4e8-0041d65e8a67",
    "contentType" : "PDF",
    "title" : "job 7"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/4e7baf6a-0d07-4a90-9a5c-15c40f058992"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/4e7baf6a-0d07-4a90-9a5c-15c40f058992/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "4e7baf6a-0d07-4a90-9a5c-15c40f058992",
    "createTime" : 1.7401305623709729E9,
    "updateTime" : 1.7401305773709607E9,
    "status" : "CONVERTING",
    "ownerId" : "9283fc76-aaf1-4ff2-8a9a-b298b11336c2",
    "contentType" : "PDF",
    "title" : "job 8"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/f88abaf2-7aa2-4677-b2ac-0ae756d65c68"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/f88abaf2-7aa2-4677-b2ac-0ae756d65c68/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "f88abaf2-7aa2-4677-b2ac-0ae756d65c68",
    "createTime" : 1.740130562370996E9,
    "updateTime" : 1.7401305773709848E9,
    "status" : "CONVERTING",
    "ownerId" : "29283dc5-5aae-4caa-b655-a08b3d24986f",
    "contentType" : "PDF",
    "title" : "job 9"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/06cde249-94e8-423f-8e35-501aa3c20a5e"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/06cde249-94e8-423f-8e35-501aa3c20a5e/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "06cde249-94e8-423f-8e35-501aa3c20a5e",
    "createTime" : 1.7401305623710139E9,
    "updateTime" : 1.7401305773710077E9,
    "status" : "CONVERTING",
    "ownerId" : "47f4e565-af20-4b04-807f-86587b4dfa19",
    "contentType" : "PDF",
    "title" : "job 10"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/2d6c58e4-c8bf-4db4-b635-bf7bdda569db"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/2d6c58e4-c8bf-4db4-b635-bf7bdda569db/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "2d6c58e4-c8bf-4db4-b635-bf7bdda569db",
    "createTime" : 1.7401305623710542E9,
    "updateTime" : 1.740130577371026E9,
    "status" : "CONVERTING",
    "ownerId" : "71f57a43-147f-412b-a173-19328cfb16e0",
    "contentType" : "PDF",
    "title" : "job 11"
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/88e3835e-47e4-45f6-be2a-838a552699bd"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/printers/6a8cca34-6c48-47da-93d2-4ba21bdfe99a/queues/5482a3ea-44a3-4d69-ae6c-f2ea02eb9da4"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/dc66c122-703e-4fda-8f48-4d9433080801/jobs/88e3835e-47e4-45f6-be2a-838a552699bd/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "88e3835e-47e4-45f6-be2a-838a552699bd",
    "createTime" : 1.7401305623710785E9,
    "updateTime" : 1.7401305773710663E9,
    "status" : "CONVERTING",
    "ownerId" : "dae3e7be-cb29-4caf-a9b6-cc2a9de4ceb3",
    "contentType" : "PDF",
    "title" : "job 12"
  } ],
  "page" : {
    "size" : 10,
    "totalElements" : 13,
    "totalPages" : 2,
    "number" : 0
  }
}

Job Example

Request:

GET /cloudprint/tenants/17357821-58ad-4de5-87e9-a9d22320f34c/jobs/d8d279ce-6f1f-4599-93fb-6355c4deff8f HTTP/1.1
Authorization: Bearer 82db49ce-39ed-4dca-98a0-a13e76a17974
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: wX96RRsG
Content-Type: application/json
Content-Length: 1152

{
  "tenantId" : "17357821-58ad-4de5-87e9-a9d22320f34c",
  "sortOrder" : null,
  "success" : true,
  "message" : "OK",
  "jobs" : [ {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/17357821-58ad-4de5-87e9-a9d22320f34c/jobs/d8d279ce-6f1f-4599-93fb-6355c4deff8f"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/17357821-58ad-4de5-87e9-a9d22320f34c/printers/678b936a-3940-4123-bbcb-fa251858ecc0/queues/89082e53-3a74-41b1-974d-d580455af493"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/17357821-58ad-4de5-87e9-a9d22320f34c/jobs/d8d279ce-6f1f-4599-93fb-6355c4deff8f/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "d8d279ce-6f1f-4599-93fb-6355c4deff8f",
    "createTime" : 1.7401305637564967E9,
    "updateTime" : 1.7401305787564895E9,
    "status" : "CONVERTED",
    "ownerId" : "f15aa0ce-a936-4401-915f-e9024511e7bb",
    "contentType" : "PDF",
    "title" : "job name"
  } ],
  "page" : {
    "size" : 1,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Delete Example

Request:

POST /cloudprint/tenants/669dcb1b-e90f-4fda-b0d3-ec2fb8aed409/jobs/8f4e81ff-cd4e-4dba-8aaa-26af1c4410e6/delete HTTP/1.1
Authorization: Bearer 7954f7c5-fdfb-44f8-a59d-158a70faebd9
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: iQNbsbUh
Content-Type: application/json
Content-Length: 124

{
  "success" : true,
  "message" : "The print job with id 8f4e81ff-cd4e-4dba-8aaa-26af1c4410e6 was deleted successfully."
}

Printer List Example

Request:

GET /cloudprint/tenants/a8e6dc56-cca7-4506-bec9-6f99a5cae811/printers?page=0&pageSize=100 HTTP/1.1
Authorization: Bearer fb381b77-1b3b-49fb-bfea-efe815d0b88d
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: 4Rn7RTSP
Content-Type: application/json
Content-Length: 3357

{
  "_links" : {
    "self" : {
      "href" : "https://api.printix.net/cloudprint/tenants/a8e6dc56-cca7-4506-bec9-6f99a5cae811/printers?page=1&pageSize=100{&query,network,site}",
      "templated" : true
    },
    "prev" : {
      "href" : "https://api.printix.net/cloudprint/tenants/a8e6dc56-cca7-4506-bec9-6f99a5cae811/printers?page=0&pageSize=100{&query,network,site}",
      "templated" : true
    }
  },
  "success" : true,
  "message" : "OK",
  "printers" : [ {
    "id" : "f82e5dcd-05bd-4b5d-93b4-5c41b5aace35",
    "name" : "Queue",
    "connectionStatus" : "ONLINE",
    "printerSignId" : "ABC",
    "capabilities" : {
      "printer" : {
        "media_size" : {
          "option" : [ {
            "heightMicrons" : 297000,
            "widthMicrons" : 210000,
            "name" : "ISO_A4",
            "isContinuousFeed" : false,
            "isDefault" : false
          }, {
            "heightMicrons" : 420000,
            "widthMicrons" : 297000,
            "name" : "ISO_A3",
            "isContinuousFeed" : false,
            "isDefault" : false
          }, {
            "heightMicrons" : 279400,
            "widthMicrons" : 215900,
            "name" : "NA_LETTER",
            "isContinuousFeed" : false,
            "isDefault" : false
          }, {
            "heightMicrons" : 355600,
            "widthMicrons" : 215900,
            "name" : "NA_LEGAL",
            "isContinuousFeed" : false,
            "isDefault" : false
          } ]
        },
        "supported_content_type" : [ {
          "content_type" : "application/pdf",
          "min_version" : "1.0"
        } ],
        "copies" : {
          "defaultz" : 1,
          "max" : 100
        },
        "color" : {
          "option" : [ {
            "type" : "STANDARD_COLOR",
            "default" : true
          }, {
            "type" : "STANDARD_MONOCHROME",
            "default" : false
          } ]
        },
        "vendor_capability" : [ {
          "id" : "printLater",
          "display_name" : "Print Later",
          "type" : "TYPED_VALUE",
          "display_name_localized" : [ {
            "locale" : "EN",
            "value" : "Print Later"
          } ],
          "typed_value_cap" : {
            "value_type" : "BOOLEAN",
            "default" : "false"
          }
        } ]
      }
    },
    "location" : "Office",
    "model" : "Anywhere Printer",
    "vendor" : "Printix",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/a8e6dc56-cca7-4506-bec9-6f99a5cae811/printers/208914e7-4875-47c7-b7e5-ced9a2dc6df9/queues/f82e5dcd-05bd-4b5d-93b4-5c41b5aace35"
      },
      "submit" : {
        "href" : "https://api.printix.net/cloudprint/tenants/a8e6dc56-cca7-4506-bec9-6f99a5cae811/printers/208914e7-4875-47c7-b7e5-ced9a2dc6df9/queues/f82e5dcd-05bd-4b5d-93b4-5c41b5aace35/submit?title={title}&releaseImmediately=true{&user,PDL}",
        "templated" : true
      },
      "jobs" : {
        "href" : "https://api.printix.net/cloudprint/tenants/a8e6dc56-cca7-4506-bec9-6f99a5cae811/printers/208914e7-4875-47c7-b7e5-ced9a2dc6df9/queues/f82e5dcd-05bd-4b5d-93b4-5c41b5aace35/jobs{?page,pageSize}",
        "templated" : true
      }
    },
    "serialNo" : "422#12552.983"
  } ],
  "page" : {
    "size" : 100,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 1
  }
}

Printer Info Example

Request:

GET /cloudprint/tenants/9d6cd90a-5819-4398-9731-158817526a30/printers/943ec7fa-f157-4e3b-9bc6-73eedc2a8313/queues/d6ebb8a9-6425-4eda-b14f-2f96e12c4547?page=0 HTTP/1.1
Authorization: Bearer b2c37e2e-0f41-4298-bc03-2bd83363cc88
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: zf89QiaE
Content-Type: application/json
Content-Length: 2924

{
  "success" : true,
  "message" : "OK",
  "printers" : [ {
    "id" : "d6ebb8a9-6425-4eda-b14f-2f96e12c4547",
    "connectionStatus" : "ONLINE",
    "printerSignId" : "ABC",
    "capabilities" : {
      "printer" : {
        "media_size" : {
          "option" : [ {
            "heightMicrons" : 297000,
            "widthMicrons" : 210000,
            "name" : "ISO_A4",
            "isContinuousFeed" : false,
            "isDefault" : false
          }, {
            "heightMicrons" : 420000,
            "widthMicrons" : 297000,
            "name" : "ISO_A3",
            "isContinuousFeed" : false,
            "isDefault" : false
          }, {
            "heightMicrons" : 279400,
            "widthMicrons" : 215900,
            "name" : "NA_LETTER",
            "isContinuousFeed" : false,
            "isDefault" : false
          }, {
            "heightMicrons" : 355600,
            "widthMicrons" : 215900,
            "name" : "NA_LEGAL",
            "isContinuousFeed" : false,
            "isDefault" : false
          } ]
        },
        "supported_content_type" : [ {
          "content_type" : "application/pdf",
          "min_version" : "1.0"
        } ],
        "copies" : {
          "defaultz" : 1,
          "max" : 100
        },
        "color" : {
          "option" : [ {
            "type" : "STANDARD_COLOR",
            "default" : true
          }, {
            "type" : "STANDARD_MONOCHROME",
            "default" : false
          } ]
        },
        "vendor_capability" : [ {
          "id" : "printLater",
          "display_name" : "Print Later",
          "type" : "TYPED_VALUE",
          "display_name_localized" : [ {
            "locale" : "EN",
            "value" : "Print Later"
          } ],
          "typed_value_cap" : {
            "value_type" : "BOOLEAN",
            "default" : "false"
          }
        } ]
      }
    },
    "location" : "Office",
    "model" : "Anywhere Printer",
    "vendor" : "Printix",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/9d6cd90a-5819-4398-9731-158817526a30/printers/943ec7fa-f157-4e3b-9bc6-73eedc2a8313/queues/d6ebb8a9-6425-4eda-b14f-2f96e12c4547"
      },
      "submit" : {
        "href" : "https://api.printix.net/cloudprint/tenants/9d6cd90a-5819-4398-9731-158817526a30/printers/943ec7fa-f157-4e3b-9bc6-73eedc2a8313/queues/d6ebb8a9-6425-4eda-b14f-2f96e12c4547/submit?title={title}&releaseImmediately=true{&user,PDL}",
        "templated" : true
      },
      "jobs" : {
        "href" : "https://api.printix.net/cloudprint/tenants/9d6cd90a-5819-4398-9731-158817526a30/printers/943ec7fa-f157-4e3b-9bc6-73eedc2a8313/queues/d6ebb8a9-6425-4eda-b14f-2f96e12c4547/jobs{?page,pageSize}",
        "templated" : true
      }
    },
    "serialNo" : "422#12552.983"
  } ],
  "page" : {
    "size" : 1,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Change Owner Example

Request:

POST /cloudprint/tenants/be85b10e-2e90-4beb-b490-dc3aee851bd2/jobs/4a983817-6e6d-40da-8f6b-a2eea68871b2/changeOwner HTTP/1.1
Authorization: Bearer 2c8f764f-2a57-4271-8b0c-08f9218ad67e
Accept: application/json
Host: api.printix.net
Content-Type: application/x-www-form-urlencoded

userEmail=john.doe%40test.com

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: 51Gn1zLn
Content-Type: application/json
Content-Length: 1152

{
  "tenantId" : "be85b10e-2e90-4beb-b490-dc3aee851bd2",
  "sortOrder" : null,
  "success" : true,
  "message" : "OK",
  "jobs" : [ {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/be85b10e-2e90-4beb-b490-dc3aee851bd2/jobs/4a983817-6e6d-40da-8f6b-a2eea68871b2"
      },
      "printer" : {
        "href" : "https://api.printix.net/cloudprint/tenants/be85b10e-2e90-4beb-b490-dc3aee851bd2/printers/7e312ad9-dd5c-4cd2-bca5-6fd635f3fab1/queues/ccaf523e-8591-4581-a267-49eef12b10f7"
      },
      "changeOwner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/be85b10e-2e90-4beb-b490-dc3aee851bd2/jobs/4a983817-6e6d-40da-8f6b-a2eea68871b2/changeOwner?userEmail={userEmail}",
        "templated" : true
      }
    },
    "id" : "4a983817-6e6d-40da-8f6b-a2eea68871b2",
    "createTime" : 1.7401305637385814E9,
    "updateTime" : 1.7401305787385793E9,
    "status" : "UPLOADING",
    "ownerId" : "06cbbc16-f40a-4135-ad15-03e3edad9c47",
    "contentType" : "PDF",
    "title" : "job name"
  } ],
  "page" : {
    "size" : 1,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Create User Example

Request:

POST /cloudprint/tenants/6e3154ec-7693-4bfa-9dff-5d8e90838b8b/users/create HTTP/1.1
Content-Type: application/json
Authorization: Bearer 2803bacb-fc6b-4368-b879-044fe28adaea
Accept: application/json
Content-Length: 237
Host: api.printix.net

{"email":"user1@sampledomain.com","fullName":"Sample User 1","role":"GUEST_USER","pin":"8364","password":"EeGahqu7","expirationTimestamp":"2025.03.07 09:36","sendWelcomeEmail":false,"sendExpirationEmail":false,"welcomeEmailContent":null}

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: 5lVXo2JT
Content-Type: application/json
Content-Length: 580

{
  "tenantId" : "6e3154ec-7693-4bfa-9dff-5d8e90838b8b",
  "sortOrder" : null,
  "success" : true,
  "message" : "OK",
  "users" : [ {
    "id" : "4d2f67e3-b097-48f4-9ea5-55808f3bb7eb",
    "fullName" : "Sample User 1",
    "email" : "user1@sampledomain.com",
    "role" : "GUEST_USER",
    "pin" : "8364",
    "idCode" : "034645",
    "password" : "EeGahqu7",
    "expirationTimestamp" : "2025.03.07 09:36",
    "sendWelcomeEmail" : false,
    "sendExpirationEmail" : false
  } ],
  "page" : {
    "size" : 1,
    "totalElements" : 1,
    "totalPages" : 1,
    "number" : 0
  }
}

Find User by ID Example

Request:

GET /cloudprint/tenants/82040c86-66ac-4089-b9cb-9c1cf9022da6/users/99efb34d-f559-44ae-abf6-e79303e09352 HTTP/1.1
Authorization: Bearer 8940d58d-3f65-4ac2-bba3-cdc65bf7c723
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: iK2h5EAk
Content-Type: application/json
Content-Length: 672

{
  "success" : true,
  "message" : "OK",
  "user" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/82040c86-66ac-4089-b9cb-9c1cf9022da6/users/99efb34d-f559-44ae-abf6-e79303e09352"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/82040c86-66ac-4089-b9cb-9c1cf9022da6/users/99efb34d-f559-44ae-abf6-e79303e09352/cards"
      }
    },
    "authenticationMethods" : [ "AZURE" ],
    "created" : 1.740130578640317E9,
    "modified" : 1.7401305786403174E9,
    "email" : "john.doe@test.com",
    "language" : "en",
    "name" : "John Doe",
    "version" : 1,
    "roles" : [ "USER" ]
  }
}

User List Example

Request:

GET /cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users?page=0&pageSize=10 HTTP/1.1
Authorization: Bearer 164c1cfd-e64e-4d59-b2d1-30377bd1f756
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: bwPauVY2
Content-Type: application/json
Content-Length: 6255

{
  "_links" : {
    "self" : {
      "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users?page=0&pageSize=10{&query}",
      "templated" : true
    },
    "next" : {
      "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users?page=1&pageSize=10{&query}",
      "templated" : true
    }
  },
  "success" : true,
  "message" : "OK",
  "users" : [ {
    "id" : "a334ccb8-164b-4a38-b1d2-48c6740efb98",
    "fullName" : "Sample User 1",
    "email" : "user1@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.03.08 09:43",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/a334ccb8-164b-4a38-b1d2-48c6740efb98"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/a334ccb8-164b-4a38-b1d2-48c6740efb98/cards"
      }
    }
  }, {
    "id" : "b520d095-0a8c-4254-a9ec-975d67216f6c",
    "fullName" : "Sample User 2",
    "email" : "user2@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.03.01 10:09",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/b520d095-0a8c-4254-a9ec-975d67216f6c"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/b520d095-0a8c-4254-a9ec-975d67216f6c/cards"
      }
    }
  }, {
    "id" : "eb71a976-02c6-41e5-9e86-571cf0be060e",
    "fullName" : "Sample User 3",
    "email" : "user3@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.03.05 10:15",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/eb71a976-02c6-41e5-9e86-571cf0be060e"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/eb71a976-02c6-41e5-9e86-571cf0be060e/cards"
      }
    }
  }, {
    "id" : "6a7df3b0-423f-4a74-a080-037e939b9640",
    "fullName" : "Sample User 4",
    "email" : "user4@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.03.15 09:39",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/6a7df3b0-423f-4a74-a080-037e939b9640"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/6a7df3b0-423f-4a74-a080-037e939b9640/cards"
      }
    }
  }, {
    "id" : "1fea7c2b-7c0c-41a7-ae4a-eff6e7bd93a3",
    "fullName" : "Sample User 5",
    "email" : "user5@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.03.12 10:03",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/1fea7c2b-7c0c-41a7-ae4a-eff6e7bd93a3"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/1fea7c2b-7c0c-41a7-ae4a-eff6e7bd93a3/cards"
      }
    }
  }, {
    "id" : "7f623069-18a3-476a-92f1-b3f370c72644",
    "fullName" : "Sample User 6",
    "email" : "user6@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.03.01 09:46",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/7f623069-18a3-476a-92f1-b3f370c72644"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/7f623069-18a3-476a-92f1-b3f370c72644/cards"
      }
    }
  }, {
    "id" : "46d307ad-742f-4419-829c-318ff0662a39",
    "fullName" : "Sample User 7",
    "email" : "user7@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.02.26 10:06",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/46d307ad-742f-4419-829c-318ff0662a39"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/46d307ad-742f-4419-829c-318ff0662a39/cards"
      }
    }
  }, {
    "id" : "f5285ffd-1a18-46d0-889f-963fca22c85c",
    "fullName" : "Sample User 8",
    "email" : "user8@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.02.23 09:50",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/f5285ffd-1a18-46d0-889f-963fca22c85c"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/f5285ffd-1a18-46d0-889f-963fca22c85c/cards"
      }
    }
  }, {
    "id" : "328ce9af-864a-41c6-895f-674da6202032",
    "fullName" : "Sample User 9",
    "email" : "user9@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.03.12 10:02",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/328ce9af-864a-41c6-895f-674da6202032"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/328ce9af-864a-41c6-895f-674da6202032/cards"
      }
    }
  }, {
    "id" : "baee49ff-9d51-4c7c-9add-0ad73e3f1352",
    "fullName" : "Sample User 10",
    "email" : "user10@sampledomain.com",
    "role" : "GUEST_USER",
    "expirationTimestamp" : "2025.02.22 10:35",
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/baee49ff-9d51-4c7c-9add-0ad73e3f1352"
      },
      "cards" : {
        "href" : "https://api.printix.net/cloudprint/tenants/cd0c34ec-cc8a-43da-b951-9887cb5dcbdc/users/baee49ff-9d51-4c7c-9add-0ad73e3f1352/cards"
      }
    }
  } ],
  "page" : {
    "size" : 10,
    "totalElements" : 10,
    "totalPages" : 1,
    "number" : 0
  }
}

Delete User Example

Request:

POST /cloudprint/tenants/1dd13802-2acb-4497-975b-0bc1a9960657/users/7b8a00ae-ef69-46cd-8d64-286cb862be26/delete HTTP/1.1
Authorization: Bearer 01981382-a18f-4222-a283-2e60f5c905bc
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: ipJ5ezml
Content-Type: application/json
Content-Length: 119

{
  "success" : true,
  "message" : "The user with id 7b8a00ae-ef69-46cd-8d64-286cb862be26 was deleted successfully."
}

Create Group Example

Request:

POST /cloudprint/tenants/2113a634-6999-4681-93f7-7204fc52b551/groups HTTP/1.1
Content-Type: application/json
Authorization: Bearer 9c41bc40-2ca4-494c-9d87-c6c04515291c
Accept: application/json
Content-Length: 167
Host: api.printix.net

{
  "name" : "name",
  "externalId" : "979a4164-9767-4d00-96bb-fb2ebc1d277e",
  "identityProvider" : "5f33a0dd-4aa7-41a1-8af5-b9a9448f4d15",
  "description" : "desc"
}

Response:

HTTP/1.1 201 Created
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: CMDuqkJE
Content-Type: application/json
Content-Length: 364

{
  "success" : true,
  "message" : "OK",
  "group" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/{group}",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }
}

Delete Group Example

Request:

DELETE /cloudprint/tenants/5fc3493b-a7c2-4a3d-94c4-9a79eb8c3975/groups/44e9fd07-b40e-4c50-9c6c-40daaf5d6749 HTTP/1.1
Authorization: Bearer 50b3d913-beb5-4a2e-b396-876b9ff1a1b6
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: xyS4kLzc
Content-Type: application/json
Content-Length: 75

{
  "success" : true,
  "message" : "The group was deleted successfully."
}

Listing and Searching Groups Example

Request:

GET /cloudprint/tenants/a4c1e3a3-53af-40be-b17d-381a034d021f/groups?page=0&pageSize=10 HTTP/1.1
Authorization: Bearer 62fd0211-ec6e-47f0-9cd0-c640327bb070
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: JheHhB43
Content-Type: application/json
Content-Length: 3926

{
  "_links" : {
    "self" : {
      "href" : "https://api.printix.net/cloudprint/tenants/a4c1e3a3-53af-40be-b17d-381a034d021f/groups?page=0&pageSize=10{&query}",
      "templated" : true
    },
    "next" : {
      "href" : "https://api.printix.net/cloudprint/tenants/a4c1e3a3-53af-40be-b17d-381a034d021f/groups?page=1&pageSize=10{&query}",
      "templated" : true
    }
  },
  "success" : true,
  "message" : "OK",
  "groups" : [ {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/a99941e1-4080-4722-9bd6-516c54350112",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/12572cab-8768-4b39-a728-d1fc789058b7",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/5401c0f0-0635-4c03-92ed-5c51646709f9",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/6e4e43ab-d11e-4714-b424-e39c7fd56cbe",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/ce56133b-f07e-4341-8f4d-d9d9b2ea3f03",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/6d940e8f-0674-490d-b4b7-fe095d7580f2",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/eeb1ae9d-192c-4503-9bdc-7230ec5563fe",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/3eeac1b1-9e56-411c-ae07-e5938cd5ae2d",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/8bdef09b-9fa0-40fa-afa5-c4d6f607170b",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }, {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/00c942ed-bf42-4b42-bbbe-47c5f25c7a06",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  } ],
  "page" : {
    "size" : 10,
    "totalElements" : 25,
    "totalPages" : 3,
    "number" : 0
  }
}

Fetch Group Details Example

Request:

GET /cloudprint/tenants/a64ab847-80a9-4a29-9f9d-c1577865926a/groups/9e01fbd5-6299-49c4-a865-f660e5ac5d49 HTTP/1.1
Authorization: Bearer ac258b36-5b0d-4edd-87a0-089d49405f45
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: f3UIM0Ac
Content-Type: application/json
Content-Length: 364

{
  "success" : true,
  "message" : "OK",
  "group" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/{tenant}/groups/{group}",
        "templated" : true
      }
    },
    "name" : "name",
    "description" : "desc",
    "queueCount" : 0,
    "userCount" : 0,
    "workstationCount" : 0,
    "inUse" : false
  }
}

Register Card Example

Request:

POST /cloudprint/tenants/91c6db6e-ef1b-403e-a9c7-f03cc63fa6ee/users/b37965e6-1e2b-49e2-baf8-47a346b74a09/cards HTTP/1.1
Content-Type: application/json
Authorization: Bearer 16b445fd-dc22-4326-a604-a094c019946e
Accept: application/json
Content-Length: 43
Host: api.printix.net

{
  "secret" : "yMu/wpVckd6/Ti5hH8nZmQ=="
}

Response:

HTTP/1.1 201 Created
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: LJtk7lkT
Content-Type: application/json
Content-Length: 743

{
  "success" : true,
  "message" : "OK",
  "card" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/91c6db6e-ef1b-403e-a9c7-f03cc63fa6ee/users/b37965e6-1e2b-49e2-baf8-47a346b74a09/cards/21957dcd-c4cd-42d2-beed-744b3e37f38f"
      },
      "owner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/91c6db6e-ef1b-403e-a9c7-f03cc63fa6ee/users/b37965e6-1e2b-49e2-baf8-47a346b74a09"
      },
      "registrant" : {
        "href" : "https://api.printix.net/cloudprint/tenants/91c6db6e-ef1b-403e-a9c7-f03cc63fa6ee/users/0c8337db-e758-441a-9e92-9883e8916da0"
      }
    },
    "created" : 1.740130577984646E9,
    "modified" : 1.7401305779846466E9,
    "pincodeRequired" : false
  }
}

Search for Card Example

Request:

GET /cloudprint/tenants/76ffff61-db04-448e-9174-4cf0758cf42f/cards/4505e978-a848-4bda-b269-46393869b1fb HTTP/1.1
Authorization: Bearer a5f97e45-56d3-4129-b75e-2f4706620afd
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: CeJhvGKs
Content-Type: application/json
Content-Length: 743

{
  "success" : true,
  "message" : "OK",
  "card" : {
    "_links" : {
      "self" : {
        "href" : "https://api.printix.net/cloudprint/tenants/76ffff61-db04-448e-9174-4cf0758cf42f/users/c41b6952-962d-4aea-b568-bffcea771656/cards/4505e978-a848-4bda-b269-46393869b1fb"
      },
      "owner" : {
        "href" : "https://api.printix.net/cloudprint/tenants/76ffff61-db04-448e-9174-4cf0758cf42f/users/c41b6952-962d-4aea-b568-bffcea771656"
      },
      "registrant" : {
        "href" : "https://api.printix.net/cloudprint/tenants/76ffff61-db04-448e-9174-4cf0758cf42f/users/60fcd730-d101-4af8-a2d1-9cebb0de0eaf"
      }
    },
    "created" : 1.740130578476417E9,
    "modified" : 1.7401305784764175E9,
    "pincodeRequired" : false
  }
}

Delete Card Example

Request:

DELETE /cloudprint/tenants/6232b131-72f8-4df2-91a5-d348c4cd8363/cards/6896c8cf-e75f-431f-9010-bd9a06e4b016 HTTP/1.1
Authorization: Bearer 866058dc-7486-4a2e-ae90-f6ddb2ae9477
Accept: application/json
Host: api.printix.net

Response:

HTTP/1.1 200 OK
X-Printix-Request-ID: unmatched
X-Printix-Trace-ID: 3wRCKj9r
Content-Type: application/json
Content-Length: 74

{
  "success" : true,
  "message" : "The card was deleted successfully."
}