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

# Liveness probe

> Answers as long as the service is running. Requires no credentials and touches no database, so it cannot tell you whether your credentials work — use `GET /v1/transactions?limit=1` for that.



## OpenAPI

````yaml /openapi.json get /health
openapi: 3.1.0
info:
  title: Vibepay Charge API
  version: 1.0.0
  description: >-
    The public API a merchant point-of-sale charges a Vibepay meal-benefit
    wallet against.


    A cardholder's card lives in Apple or Google Wallet as a pass that displays
    a rotating QR token. Your terminal scans that token, posts it here with an
    amount in tugrik, and the wallet is debited atomically. Every card charge
    also produces a Mongolian VAT receipt (ДДТД), issued asynchronously.


    This surface is authenticated per terminal with HTTP Basic and is intended
    for server-to-server or native POS callers. It sends no CORS headers, so a
    browser page cannot call it cross-origin.
  contact:
    name: Vibepay integrations
    email: info@vibepay.mn
    url: https://vibepay.mn
servers:
  - url: https://api.vibepay.mn
    description: >-
      Production. There is no separate sandbox — see the Environments guide for
      the small-amount charge-and-reverse loop used to verify an integration.
security:
  - terminalBasic: []
tags:
  - name: Transactions
    description: Charge a wallet, reverse a charge, and read this terminal's own history.
  - name: Service
    description: Unauthenticated liveness and readiness probes.
paths:
  /health:
    get:
      tags:
        - Service
      summary: Liveness probe
      description: >-
        Answers as long as the service is running. Requires no credentials and
        touches no database, so it cannot tell you whether your credentials work
        — use `GET /v1/transactions?limit=1` for that.
      operationId: health
      responses:
        '200':
          description: The service is up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthStatus'
      security: []
components:
  schemas:
    HealthStatus:
      type: object
      title: Health
      required:
        - status
      properties:
        status:
          type: string
          description: Always `ok` when the service answers at all.
          example: ok
  securitySchemes:
    terminalBasic:
      type: http
      scheme: basic
      description: >-
        Per-terminal HTTP Basic credentials, issued in the Vibepay merchant
        dashboard under Terminals. The username starts with `term_` and the
        password with `vpt_`. Every authentication failure — missing header,
        unknown username, wrong password, suspended terminal — returns the same
        `401`, so the response can never be used to discover valid usernames.

````