# Status

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.

This 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).

## 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:\
> &#x20; \- Use the \`limit\` parameter to control the number of results per page (default: 50, maximum: 100)\
> &#x20; \- Use the \`cursor\` parameter to retrieve subsequent pages\
> &#x20; \- 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.<br>

```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"}}}}}}
```

## Delete All Statuses

> Remove all image processing job statuses. This operation can be used to delete the statuses of finished jobs, cleaning up the response of \`Get All Statuses\`, for example.<br>

```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"}},"responses":{"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":{"delete":{"tags":["Status"],"summary":"Delete All Statuses","operationId":"deleteAllStatuses","description":"Remove all image processing job statuses. This operation can be used to delete the statuses of finished jobs, cleaning up the response of `Get All Statuses`, for example.\n","responses":{"200":{"description":"The number of statuses that were deleted.","content":{"application/json":{"schema":{"type":"object","properties":{"deleted_count":{"type":"integer","description":"The number of statuses that were deleted."}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```

## Get Status

> Use this endpoint to retrieve status information for your image processing jobs.<br>

```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."}}}},"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."}}}}}},"NotFound":{"description":"The requested resource does not exist.","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/{process_id}":{"get":{"tags":["Status"],"summary":"Get Status","operationId":"getStatus","description":"Use this endpoint to retrieve status information for your image processing jobs.\n","parameters":[{"name":"process_id","in":"path","required":true,"description":"The UUID of the image processing job.","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Status of the process","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"400":{"$ref":"#/components/responses/BadRequestProcess"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```

## Delete Status

> Remove an image processing job status by its \`process\_id\`. This operation can be used to delete the statuses of finished jobs, cleaning up the response of \`GET Status\`, for example.<br>

```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"}},"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."}}}}}},"NotFound":{"description":"The requested resource does not exist.","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."}}}}}},"Conflict":{"description":"The request conflicts with the current state.","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/{process_id}":{"delete":{"tags":["Status"],"summary":"Delete Status","operationId":"deleteStatus","description":"Remove an image processing job status by its `process_id`. This operation can be used to delete the statuses of finished jobs, cleaning up the response of `GET Status`, for example.\n","parameters":[{"name":"process_id","in":"path","required":true,"description":"The UUID of the image processing job.","schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"The image processing job status was successfully deleted. No content returned."},"400":{"$ref":"#/components/responses/BadRequestProcess"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.topazlabs.com/reference/api-endpoints/image/status.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
