---
title: "BizPrint Print API error codes and how to fix them"
description: "What each BizPrint Print API error code means, which requests return it, and what to check before you try again."
url: https://docs.getbizprint.com/developers/errors/
section: "Developers"
last_updated: 2026-11-12
---

# BizPrint Print API error codes and how to fix them

Section: Developers

> What each BizPrint Print API error code means, which requests return it, and what to check before you try again.

This page lists the error codes the BizPrint Print API returns, what each one means, and what to check. It is for developers who send [print jobs](https://docs.getbizprint.com/start-here/glossary/#print-job) or list [printers](https://docs.getbizprint.com/start-here/glossary/#printer) from their own app or website with the Print API.

## How errors look

When a request fails, the Print API returns an HTTP error status and a JSON body with two fields:

```json
{
  "errorCode": "ERR_NOT_FOUND",
  "message": "Job not found"
}
```

- `errorCode` is a fixed code. Build your error handling on this code.
- `message` is a short text for people. It can change, so do not match on it.

`ERR_INVALID_REQUEST` responses also have an `errors` field that lists each problem by parameter name:

```json
{
  "errorCode": "ERR_INVALID_REQUEST",
  "message": "Invalid request fields: url",
  "errors": {
    "url": ["Url must be a valid URL"]
  }
}
```

If the address itself is wrong, for example a typo in the path, you get a `404` response without an `errorCode`. Check the address against the base URL, `https://print.bizswoop.app/api/connect-application/v1`, and the paths in these docs.

## Before you retry a print job

Every accepted `POST /jobs` request creates a new print job. If creating a job returns an error, or the request times out, do not send it again straight away:

1. Fix the cause the error code points to.
2. Check whether the job was created anyway. List your recent jobs, as described in [Check print job status with the BizPrint Print API](https://docs.getbizprint.com/developers/job-status/).
3. Check the [status](https://docs.getbizprint.com/start-here/glossary/#print-job-status) of any matching job. If it is `pending`, `connecting-to-printer` or `processing`, do not create another job. Wait for it to finish.
4. Wait for the [station](https://docs.getbizprint.com/start-here/glossary/#station) to finish anything it is still printing, whatever status the job shows.
5. Ask someone at the printer to look at the paper for that document.
6. Send the request again only when no matching job is still waiting or printing and you are sure the document did not print. Send it once.

## Error codes

| Code                                  | HTTP status | Returned by                                |
| ------------------------------------- | ----------- | ------------------------------------------ |
| `ERR_INVALID_REQUEST`                 | 400         | `POST /jobs`, `GET /jobs`, `GET /printers` |
| `ERR_JOB_CREATING_PRINT_JOB_LIMIT`    | 400         | `POST /jobs`                               |
| `ERR_UNAUTHORIZED`                    | 401         | Any request                                |
| `ERR_ACCESS_FORBIDDEN`                | 403         | `GET /jobs/{id}`, `GET /printers/{id}`     |
| `ERR_JOB_CREATING_INVALID_PRINTER_ID` | 403         | `POST /jobs`                               |
| `ERR_USER_IS_BLOCKED`                 | 403         | `POST /jobs`                               |
| `ERR_NOT_FOUND`                       | 404         | `GET /jobs/{id}`, `GET /printers/{id}`     |
| `ERR_SOMETHING_WRONG`                 | 500         | Any request                                |

### ERR_INVALID_REQUEST

**What it means:** one or more parameters are missing or not valid. The request did nothing.

**What to check:** read the `errors` field. It names each parameter with a problem and says why. Common causes:

- `POST /jobs` is missing `printerId`, `url` or `description`, `url` is not a valid web address, or `printerId` is not a number. See [Create a print job with the BizPrint Print API](https://docs.getbizprint.com/developers/create-print-job/).
- `perPage` is above 100 or below 1, or `page` is below 1. See [Page through results with the BizPrint Print API](https://docs.getbizprint.com/developers/pagination/).

Fix the parameters and send the request again.

### ERR_JOB_CREATING_PRINT_JOB_LIMIT

**What it means:** the BizPrint account has reached its print limit, so no job was created.

**What to check:** the account’s usage and plan in the [BizPrint dashboard](https://docs.getbizprint.com/start-here/glossary/#bizprint-dashboard). The account owner can change the plan. If the plan’s limit resets each month, they can also wait for the reset. See [Change or cancel your BizPrint plan](https://docs.getbizprint.com/manage/change-plan/), [BizPrint plans, print limits and usage](https://docs.getbizprint.com/start-here/plans-and-limits/) and [BizPrint pricing](https://getbizprint.com/pricing/). Do not keep retrying: every request gets the same error until the limit changes.

### ERR_UNAUTHORIZED

**What it means:** BizPrint could not confirm that the request came from your [application](https://docs.getbizprint.com/start-here/glossary/#application), so it rejected the request.

**What to check:**

- The `publicKey` is the [Public Key](https://docs.getbizprint.com/start-here/glossary/#public-key-and-secret-key) of an application that still exists in the BizPrint dashboard.
- The `hash` is made with the Secret Key of that same application, not a station’s keys or another application’s keys.
- The `time` is the current Unix time in seconds, and the request reaches BizPrint within a few minutes of it. Make sure your server’s clock is set correctly.
- For `GET` requests, the `hash` is made from the exact query string you send, with `publicKey` and `time` included and `hash` left out. Changing the order or encoding of the parameters after signing breaks the hash.
- For `POST` requests, the body is sent as JSON with the `Content-Type: application/json` header, and the `hash` is made from that same body, with `publicKey` and `time` included and `hash` left out.

For the full signing steps, see [Sign BizPrint Print API requests](https://docs.getbizprint.com/developers/authentication/).

### ERR_ACCESS_FORBIDDEN

**What it means:** the job or printer exists, but your application is not allowed to see it.

**What to check:**

- For `GET /jobs/{id}`: you can only look up jobs that your own application created. Jobs created by another application on the same account, such as your WooCommerce store’s application, are not available with your keys.
- For `GET /printers/{id}`: the printer belongs to a different BizPrint account. Use an ID from your own `GET /printers` list.

### ERR_JOB_CREATING_INVALID_PRINTER_ID

**What it means:** the `printerId` you sent does not match a printer on your BizPrint account, so no job was created.

**What to check:** list your printers again with `GET /printers` and use an `id` from that list. A printer’s ID stops working when the printer record no longer exists or no longer belongs to your account. A printer that was removed from a computer running the [BizPrint desktop app](https://docs.getbizprint.com/start-here/glossary/#bizprint-desktop-app) shows as `offline` and keeps its ID. A printer that was deleted in the [BizPrint Android app](https://docs.getbizprint.com/start-here/glossary/#bizprint-android-app) is removed from BizPrint, and if it is added again it gets a new ID. See [List printers with the BizPrint Print API](https://docs.getbizprint.com/developers/printers/).

### ERR_USER_IS_BLOCKED

**What it means:** the BizPrint account cannot create print jobs right now, so no job was created. This happens, for example, when the printing service is paused because of unpaid invoices.

**What to check:** ask the account owner to sign in to the BizPrint dashboard and check the account’s invoices and payment card. See [View, download and pay your BizPrint invoices](https://docs.getbizprint.com/manage/invoices/) and [“PRINT SERVICE PAUSED” and other BizPrint account banners](https://docs.getbizprint.com/troubleshooting/print-service-paused/). If everything is paid, contact [BizPrint support](https://getbizprint.com/support/).

### ERR_NOT_FOUND

**What it means:** there is no job or printer with the ID in the address.

**What to check:** the ID in the address. Use an `id` from a `POST /jobs` response or a `GET /jobs` list for jobs, and from a `GET /printers` list for printers.

### ERR_SOMETHING_WRONG

**What it means:** something went wrong at BizPrint while handling the request.

**What to check:** wait a moment, then try again. For `POST /jobs`, the job may have been created even though you got this error, so follow [Before you retry a print job](https://docs.getbizprint.com/developers/errors/#before-you-retry-a-print-job) first. If the error keeps happening, contact [BizPrint support](https://getbizprint.com/support/). Tell them the time of the request, the HTTP method, the endpoint path without the query string (for example `/jobs/{id}`, with a placeholder instead of the real ID) and the error code. Do not send the full request address or your keys to support.

## Related pages

- [Sign BizPrint Print API requests](https://docs.getbizprint.com/developers/authentication/)
- [Create a print job with the BizPrint Print API](https://docs.getbizprint.com/developers/create-print-job/)
- [Check print job status with the BizPrint Print API](https://docs.getbizprint.com/developers/job-status/)
- [Page through results with the BizPrint Print API](https://docs.getbizprint.com/developers/pagination/)

Need help? Contact BizPrint support at <https://getbizprint.com/support/>.
