---
title: "Check API health"
method: GET
path: "/api/v1/health"
tags: ["Discovery"]
---

# Check API health

`GET /api/v1/health`

## Request

- Base URL: `https://spoonjoy.app`
- URL: `https://spoonjoy.app/api/v1/health`
- Auth: none required

## Headers

- `X-Request-Id` string

## Response `200`

Success

- HealthEnvelope
  - `ok` unknown, required
  - `requestId` string, required
  - `data` HealthData, required
    - `ok` unknown, required
    - `version` 'v1', required
    - `sourceSha` string, required: The 40-char git commit SHA the running Worker was built from, or "unknown" outside a build. Deployed-identity proof for the web surface: a caller can assert it matches the change it expects to be live.
    - `deployment` BuildDeployment, required
      - `id` string, required: Cloudflare Worker version id for the running deployment.
      - `tag` string, required: Deploy tag Cloudflare attached to the version; empty string when none.
      - `timestamp` string, required: ISO timestamp Cloudflare recorded for the version; empty string when none.
    - `authenticated` boolean, required
    - `principal` ApiPrincipalSummary, required
      - `id` string, required
      - `username` string, required
      - `source` 'session' | 'bearer' | 'environment', required
    - `scopes` string[], required

## Other responses

- `400`: Errors: validation_error
- `401`: Errors: invalid_token
- `405`: Errors: method_not_allowed
- `429`: Errors: rate_limited
- `500`: Errors: internal_error
- `503`: Errors: temporarily_unavailable

---

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