---
title: "Service health check"
method: GET
path: "/api/v1/health"
tags: ["System"]
---

# Service health check

`GET /api/v1/health`

## Request

- Base URL: `https://firstsales.io`
- URL: `https://firstsales.io/api/v1/health`
- Auth: none required

Returns service status, ISO timestamp, and process uptime in seconds. Call this to confirm the API is reachable before calling other endpoints. Limited to 120 requests per minute per IP, and every response carries the RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and RateLimit-Policy headers so an agent can read the live contract from a single unauthenticated GET.

## Response `200`

Service is healthy.

- HealthResponse
  - `status` 'ok', required
  - `timestamp` string, date-time, required
  - `uptime` number, required: Process uptime in seconds.

## Other responses

- `400`: Invalid request — bad input, missing field, or malformed value.
- `429`: Rate limit exceeded for this endpoint. Wait Retry-After seconds and retry.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/firstsales/apis/firstsales-public-api.md) · [All operations](https://skmtc.dev/firstsales/apis/firstsales-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/firstsales/apis/firstsales-public-api/revisions/3856191adf12?raw)
