> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.bulkneo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Health check

> GET /health — is the API up?

Unauthenticated. Useful if you want your own monitoring to watch the API.

```bash theme={null}
curl https://api.bulkneo.com/health
```

```json theme={null}
{ "status": "ok", "service": "api" }
```

There is also `GET /health/ready`, which additionally confirms the API can reach its data store. It answers `200` with `{"status":"ok","database":"reachable"}`, or `503` with `{"status":"degraded","database":"unreachable"}`.

<Note>
  Neither endpoint tells you anything about **your** numbers. A healthy API with a disconnected WhatsApp number will still return `200` here and `409 instance_not_connected` on a send. To monitor your numbers, poll [`GET /v1/instances`](/api-reference/instances/list) and watch the `connected` flag.
</Note>


## OpenAPI

````yaml api-reference/openapi.json GET /health
openapi: 3.1.0
info:
  title: BulkNeo WhatsApp API
  version: 1.0.0
  description: >-
    Send WhatsApp messages from your own connected numbers. Every request is
    authenticated with an `apikey` header and names the `instance_id` of the
    number it should be sent from.
servers:
  - url: https://api.bulkneo.com
    description: BulkNeo API
security:
  - apikey: []
tags:
  - name: Messages
    description: Send a message from one of your connected numbers.
  - name: Numbers
    description: Check which numbers are reachable on WhatsApp.
  - name: Instances
    description: Create, connect, inspect and remove your WhatsApp numbers.
  - name: Service
    description: Unauthenticated service health checks.
paths:
  /health:
    get:
      tags:
        - Service
      summary: Service liveness
      description: Unauthenticated. Returns 200 while the API is running.
      operationId: health
      responses:
        '200':
          description: The service is up.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  service:
                    type: string
              example:
                status: ok
                service: api
      security: []
components:
  securitySchemes:
    apikey:
      type: apiKey
      in: header
      name: apikey
      description: >-
        Your API key, sent in an `apikey` request header. Never in the URL,
        never as a Bearer token.

````