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

# Health check

> Liveness check for monitors and load balancers. **Unauthenticated and minimal by design** —
no API key should ever sit in a monitoring tool. Returns only a status; no versions or internals.




## OpenAPI

````yaml get /health
openapi: 3.1.0
info:
  title: KYC Hospitality Public API
  version: 1.0.0
  summary: Public REST API for hotel tech partners.
  description: >
    The KYC Hospitality public API for hotel technology partners.


    Key conventions (full detail in the design docs):

    - **Brand is the host/subdomain**; the path is brand-agnostic and identical
    across brands.

    - **Property scope** via the `Kyc-Property-Id` header — required on
    property-scoped resources,
      omitted on brand-wide ones (e.g. guests).
    - **Auth**: `Authorization: Bearer <key>` (prefixed `kyc_live_` /
    `kyc_test_`).

    - **Success** responses use a `{ data, meta }` envelope; every resource
    carries an `object` discriminator.

    - **Errors** are RFC 9457 `application/problem+json`, enriched with a stable
    machine `code`.

    - **Casing**: `camelCase` for all fields/params/variables; `kebab-case` for
    URL path segments.

    - **Strict** input validation; **lenient** output contract (clients must
    ignore unknown fields).
  contact:
    name: KYC API Support
    email: api-support@kychospitality.com
    url: https://docs.kychospitality.com
  license:
    name: Proprietary — © KYC Hospitality
  termsOfService: https://docs.kychospitality.com/terms
servers:
  - url: https://{service}.{brand}.kych.co/v1
    description: Production. Brand is the host; the path is brand-agnostic.
    variables:
      service:
        default: public-api
        description: API service label (not yet finalized — `public-api` or `api`).
      brand:
        default: hilton
        description: Brand subdomain, e.g. `hilton`.
security:
  - bearerAuth: []
tags:
  - name: System
    description: Utility endpoints for API information and health checks.
  - name: Properties
    description: >-
      Hotel properties within the brand. Discovery endpoints — scoped by the API
      key, not the property header.
paths:
  /health:
    get:
      tags:
        - System
      summary: Health check
      description: >
        Liveness check for monitors and load balancers. **Unauthenticated and
        minimal by design** —

        no API key should ever sit in a monitoring tool. Returns only a status;
        no versions or internals.
      operationId: getHealth
      responses:
        '200':
          description: Service is healthy.
          headers:
            Kyc-Request-Id:
              $ref: '#/components/headers/KycRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthStatus'
              examples:
                ok:
                  value:
                    status: ok
        '503':
          description: Service is unhealthy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthStatus'
              examples:
                down:
                  value:
                    status: unhealthy
      security: []
components:
  headers:
    KycRequestId:
      description: >-
        Server-generated request ID. Present on every response. Mirrors
        `meta.requestId`.
      schema:
        type: string
      example: req_01J9Z3K8Q2X7C5N0
  schemas:
    HealthStatus:
      type: object
      description: Minimal liveness payload. Intentionally free of versions/internals.
      required:
        - status
      properties:
        status:
          type: string
          description: Whether the service is currently able to serve requests.
          enum:
            - ok
            - unhealthy
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        API key sent as a bearer token: `Authorization: Bearer kyc_live_...`.

        Keys are prefixed `kyc_live_` (production) or `kyc_test_` (test mode).

        OAuth2 access tokens (also `Bearer`) may be supported later — the header
        never changes.

````