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

# Health Check

> `/health` is used by load balancers in AWS as well as in our Docker image.



## OpenAPI

````yaml /api-reference/openapi.json get /health
openapi: 3.0.3
info:
  title: Horizon API V1
  version: '1.0'
  contact:
    name: Tread
    url: https://tread.io
    email: developers@tread.io
  description: >-
    This is the Version 1 implementation.


    When in doubt we default to the practices outlined
    [here](https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api#advanced-queries)
  license:
    name: Private
    url: https://tread.io
servers:
  - description: production
    url: https://api.tread-horizon.com
security:
  - bearerAuth: []
tags:
  - name: Projects
  - name: Orders
  - name: Loads
  - name: Jobs
  - name: JobAssignments
  - name: ApprovalAssignments
  - name: Equipment
  - name: FuelSurcharges
  - name: Materials
  - name: Accounts
  - name: Tickets
  - name: Users
  - name: Sites
  - name: Companies
  - name: Departments
  - name: Rates
  - name: Services
  - name: EquipmentType
  - name: FileAttachments
  - name: MaterialType
  - name: LineItemType
  - name: DriverStateEvent
  - name: Authentication
  - name: IamRoles
  - name: Typeaheads
  - name: Integrations
  - name: Reflection
  - name: LoadCycles
  - name: AddOns
  - name: ServiceClass
  - name: Invoices
  - name: JobSummaries
  - name: LoadSummaries
  - name: CompanyShares
  - name: UserDevicePermission
  - name: Drivers
  - name: Settlements
  - name: LocationHistories
  - name: Telematics
  - name: OmniReports
  - name: DriverDays
  - name: Agave
  - name: AddOnCharges
  - name: ResourceUsageLogs
  - name: ResourceScopes
  - name: TravelledDistances
  - name: MaterialRates
  - name: CompanyDayJobStats
  - name: KMLFiles
  - name: AutoAddOnAssignments
  - name: SiteRateSchedules
  - name: TwilioIntegrations
  - name: Foremen
  - name: AccountExternalTruckIdentifier
  - name: GeofenceTriggers
  - name: Labels
  - name: Compliance
  - name: ComplianceDocuments
paths:
  /health:
    parameters:
      - $ref: '#/components/parameters/Accept-Language'
    get:
      tags:
        - Reflection
      summary: Health Check
      description: >-
        `/health` is used by load balancers in AWS as well as in our Docker
        image.
      operationId: get-health
      responses:
        '200':
          $ref: '#/components/responses/HealthCheck'
        '406':
          $ref: '#/components/responses/Error'
        '503':
          $ref: '#/components/responses/HealthCheck'
      security: []
components:
  parameters:
    Accept-Language:
      name: Accept-Language
      in: header
      schema:
        type: string
        default: en
        example: en
      description: >-
        The Accept-Language request HTTP header indicates the natural language
        and locale that the client prefers. 
  responses:
    HealthCheck:
      description: Health check response
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                $ref: '#/components/schemas/HealthCheck-Read'
            required:
              - data
    Error:
      description: Error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error-Response'
            type: object
  schemas:
    HealthCheck-Read:
      title: HealthCheck-Read
      x-stoplight:
        id: tqnnr1w49hyyk
      type: object
      description: Health check results
      x-internal: true
      required:
        - data_migrations
        - db
        - db_ro
        - geo_db
        - geo_db_ro
        - migrations
        - geo_migrations
        - redis
        - sidekiq_redis
      properties:
        data_migrations:
          type: boolean
          x-stoplight:
            id: z53o03znp1y5z
          description: Have all data migrations run?
        db:
          type: boolean
          x-stoplight:
            id: qd6mepb0ex1q3
          description: Can we connect to the primary writer database?
        db_ro:
          type: boolean
          x-stoplight:
            id: 88i0z5lzwpw76
          description: Can we connect to the primary reader database?
        geo_db:
          type: boolean
          x-stoplight:
            id: dq6mepb0ex1q3
          description: Can we connect to the writer geo database?
        geo_db_ro:
          type: boolean
          x-stoplight:
            id: i0z5lzwpw7688
          description: Can we connect to the reader geo database?
        migrations:
          type: boolean
          x-stoplight:
            id: 8gnbpka1lbf9q
          description: Have all primary db migrations run?
        geo_migrations:
          type: boolean
          x-stoplight:
            id: q9fbl1akpbng8
          description: Have all geo db migrations run?
        redis:
          type: boolean
          x-stoplight:
            id: bcn7yaxqgzhcf
          description: Can we connect to the Redis instance?
        sidekiq_redis:
          type: boolean
          x-stoplight:
            id: idx85wwz6ty6a
          description: Can we connect to the Redis instance used by Sidekiq?
      additionalProperties: false
    Error-Response:
      title: Error-Response
      x-stoplight:
        id: 52cydhphee3qe
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/Error'
      additionalProperties: false
    Error:
      title: Error
      x-stoplight:
        id: 3g57kkik3l464
      type: object
      description: An Error.
      required:
        - code
      properties:
        code:
          type: string
          x-stoplight:
            id: 7o9x1t8v0bgfo
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````