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

# App Health Check

> Run an on-demand health check against the app's URL.



## OpenAPI

````yaml https://api.getfloo.com/openapi.json post /v1/apps/{app_id}/health-check
openapi: 3.1.0
info:
  title: floo API
  version: 0.1.0
servers:
  - url: https://api.getfloo.com
security: []
paths:
  /v1/apps/{app_id}/health-check:
    post:
      tags:
        - metrics
      summary: App Health Check
      description: Run an on-demand health check against the app's URL.
      operationId: metrics_app_health_check
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: App Id
        - $ref: '#/components/parameters/X-Floo-Org-Id'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HealthCheckResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  parameters:
    X-Floo-Org-Id:
      name: X-Floo-Org-Id
      in: header
      required: false
      schema:
        type: string
        format: uuid
      description: Organization to act in; defaults to the one joined most recently.
  schemas:
    HealthCheckResponse:
      properties:
        health_status:
          $ref: '#/components/schemas/HealthStatus'
        last_health_check_at:
          type: string
          format: date-time
          title: Last Health Check At
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
        checks:
          items:
            $ref: '#/components/schemas/HealthSubCheck'
          type: array
          title: Checks
          default: []
      type: object
      required:
        - health_status
        - last_health_check_at
        - url
      title: HealthCheckResponse
      description: |-
        Response for an on-demand health check.

        `health_status` is the composite rollup (worst-of all sub-checks) and
        stays compatible with pre-P2 clients that only read that field. The
        `checks` list gives deeper breakdown: HTTP probe, any managed-service
        (DB / Redis) state, and recent load (request rate / error rate / p95
        latency). New clients should render the sub-checks; old clients
        continue to work on the rollup field alone.
    ErrorResponse:
      properties:
        detail:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
        - detail
      title: ErrorResponse
      description: Body of every error response except request validation (422).
    HealthStatus:
      type: string
      enum:
        - healthy
        - unhealthy
        - unknown
      title: HealthStatus
      description: Health check status of an app.
    HealthSubCheck:
      properties:
        name:
          type: string
          title: Name
        status:
          $ref: '#/components/schemas/HealthCheckStatus'
        message:
          type: string
          title: Message
        metadata:
          additionalProperties:
            anyOf:
              - type: number
              - type: integer
              - type: string
              - type: 'null'
          type: object
          title: Metadata
          default: {}
      type: object
      required:
        - name
        - status
        - message
      title: HealthSubCheck
      description: |-
        Result of a single sub-check inside a composite health probe.

        The `name` is a stable identifier (e.g. 'http', 'postgres:main',
        'load:errors') that clients can key off. The `message` is a
        human-readable one-liner. `metadata` holds structured context — e.g.
        the HTTP status code, request count, error count — so agents can
        programmatically understand what degraded means without parsing the
        message string.
    ErrorDetail:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
      additionalProperties: true
      type: object
      required:
        - code
        - message
      title: ErrorDetail
      description: Standard error envelope with operation-specific JSON context.
    HealthCheckStatus:
      type: string
      enum:
        - ok
        - degraded
        - failed
        - unknown
      title: HealthCheckStatus
      description: Outcome of an individual health sub-check.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A `floo_` API key.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.