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

# Get Current User

> Returns the authenticated user's profile, remaining credits or balance, and billing details.



## OpenAPI

````yaml /openapi/external-api.json get /v3/users/me
openapi: 3.1.0
info:
  title: HeyGen External API
  version: 1.0.0
  description: >-
    HeyGen's external API for programmatic AI video creation. See
    https://docs.heygen.com for full documentation.
  contact:
    name: HeyGen Product Infra
    url: https://heygen.com
servers:
  - url: https://api.heygen.com
    description: Production
security:
  - ApiKeyAuth: []
  - BearerAuth: []
tags:
  - name: Video Agent
    description: Create videos from text prompts using AI
  - name: Videos
    description: Create, list, retrieve, and delete videos
  - name: Voices
    description: Text-to-speech and voice management
  - name: Audio
    description: Search the background-music and sound-effects catalog
  - name: Video Translate
    description: Translate videos into other languages
  - name: User
    description: Account information and billing
  - name: Avatars
    description: List and manage avatars and looks
  - name: Assets
    description: Upload files for use in video creation
  - name: Webhooks
    description: Manage webhook endpoints and events
  - name: Lipsync
    description: Dub or replace audio on existing videos
  - name: Brand
    description: >-
      Brand-related resources — brand kits (colors, fonts, logos) and brand
      glossaries (custom term translations)
paths:
  /v3/users/me:
    get:
      tags:
        - User
      summary: Get Current User
      description: >-
        Returns the authenticated user's profile, remaining credits or balance,
        and billing details.
      operationId: getCurrentUserV3
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/UserInfoResponse'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/StandardAPIError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/StandardAPIError'
              example:
                error:
                  code: authentication_failed
                  message: Invalid or expired API key. Verify your x-api-key header.
                  param: null
                  doc_url: null
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/StandardAPIError'
              example:
                error:
                  code: rate_limit_exceeded
                  message: >-
                    Too many requests. Retry after the duration specified in the
                    Retry-After header.
                  param: null
                  doc_url: null
          headers:
            Retry-After:
              description: Seconds to wait before retrying
              schema:
                type: integer
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
components:
  schemas:
    UserInfoResponse:
      properties:
        username:
          examples:
            - user_abc123
          title: Username
          type: string
        email:
          anyOf:
            - type: string
            - type: 'null'
          examples:
            - user@example.com
          title: Email
        first_name:
          anyOf:
            - type: string
            - type: 'null'
          examples:
            - Jane
          title: First Name
        last_name:
          anyOf:
            - type: string
            - type: 'null'
          examples:
            - Doe
          title: Last Name
        billing_type:
          anyOf:
            - $ref: '#/components/schemas/BillingType'
            - type: 'null'
          default: null
          examples:
            - wallet
        wallet:
          anyOf:
            - $ref: '#/components/schemas/WalletInfo'
            - type: 'null'
          default: null
        subscription:
          anyOf:
            - $ref: '#/components/schemas/SubscriptionInfo'
            - type: 'null'
          default: null
        usage_based:
          anyOf:
            - $ref: '#/components/schemas/UsageBasedInfo'
            - type: 'null'
          default: null
      required:
        - username
        - email
        - first_name
        - last_name
      title: UserInfoResponse
      type: object
    StandardAPIError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: invalid_parameter
        message:
          type: string
          description: Human-readable error message
          example: Video not found
        param:
          type:
            - string
            - 'null'
          description: Which request field caused the error
        doc_url:
          type:
            - string
            - 'null'
          description: Link to error documentation
      required:
        - code
        - message
    BillingType:
      description: >-
        Discriminator for billing fields.  Exactly one of wallet / subscription
        /

        usage_based is populated depending on this value.

        - wallet: prepaid balance in USD (or credits for Enterprise), API key
        auth

        - subscription: per-pool credit balances, OAuth integration apps

        - usage_based: metered billing with optional spending cap
      enum:
        - wallet
        - subscription
        - usage_based
      title: BillingType
      type: string
    WalletInfo:
      properties:
        currency:
          $ref: '#/components/schemas/WalletCurrency'
          examples:
            - usd
        remaining_balance:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          examples:
            - 125.5
          title: Remaining Balance
        auto_reload:
          anyOf:
            - $ref: '#/components/schemas/AutoReloadInfo'
            - type: 'null'
          default: null
      required:
        - currency
      title: WalletInfo
      type: object
    SubscriptionInfo:
      properties:
        plan:
          $ref: '#/components/schemas/SubscriptionTier'
          examples:
            - team
        credits:
          $ref: '#/components/schemas/SubscriptionCredits'
      required:
        - plan
        - credits
      title: SubscriptionInfo
      type: object
    UsageBasedInfo:
      properties:
        spending_current_usd:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          examples:
            - 42.5
          title: Spending Current Usd
        spending_cap_usd:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          examples:
            - 100
          title: Spending Cap Usd
        included_credits:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          examples:
            - 4444
          title: Included Credits
        remaining_credits:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          examples:
            - 4426.9
          title: Remaining Credits
      title: UsageBasedInfo
      type: object
    WalletCurrency:
      enum:
        - usd
        - credits
      title: WalletCurrency
      type: string
    AutoReloadInfo:
      properties:
        enabled:
          examples:
            - true
          title: Enabled
          type: boolean
        threshold_usd:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          examples:
            - 10
          title: Threshold Usd
        amount_usd:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          examples:
            - 50
          title: Amount Usd
      required:
        - enabled
      title: AutoReloadInfo
      type: object
    SubscriptionTier:
      enum:
        - free
        - starter
        - creator
        - pro
        - team
        - enterprise
        - business_plus
      title: SubscriptionTier
      type: string
    SubscriptionCredits:
      properties:
        premium_credits:
          anyOf:
            - $ref: '#/components/schemas/CreditPool'
            - type: 'null'
          default: null
        add_on_credits:
          anyOf:
            - $ref: '#/components/schemas/CreditPool'
            - type: 'null'
          default: null
      title: SubscriptionCredits
      type: object
    CreditPool:
      properties:
        remaining:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          examples:
            - 500
          title: Remaining
        resets_at:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          examples:
            - '2024-05-01T00:00:00Z'
          title: Resets At
      title: CreditPool
      type: object
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: HeyGen API key. Obtain from your HeyGen dashboard.
    BearerAuth:
      type: http
      scheme: bearer
      description: OAuth2 bearer token.

````