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

# List active fleet aircraft

> Returns non-retired aircraft ordered by registration. A flagship key includes all non-closed subsidiaries in its own group; a subsidiary or independent airline key includes only its own fleet. Pagination and total apply to the combined fleet. This is a public snapshot and does not expose fleet-management actions.



## OpenAPI

````yaml /virtual-airlines/openapi.json get /api/v1/va/fleet
openapi: 3.1.0
info:
  title: FlyHub Virtual Airlines API
  version: '2026-07-21'
  description: >-
    Read-only airline information and Discord notification payloads for Virtual
    Airlines integrations. Resources are scoped to the airline that issued the
    fhva_live bearer key.
servers:
  - url: https://flyhub.app
    description: FlyHub production API
security: []
tags:
  - name: public-api
    description: >-
      Read-only resources for airline websites, dashboards, and private
      integrations.
    x-group: Public VA API
  - name: discord-webhooks
    description: Discord notification payloads for selected airline activity.
    x-group: Discord webhooks
paths:
  /api/v1/va/fleet:
    get:
      tags:
        - public-api
      summary: List active fleet aircraft
      description: >-
        Returns non-retired aircraft ordered by registration. A flagship key
        includes all non-closed subsidiaries in its own group; a subsidiary or
        independent airline key includes only its own fleet. Pagination and
        total apply to the combined fleet. This is a public snapshot and does
        not expose fleet-management actions.
      operationId: listVaFleet
      parameters:
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          $ref: '#/components/responses/FleetResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      security:
        - vaApiKey: []
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: >-
        Requested page size. The API uses 25 by default, accepts 1–100, and caps
        larger values at 100. Invalid values fall back to the default.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 25
    Offset:
      name: offset
      in: query
      description: >-
        Number of records to skip. The API uses 0 by default and caps values at
        10000.
      schema:
        type: integer
        minimum: 0
        maximum: 10000
        default: 0
  responses:
    FleetResponse:
      description: Paginated non-retired fleet snapshot.
      headers:
        Cache-Control:
          $ref: '#/components/headers/CacheControl'
        X-RateLimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
      content:
        application/json:
          schema:
            type: object
            required:
              - data
              - pagination
              - meta
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/FleetAircraft'
              pagination:
                $ref: '#/components/schemas/Pagination'
              meta:
                $ref: '#/components/schemas/Meta'
    Unauthorized:
      description: A valid FlyHub VA API key is required.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: The key does not include the required read scope.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: The request rate is temporarily limited.
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServiceUnavailable:
      description: FlyHub cannot safely serve the request at the moment.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  headers:
    CacheControl:
      description: >-
        The response is private and should not be stored as a shared cache
        entry.
      schema:
        type: string
        example: private, no-store
    RateLimitLimit:
      description: Requests allowed in the current public API window.
      schema:
        type: integer
    RateLimitRemaining:
      description: Requests remaining in the current public API window.
      schema:
        type: integer
    RateLimitReset:
      description: ISO timestamp when the public API request window resets.
      schema:
        type: string
        format: date-time
    RetryAfter:
      description: Seconds to wait before retrying after a rate limit.
      schema:
        type: integer
  schemas:
    FleetAircraft:
      type: object
      required:
        - registration
        - displayName
        - aircraftTypeIcao
        - ownershipType
        - operationalStatus
        - currentIcao
        - conditionPercent
        - maintenanceState
        - airframeHours
        - airframeCycles
        - availableFrom
        - maintenanceDueAt
        - acquiredAt
        - updatedAt
      properties:
        registration:
          type: string
        displayName:
          type:
            - string
            - 'null'
        aircraftTypeIcao:
          type: string
        ownershipType:
          type: string
        operationalStatus:
          type: string
        currentIcao:
          type:
            - string
            - 'null'
        conditionPercent:
          type: number
          minimum: 0
          maximum: 100
        maintenanceState:
          type: string
        airframeHours:
          type: number
          minimum: 0
        airframeCycles:
          type: integer
          minimum: 0
        availableFrom:
          type:
            - string
            - 'null'
          format: date-time
        maintenanceDueAt:
          type:
            - string
            - 'null'
          format: date-time
        acquiredAt:
          type:
            - string
            - 'null'
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Pagination:
      type: object
      required:
        - offset
        - limit
        - total
      properties:
        offset:
          type: integer
          minimum: 0
        limit:
          type: integer
          minimum: 1
          maximum: 100
        total:
          type: integer
          minimum: 0
    Meta:
      type: object
      required:
        - apiVersion
      properties:
        apiVersion:
          type: string
          example: '2026-07-21'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
            message:
              type: string
  securitySchemes:
    vaApiKey:
      type: http
      scheme: bearer
      bearerFormat: fhva_live_...
      description: >-
        A read-only FlyHub VA API key created from Ownership. Keep it on your
        integration server.

````

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