> ## Documentation Index
> Fetch the complete documentation index at: https://omniflow-vpn.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get v1accountoverview



## OpenAPI

````yaml https://raw.githubusercontent.com/kewldan/omniflow/main/api/openapi.yaml get /v1/account/overview
openapi: 3.0.3
info:
  title: Omniflow API
  version: 1.0.0
  description: >-
    Customer, commerce, payment, wallet, fulfillment, and operations API for
    Omniflow.
servers: []
security: []
paths:
  /v1/account/overview:
    get:
      tags:
        - account
      operationId: getAccountOverview
      parameters:
        - in: query
          name: locale
          schema:
            type: string
            enum:
              - ru
              - en
      responses:
        '200':
          description: Dashboard
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountOverview'
components:
  schemas:
    AccountOverview:
      type: object
      required:
        - customer
        - subscriptions
        - showSwitcher
        - degraded
      properties:
        customer:
          $ref: '#/components/schemas/AccountCustomer'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/AccountSubscription'
        notice:
          allOf:
            - $ref: '#/components/schemas/AccountNotice'
          description: Present only while maintenance or an incident is active.
        showSwitcher:
          type: boolean
          description: >-
            Concurrent subscriptions are enabled. A single-subscription
            installation gets one screen with no selection step.
        degraded:
          type: boolean
          description: Remnawave could not be reached for at least one subscription.
    AccountCustomer:
      type: object
      required:
        - id
        - locale
        - timezone
        - status
      properties:
        id:
          type: string
          format: uuid
        locale:
          type: string
          enum:
            - ru
            - en
        timezone:
          type: string
        status:
          type: string
          enum:
            - active
            - suspended
            - deleted
    AccountSubscription:
      type: object
      required:
        - id
        - slot
        - label
        - plan
        - phase
        - daysLeft
        - provisioned
        - live
        - traffic
        - devices
      properties:
        id:
          type: string
          format: uuid
        slot:
          type: integer
        label:
          type: string
        plan:
          type: string
        phase:
          type: string
          enum:
            - none
            - provisioning
            - active
            - expiring_soon
            - grace
            - limited
            - disabled
            - expired
            - failed
        endsAt:
          type: string
          format: date-time
        daysLeft:
          type: integer
        provisioned:
          type: boolean
        live:
          type: boolean
          description: >-
            The traffic and device figures were read from Remnawave. When false
            they are the last observed values and the panel says so.
        traffic:
          $ref: '#/components/schemas/AccountTraffic'
        devices:
          $ref: '#/components/schemas/AccountDeviceUsage'
        pendingOrderId:
          type: string
          format: uuid
          description: >-
            The unpaid order that opened this subscription, present only while
            no entitlement has been provisioned. The panel renders the card as
            "payment pending" with a way to the order rather than as a
            subscription that is not active.
    AccountNotice:
      type: object
      required:
        - active
        - message
      properties:
        active:
          type: boolean
        message:
          type: string
          description: >-
            The operator's own customer-facing wording in the customer's
            language. Empty when none was configured, which the panel renders
            with its own localized copy.
        expectedReturnAt:
          type: string
          format: date-time
          description: Absent when the operator gave no estimate.
    AccountTraffic:
      type: object
      required:
        - usedBytes
        - unlimited
        - percent
      properties:
        usedBytes:
          type: integer
          format: int64
        limitBytes:
          type: integer
          format: int64
          nullable: true
        unlimited:
          type: boolean
        percent:
          type: integer
          minimum: 0
          maximum: 100
          description: >-
            Computed on the server and clamped, so the bar and its textual
            equivalent cannot disagree. Meaningless when unlimited.
    AccountDeviceUsage:
      type: object
      required:
        - used
        - unlimited
      properties:
        used:
          type: integer
        limit:
          type: integer
          nullable: true
        unlimited:
          type: boolean

````

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