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

# Health check

> Server liveness probe. No authentication required.

Returns `200` when the process is up. Does not verify database connectivity.

<Note>
  No API key is required for this endpoint. Use it to verify that the service is reachable before attempting authenticated calls.
</Note>

## Example request

```bash theme={null}
curl https://api-test.idunox.com/health
```

## Example response

```json theme={null}
{ "status": "ok", "timestamp": "2026-04-27T00:00:00.000Z" }
```


## OpenAPI

````yaml GET /health
openapi: 3.1.0
info:
  title: IduScore Partner & Platform API
  description: >-
    Partner-facing JSON API for de-identified clinical submissions (canonical
    Type A, not FHIR at ingestion).


    **Authentication:** Send `X-Api-Key: <key>` **or** `Authorization: Bearer
    <key>` on every `/v1/*` request (except preflight `OPTIONS`).


    **Writes (`POST`):** Client MUST send non-empty `x-correlation-id` and
    `Idempotency-Key`. The server does not synthesize these from the request id.


    **Tenant scope:** Credentials resolve to a tenant; all IDs are tenant-scoped
    (cross-tenant access returns `404` where applicable).


    **Request id:** Responses may echo `x-request-id` when the client sent it;
    otherwise the server generates one (see error envelope `requestId`).


    **Partner responses:** Read APIs return **IduScore wellbeing** language only
    — stable `wellbeing.*` outcome ids,

    plain-English labels, and optional `notices[].message` lines (no internal
    warning codes or model identifiers).

    Use **`GET /openapi.yaml`** for request/response examples aligned with this
    contract.



    ---

    **Merged spec (this file):** includes **Platform** and **Diagnostics** paths
    from the service implementation in addition to the **Type A** `/v1` product
    routes. The slimmer `type-a-partner-v1.*` files are the same contract for
    submissions, jobs, and results.
  version: 0.1.0
  license:
    name: Proprietary
servers:
  - url: https://api-test.idunox.com
    description: Lab partner API (iduscore-andres-test)
  - url: https://andres-test-submission-api-oymsigepna-ew.a.run.app
    description: Lab submission-api Cloud Run URL (direct)
security: []
tags:
  - name: Submissions
    description: Ingestion and submission reads
  - name: Jobs
    description: Processing job status
  - name: Results
    description: Inference / scoring results
  - name: Webhooks
    description: >
      Outbound HTTPS callbacks the platform may POST to a URL you register (not
      paths on the IduScore Partner API;

      `/_reference/...` entries document payload and headers for your
      implementer only).
  - name: Platform
    description: >-
      Liveness, readiness, and OpenAPI document discovery. **No API key**
      required.
  - name: Diagnostics
    description: >-
      Validates the same **partner API key** and (for `POST`) write headers as
      other `/v1` routes. Returns `204` when valid.
paths:
  /health:
    get:
      tags:
        - Platform
      summary: Liveness
      description: Process is up. Does not verify database connectivity.
      operationId: getHealthLiveness
      parameters:
        - $ref: '#/components/parameters/HeaderRequestIdOptional'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - timestamp
                additionalProperties: false
                properties:
                  status:
                    type: string
                    enum:
                      - ok
                  timestamp:
                    type: string
                    format: date-time
      security: []
components:
  parameters:
    HeaderRequestIdOptional:
      name: x-request-id
      in: header
      required: false
      schema:
        type: string
      description: Optional; echoed when possible. Server generates when absent.

````