---
title: "Watch a job"
method: GET
path: "/api/v1/proxy-check/jobs/{id}"
tags: ["Proxy checker API"]
---

# Watch a job

`GET /api/v1/proxy-check/jobs/{id}`

## Request

- Base URL: `https://hproxy.com`
- URL: `https://hproxy.com/api/v1/proxy-check/jobs/{id}`
- Auth: API key in header `X-API-Key`

The same job body, with `done` and `alive` climbing as lines settle. `status` is `queued` (with `queue_position` while it waits), `running`, `done`, `cancelled`, `failed` (the reason is in `error`) or `expired` (the results have been deleted). Poll it every few seconds, not every few milliseconds — it counts against your request limit like any other call.

`GET /api/v1/proxy-check/jobs` lists your 20 most recent jobs as `{ "count": n, "jobs": [ ... ] }`.

## Path parameters

- `id` string, required

## Query parameters

- `X-API-Key` string, required

## Response `200`

Success

- object

## Other responses

- `400`: Invalid input. The body names the field and the accepted set.
- `401`: Missing or invalid API key.
- `429`: Rate limited. Retry after the delay in the response.

---

[API](https://skmtc.dev/hproxy/apis/hproxy-api.md) · [All operations](https://skmtc.dev/hproxy/apis/hproxy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hproxy/apis/hproxy-api/revisions/9f6898fe76e2?raw)
