# Health check

> A public endpoint for uptime monitors and deployment checks. No API key and no credit needed.

Source: https://onlineresumeparser.com/api-docs/health · Markdown: https://onlineresumeparser.com/api-docs/health.md

## Check API health

`GET https://onlineresumeparser.com/api/v1/health`

Check that the Job Extract, Match, Skills and Rank service is up. No API key needed.

- **Authentication:** none
- **Billing:** Free
- **Client timeout:** at least 10 seconds

### Example request

**cURL**

```bash
curl https://onlineresumeparser.com/api/v1/health
```

**Python**

```python
import requests

response = requests.get(
    "https://onlineresumeparser.com/api/v1/health",
    timeout=10,
)
response.raise_for_status()

data = response.json()
print(data["status"])
```

**TypeScript**

```typescript
const response = await fetch('https://onlineresumeparser.com/api/v1/health', {
  signal: AbortSignal.timeout(10_000),
})

if (!response.ok) {
  throw new Error(`HireLayer ${response.status}: ${await response.text()}`)
}

const data = await response.json()
console.log(data.status)
```

### Response `200`

The service is up.

| Field | Type | Description |
| --- | --- | --- |
| `status` | `string` | `healthy` whenever the service answers. One of: `"healthy"`, `"unhealthy"`. |
| `service` | `string` | Value: `"HireLayer API"`. |
| `skills_loaded` | `integer` | Number of skills in the loaded catalog. |
| `timestamp` | `string (date-time)` | Server time, ISO 8601 UTC. |

```json
{
  "status": "healthy",
  "service": "HireLayer API",
  "skills_loaded": 664,
  "timestamp": "2026-10-01T09:30:12.417Z"
}
```

### Errors

| Status | `error` | `code` | When | Retry |
| --- | --- | --- | --- | --- |
| `502` | `Upstream API unavailable` | — | The service is down or did not answer within 60 seconds. | Retry with backoff |

Example error (`502`):

```json
{
  "error": "Upstream API unavailable"
}
```

### Behavior

- **Scope:** Covers the service behind `/api/v1`. It does not check HireLayer CV Extract (`/api/v3/parser`), and it does not validate API keys.

## Next

- [Quickstart](https://onlineresumeparser.com/api-docs/quickstart.md): Create an API key, check connectivity and parse a resume with cURL, Python or TypeScript in about five minutes.
- [Errors and retries](https://onlineresumeparser.com/api-docs/errors.md): Error format, every status code and message, and when to retry a HireLayer API call.
