# Get Request Status

This section allows you to get the status of a request

## Get Video Request Status

> Get status of the request.\
> \
> If processing is complete, the response will include a signed URL to access the enhanced video.\
> \
> Make sure to download and save the video within the TTL provided in the response (24 hours by default). New URLs with new TTL can be generated by calling this endpoint, but we retain your data for only a limited number of days. The video will be permanently deleted from our system afterwards.\
> \
> \## Response body\
> \
> \| \*\*Property\*\*         | \*\*Type\*\*  | \*\*Description\*\*                                   |\
> \|---------------------|----------|-----------------------------------------------------|\
> \| \*\*status\*\*           | String   | Current processing status                          |\
> \| \*\*progress\*\*         | Number   | Total request progress (percentage)                |\
> \| \*\*estimates\*\*        | Object   | Refer to \*\*RequestEstimates\*\*                      |\
> \| \*\*outputSize\*\*       | String   | Size of output video                               |\
> \| \*\*averageFps\*\*       | Number   | Average FPS of processing nodes                    |\
> \| \*\*combinedFps\*\*      | Number   | Combined FPS of all nodes                          |\
> \| \*\*processingJobs\*\*   | Array    | Refer to \*\*VideoProcessingStatIntermediate\*\* below   |\
> \| \*\*download\*\*         | Object   | Refer to \*\*EnhancedDownloadSignedUrlResponse\*\* below |\
> \
> \---\
> \
> \#### RequestEstimates\
> \
> \`cost\` and \`time\` are arrays with two integers each, representing lower and upper bounds of the estimate.\
> \
> \| \*\*Property\*\*  | \*\*Type\*\*  | \*\*Description\*\*                                    |\
> \|---------------|----------|-----------------------------------------------------|\
> \| \*\*cost\*\*      | Array    | Cost range (in credits)                             |\
> \| \*\*time\*\*      | Array    | Time range (in seconds)                             |\
> \
> \---\
> \
> \#### VideoProcessingStatIntermediate\
> \
> \| \*\*Property\*\*         | \*\*Type\*\*  | \*\*Description\*\*                                   |\
> \|---------------------|----------|-----------------------------------------------------|\
> \| \*\*chunkId\*\*          | UUID     | Unique chunk identifier                            |\
> \| \*\*chunkIndex\*\*       | Integer  | Index of the chunk                                 |\
> \| \*\*taskIndex\*\*        | Integer  | Task index for chunk processing                    |\
> \| \*\*status\*\*           | String   | Status (queued, processing, complete, etc.)        |\
> \| \*\*gpuUtilization\*\*   | Integer  | GPU utilization in percentage                      |\
> \| \*\*gpuMemoryUtilization\*\* | Integer | GPU memory usage percentage                     |\
> \| \*\*fps\*\*              | Number   | Processing speed of the node                       |\
> \| \*\*progress\*\*         | Number   | Processing progress (percentage)                   |\
> \
> \---\
> \
> \#### EnhancedDownloadSignedUrlResponse\
> \
> \| \*\*Property\*\*   | \*\*Type\*\*  | \*\*Description\*\*                 |\
> \|----------------|-----------|---------------------------------|\
> \| \*\*url\*\*        | String    | Signed download URL for the enhanced file |\
> \| \*\*expiresIn\*\*  | Integer   | TTL in milliseconds                  |\
> \| \*\*expiresAt\*\*  | Integer   | Time in milliseconds since UTC epoch |<br>

```json
{"openapi":"3.0.3","info":{"title":"Video API","version":"1.0.0"},"tags":[{"name":"Get Request Status","description":"This section allows you to get the status of a request\n"}],"servers":[{"url":"https://api.topazlabs.com","description":"Production API base URL"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"StatusResponse":{"type":"object","properties":{"status":{"type":"string","enum":["requested","accepted","initializing","preprocessing","processing","postprocessing","complete","canceling","canceled","failed"]},"progress":{"type":"number","description":"Total progress of the request in percentage"},"estimates":{"$ref":"#/components/schemas/RequestEstimates"},"outputSize":{"type":"string"},"averageFps":{"type":"number","description":"Average processing speed of each node"},"combinedFps":{"type":"number","description":"Combined processing speed of all nodes"},"message":{"type":"string"},"processingJobs":{"$ref":"#/components/schemas/ProcessingStatIntermediate"},"download":{"$ref":"#/components/schemas/EnhancedDownloadSignedUrlResponse"}}},"RequestEstimates":{"type":"object","description":"Lower and upper bound estimates","properties":{"cost":{"type":"array","description":"In credits","items":{"type":"integer"}},"time":{"type":"array","description":"In seconds, assuming an empty queue, starting from the time the source video has been received","items":{"type":"integer"}}}},"ProcessingStatIntermediate":{"type":"array","description":"Processing state for each chunk","items":{"type":"object","properties":{"chunkId":{"type":"string","format":"uuid"},"chunkIndex":{"type":"integer","description":"Index of the chunk starting from 0"},"taskIndex":{"type":"integer","description":"Index of a chunk's enhancement task starting from 0"},"status":{"type":"string","enum":["queued","processing","complete","canceled","failed"]},"gpuUtilization":{"type":"number","description":"In percentage"},"gpuMemoryUtilization":{"type":"number","description":"In percentage"},"sampleCount":{"type":"integer","description":"The number of latest processing stat records used in the average calculation"},"currentFrame":{"type":"integer"},"expectedOutputFrames":{"type":"integer","description":"This value and currentFrame is used to calculate the progress %"},"latestLogTs":{"type":"integer","description":"Timestamp of the latest stat record in milliseconds since UTC epoch"},"currentSize":{"type":"integer","description":"In bytes"},"fps":{"type":"number","description":"Processing speed of the node"},"progress":{"type":"number","description":"In percentage"}}}},"EnhancedDownloadSignedUrlResponse":{"type":"object","description":"Signed download URL to the enhanced video file.","properties":{"url":{"type":"string"},"expiresIn":{"type":"integer","description":"TTL in milliseconds"},"expiresAt":{"type":"integer","description":"Time in milliseconds since UTC epoch"}}}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"NotFound":{"description":"Enhancement request with the provided ID not found","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"InternalServerError":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}}}},"paths":{"/video/{requestId}/status":{"get":{"tags":["Get Request Status"],"summary":"Get Video Request Status","operationId":"GetVideoRequestStatus","description":"Get status of the request.\n\nIf processing is complete, the response will include a signed URL to access the enhanced video.\n\nMake sure to download and save the video within the TTL provided in the response (24 hours by default). New URLs with new TTL can be generated by calling this endpoint, but we retain your data for only a limited number of days. The video will be permanently deleted from our system afterwards.\n\n## Response body\n\n| **Property**         | **Type**  | **Description**                                   |\n|---------------------|----------|-----------------------------------------------------|\n| **status**           | String   | Current processing status                          |\n| **progress**         | Number   | Total request progress (percentage)                |\n| **estimates**        | Object   | Refer to **RequestEstimates**                      |\n| **outputSize**       | String   | Size of output video                               |\n| **averageFps**       | Number   | Average FPS of processing nodes                    |\n| **combinedFps**      | Number   | Combined FPS of all nodes                          |\n| **processingJobs**   | Array    | Refer to **VideoProcessingStatIntermediate** below   |\n| **download**         | Object   | Refer to **EnhancedDownloadSignedUrlResponse** below |\n\n---\n\n#### RequestEstimates\n\n`cost` and `time` are arrays with two integers each, representing lower and upper bounds of the estimate.\n\n| **Property**  | **Type**  | **Description**                                    |\n|---------------|----------|-----------------------------------------------------|\n| **cost**      | Array    | Cost range (in credits)                             |\n| **time**      | Array    | Time range (in seconds)                             |\n\n---\n\n#### VideoProcessingStatIntermediate\n\n| **Property**         | **Type**  | **Description**                                   |\n|---------------------|----------|-----------------------------------------------------|\n| **chunkId**          | UUID     | Unique chunk identifier                            |\n| **chunkIndex**       | Integer  | Index of the chunk                                 |\n| **taskIndex**        | Integer  | Task index for chunk processing                    |\n| **status**           | String   | Status (queued, processing, complete, etc.)        |\n| **gpuUtilization**   | Integer  | GPU utilization in percentage                      |\n| **gpuMemoryUtilization** | Integer | GPU memory usage percentage                     |\n| **fps**              | Number   | Processing speed of the node                       |\n| **progress**         | Number   | Processing progress (percentage)                   |\n\n---\n\n#### EnhancedDownloadSignedUrlResponse\n\n| **Property**   | **Type**  | **Description**                 |\n|----------------|-----------|---------------------------------|\n| **url**        | String    | Signed download URL for the enhanced file |\n| **expiresIn**  | Integer   | TTL in milliseconds                  |\n| **expiresAt**  | Integer   | Time in milliseconds since UTC epoch |\n","parameters":[{"in":"path","name":"requestId","schema":{"type":"string","format":"uuid"},"required":true}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```
