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

# Get health



## OpenAPI

````yaml /v0.5.2/api-reference/openapi.yml get /health
openapi: 3.0.0
info:
  title: Paxos Labs API
  description: >
    Paxos Labs API V2.


    ---


    # API overview


    This document describes shared behavior and conventions for the Paxos Labs
    API (REST and GraphQL).


    <details>

    <summary><strong>Health check</strong></summary>


    A **health** endpoint is available for orchestrators (GitHub Actions, etc).


    | Item         |
    Details                                                                                
    |

    | ------------ |
    ---------------------------------------------------------------------------------------
    |

    | **Path**     | `GET /health` (no version prefix; no API key or rate limit
    applied).                    |

    | **Response** | `200` with Terminus-style JSON when healthy; `503` when
    unhealthy (e.g. database down). |


    **Docker / healthcheck:** If your healthcheck uses `curl` (e.g. `curl -f
    http://localhost:3000/health`), ensure your image has curl installed. Base
    images like `node:bullseye-slim` or `node:alpine` do not—install it (e.g.
    `RUN apk add --no-cache curl` for Alpine).


    </details>


    <details>

    <summary><strong>GraphQL endpoint</strong></summary>


    A **GraphQL** API is available in addition to REST. Use it to query address
    book and vault data with a single request and flexible field selection.


    | Item                         |
    Details                                                              |

    | ---------------------------- |
    -------------------------------------------------------------------- |

    | **Altair (interactive IDE)** |
    [https://api.paxoslabs.com/altair](https://api.paxoslabs.com/altair) |

    | **GraphQL endpoint**         | Same base URL with path `/graphql` for
    POST.                         |

    | **Authentication**           | Same as REST: send `x-api-key`
    header.                               |


    Open the Altair link in a browser to explore the schema and run queries.


    </details>


    <details>

    <summary><strong>Filter query parameter syntax</strong></summary>


    List endpoints that support a `filter` query parameter use a single string
    with **keys**, **operators**, and **combinators**. This keeps the number of
    query params small (AIP-160 style) while allowing flexible filtering.


    <details>

    <summary><strong>Operators</strong></summary>


    | Operator | Meaning    | Example            |

    | -------- | ---------- | ------------------ |

    | `=`      | Equals     | `chainId=1`        |

    | `!=`     | Not equals | `status!=REFUNDED` |


    </details>


    <details>

    <summary><strong>Combinators</strong></summary>


    | Combinator | Meaning                                      |
    Example                         |

    | ---------- | -------------------------------------------- |
    ------------------------------- |

    | `AND`      | All conditions must match (case-insensitive) | `chainId=1 AND
    name="Treasury"` |

    | `OR`       | Any condition may match (case-insensitive)   | `chainId=1 OR
    chainId=137`      |


    </details>


    <details>

    <summary><strong>Value formatting</strong></summary>


    | Type     | Use case                                  |
    Example                   |

    | -------- | ----------------------------------------- |
    ------------------------- |

    | Unquoted | Numbers, booleans, single-token values    | `chainId=1`,
    `valid=true` |

    | Quoted   | Strings with spaces or special characters | `name="Treasury
    Wallet"`  |

    | Escape   | Literal quote inside a quoted string      |
    `\"`                      |


    Allowed **keys** and **value types** (number, hex address, string, etc.) are
    defined per endpoint in the API docs and validated by the server.


    </details>


    <details>

    <summary><strong>Possible combinations (examples)</strong></summary>


    | Category              |
    Example                                             |

    | --------------------- |
    --------------------------------------------------- |

    | Single condition      |
    `chainId=1`                                         |

    | Single condition      |
    `status!=REFUNDED`                                  |

    | AND                   | `chainId=1 AND
    name="Treasury"`                     |

    | AND                   | `vaultAddress=0x123... AND
    chainId=1`               |

    | OR                    | `chainId=1 OR
    chainId=137`                          |

    | OR                    | `status=PENDING OR
    status=COMPLETE`                 |

    | Mixed AND and OR      | `chainId=1 AND (status=PENDING OR
    status=COMPLETE)` |

    | Equals and not-equals | `chainId=1 AND
    status!=REFUNDED`                    |

    | Equals and not-equals |
    `name!=""`                                          |


    Mixed AND and OR: AND has higher precedence; use parentheses for grouping.
    Without grouping, evaluation is left-to-right per implementation.


    </details>


    <details>

    <summary><strong>Implementation note</strong></summary>


    | Item      |
    Details                                                                   |

    | --------- |
    ------------------------------------------------------------------------- |

    | Location  |
    `src/common/utils/filter.util.ts`                                         |

    | Supported | `=`, `!=`, `AND`,
    `OR`                                                    |

    | Errors    | Invalid keys or value types return `400` with the standard
    error envelope |


    </details>


    </details>
  version: '2.0'
  contact: {}
servers:
  - url: https://api.paxoslabs.com
    description: Production
security: []
tags: []
paths:
  /health:
    get:
      tags:
        - Health
      operationId: HealthController_check
      parameters: []
      responses:
        '200':
          description: The Health Check is successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  info:
                    type: object
                    example:
                      database:
                        status: up
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example: {}
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example:
                      database:
                        status: up
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
        '503':
          description: The Health Check is not successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  info:
                    type: object
                    example:
                      database:
                        status: up
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  error:
                    type: object
                    example:
                      redis:
                        status: down
                        message: Could not connect
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true
                    nullable: true
                  details:
                    type: object
                    example:
                      database:
                        status: up
                      redis:
                        status: down
                        message: Could not connect
                    additionalProperties:
                      type: object
                      required:
                        - status
                      properties:
                        status:
                          type: string
                      additionalProperties: true

````