> For the complete documentation index, see [llms.txt](https://developer.topazlabs.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.topazlabs.com/reference/image/status/get-all-statuses.md).

# Get All Statuses

Retrieve the status of all image processing jobs.

**Pagination (Highly Recommended):** For better performance and to handle large numbers of statuses, pagination is highly recommended. Enable pagination by setting `paginated=true`. When pagination is enabled:

* Use the `limit` parameter to control the number of results per page (default: 50, maximum: 100)
* Use the `cursor` parameter to retrieve subsequent pages
* The response will include pagination metadata with `next_cursor` and `has_next_page` fields

**Non-Paginated Response:** When `paginated=false` (default) or omitted, the endpoint returns all statuses **up to 7 days old** as a simple array. This may be slow or fail for accounts with many statuses.

```json
{"openapi":"3.1.2","info":{"title":"Image API","version":"1.2.0"},"tags":[{"name":"Status","description":"Check and manage the statuses of your image processing jobs. Whether you are handling a single job or managing a queue of bulk image processing tasks, the Status endpoints allow you to monitor the progress and completion of your tasks.\n\nThis is particularly useful for long-running jobs, where you can track progress and retrieve details such as percentage completion, estimated finish time, and current state (e.g., pending, processing, completed).\n"}],"servers":[{"url":"https://api.topazlabs.com/image/v1","description":"Production Base URL"}],"security":[{"apiKeyAuth":[]}],"components":{"securitySchemes":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Authentication via the Topaz generated key in the `X-API-Key` header.\n"}},"schemas":{"StatusResponse":{"type":"object","required":["process_id","filename","input_format","input_height","input_width","output_format","output_height","output_width","category","model_type","model","crop_to_fill","status","progress","eta","creation_time","modification_time","credits"],"properties":{"process_id":{"type":"string","description":"Unique identifier of the image processing job."},"source_id":{"type":"string","description":"Unique identifier of the source image."},"filename":{"type":"string","description":"Name of the file being processed."},"input_format":{"type":"string","description":"Format of the input file."},"input_height":{"type":"integer","description":"Height of the input image in pixels."},"input_width":{"type":"integer","description":"Width of the input image in pixels."},"output_format":{"type":"string","description":"Format of the output file."},"output_height":{"type":"integer","description":"Height of the output image in pixels."},"output_width":{"type":"integer","description":"Width of the output image in pixels."},"category":{"type":"string","description":"Category of model used for processing."},"model_type":{"type":"string","description":"Type of model used for processing."},"model":{"type":"string","description":"Model used for processing."},"crop_to_fill":{"type":"boolean","description":"Whether cropping to fill is enabled."},"options_json":{"type":"string","description":"Additional options in JSON format."},"status":{"type":"string","description":"Status of the job.","enum":["Pending","Processing","Completed","Cancelled","Failed"]},"progress":{"type":"integer","description":"Progress of the job as a percentage. Useful for displaying a progress bar or loading spinners etc.","minimum":0,"maximum":100},"eta":{"type":"integer","description":"Estimated time of arrival (ETA) for the process to complete in Unix time."},"creation_time":{"type":"integer","description":"Creation time of the job in Unix epoch format."},"modification_time":{"type":"integer","description":"Last modification time of the job in Unix epoch format."},"credits":{"type":"integer","description":"Credits (to be) consumed on image processing completion."}}},"PaginatedStatusesResponse":{"type":"object","required":["data","pagination"],"properties":{"data":{"type":"array","description":"Array of status responses for the current page.","items":{"$ref":"#/components/schemas/StatusResponse"}},"pagination":{"$ref":"#/components/schemas/PaginationMetadata"}}},"PaginationMetadata":{"type":"object","required":["has_next_page"],"properties":{"next_cursor":{"type":"string","description":"The cursor to use for retrieving the next page of results. Omitted if there are no more pages."},"has_next_page":{"type":"boolean","description":"Indicates whether there are more pages of results available."}}}},"responses":{"BadRequestProcess":{"description":"The request contains malformed data in the body, path, or query parameters.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"code":{"type":"integer","description":"The HTTP status code."},"message":{"type":"string","description":"A human readable error message."}}}}}},"Unauthorized":{"description":"Authentication is required and has failed or has not yet been provided.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"code":{"type":"integer","description":"The HTTP status code."},"message":{"type":"string","description":"A human readable error message."}}}}}},"Forbidden":{"description":"The API key doesn't have permissions to perform the request.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"code":{"type":"integer","description":"The HTTP status code."},"message":{"type":"string","description":"A human readable error message."}}}}}},"TooManyRequests":{"description":"Too many requests hit the API too quickly. A backoff (e.g. exponential) is recommended for your requests.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"code":{"type":"integer","description":"The HTTP status code."},"message":{"type":"string","description":"A human readable error message."}}}}}},"InternalServerError":{"description":"Unexpected error on our end.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"code":{"type":"integer","description":"The HTTP status code."},"message":{"type":"string","description":"A human readable error message."}}}}}}}},"paths":{"/status":{"get":{"tags":["Status"],"summary":"Get All Statuses","operationId":"getAllStatuses","description":"Retrieve the status of all image processing jobs.\n\n**Pagination (Highly Recommended):**\nFor better performance and to handle large numbers of statuses, pagination is highly recommended. Enable pagination by setting `paginated=true`. When pagination is enabled:\n  - Use the `limit` parameter to control the number of results per page (default: 50, maximum: 100)\n  - Use the `cursor` parameter to retrieve subsequent pages\n  - The response will include pagination metadata with `next_cursor` and `has_next_page` fields\n\n**Non-Paginated Response:**\nWhen `paginated=false` (default) or omitted, the endpoint returns all statuses **up to 7 days old** as a simple array. This may be slow or fail for accounts with many statuses.\n","parameters":[{"name":"paginated","in":"query","required":false,"description":"Enable pagination for the response. Highly recommended for better performance.","schema":{"type":"boolean","default":false}},{"name":"limit","in":"query","required":false,"description":"Number of results per page when pagination is enabled. Ignored if `paginated=false`. Defaults to 50, maximum is 100.","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","required":false,"description":"Cursor for pagination. Use the `next_cursor` value from the previous response to retrieve the next page. Ignored if `paginated=false`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Statuses of all processes. The response format depends on whether pagination is enabled.","content":{"application/json":{"schema":{"oneOf":[{"type":"array","description":"Non-paginated response (when `paginated=false` or omitted)","items":{"$ref":"#/components/schemas/StatusResponse"}},{"$ref":"#/components/schemas/PaginatedStatusesResponse"}]}}}},"400":{"$ref":"#/components/responses/BadRequestProcess"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developer.topazlabs.com/reference/image/status/get-all-statuses.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
