ElevenLabs User API

The User API from ElevenLabs — 2 operation(s) for user.

Operations 2

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/user Get my account profile · Get User Info #
Ask an LLM
“What account details does the API return about me?”
“How can I check which user my API key belongs to?”
Tell an agent
Show my ElevenLabs user profile.
Look up the account tied to my API key.
GET /v1/user/subscription Get my subscription details · Get User Subscription Info #
Ask an LLM
“Which subscription tier am I on and how much of my quota is left?”
“Can I see my character limit and when my plan resets?”
Tell an agent
Show my current subscription plan and usage limits.
Check how many characters remain on my subscription.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/elevenlabs-user-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

elevenlabs-user-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ElevenLabs API Documentation User API
  description: This is the documentation for the ElevenLabs API. You can use this API to use our service programmatically, this is done by using your API key. You can find your API key in the dashboard at https://elevenlabs.io/app/settings/api-keys.
  version: '1.0'
tags:
- name: User
paths:
  /v1/user:
    get:
      summary: Get User Info
      description: Gets information about the user
      operationId: get_user_info
      parameters:
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name: user
      x-fern-sdk-method-name: get
      tags:
      - User
  /v1/user/subscription:
    get:
      summary: Get User Subscription Info
      description: Gets extended information about the users subscription
      operationId: get_user_subscription_info
      parameters:
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
          title: Xi-Api-Key
        description: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtendedSubscriptionResponseModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-fern-sdk-group-name:
      - user
      - subscription
      x-fern-sdk-method-name: get
      tags:
      - User
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    UserResponseModel:
      properties:
        user_id:
          type: string
          title: User Id
          description: The unique identifier of the user.
        subscription:
          $ref: '#/components/schemas/SubscriptionResponseModel'
          description: Details of the user's subscription.
        is_new_user:
          type: boolean
          title: Is New User
          description: Whether the user is new. This field is deprecated and will be removed in the future. Use 'created_at' instead.
          deprecated: true
        can_use_delayed_payment_methods:
          type: boolean
          title: Can Use Delayed Payment Methods
          description: This field is deprecated and will be removed in a future major version. Instead use subscription.trust_on_invoice_creation.
          deprecated: true
        is_onboarding_completed:
          type: boolean
          title: Is Onboarding Completed
          description: Whether the user's onboarding is completed.
        is_onboarding_checklist_completed:
          type: boolean
          title: Is Onboarding Checklist Completed
          description: Whether the user's onboarding checklist is completed.
        show_compliance_terms:
          type: boolean
          title: Show Compliance Terms
          description: Whether to show compliance terms (ToS, Privacy Policy, biometric consent) during onboarding. Set for users signing up from the marketing site.
          default: false
        first_name:
          anyOf:
          - type: string
          - type: 'null'
          title: First Name
          description: First name of the user.
        is_api_key_hashed:
          type: boolean
          title: Is Api Key Hashed
          description: Whether the user's API key is hashed.
          default: false
        xi_api_key_preview:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi Api Key Preview
          description: The preview of the user's API key.
        referral_link_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Referral Link Code
          description: The referral link code of the user.
        partnerstack_partner_default_link:
          anyOf:
          - type: string
          - type: 'null'
          title: Partnerstack Partner Default Link
          description: The Partnerstack partner default link of the user.
        created_at:
          type: integer
          title: Created At
          description: The unix timestamp of the user's creation. 0 if the user was created before the unix timestamp was added.
        seat_type:
          $ref: '#/components/schemas/SeatType'
          description: The seat type of the user.
      type: object
      required:
      - user_id
      - subscription
      - is_new_user
      - can_use_delayed_payment_methods
      - is_onboarding_completed
      - is_onboarding_checklist_completed
      - created_at
      - seat_type
      title: UserResponseModel
      example:
        can_use_delayed_payment_methods: false
        created_at: 1753999199
        first_name: John
        is_api_key_hashed: false
        is_new_user: false
        is_onboarding_checklist_completed: true
        is_onboarding_completed: true
        seat_type: workspace_member
        show_compliance_terms: false
        subscription:
          allowed_to_extend_character_limit: false
          billing_period: monthly_period
          can_extend_character_limit: false
          can_extend_voice_limit: false
          can_use_instant_voice_cloning: true
          can_use_professional_voice_cloning: true
          character_count: 17231
          character_limit: 100000
          character_refresh_period: monthly_period
          currency: usd
          current_overage:
            amount: '0'
            currency: usd
          max_character_limit_extension: 10000
          max_credit_limit_extension: 10000
          max_voice_add_edits: 230
          next_character_count_reset_unix: 1738356858
          professional_voice_limit: 1
          professional_voice_slots_used: 0
          professional_voice_slots_used_in_workspace: 0
          status: free
          tier: trial
          voice_add_edit_counter: 212
          voice_limit: 120
          voice_slots_used: 1
        user_id: '1234567890'
    SeatType:
      type: string
      enum:
      - workspace_admin
      - workspace_member
      - workspace_lite_member
      title: SeatType
      description: Seat types for workspace members.
    PendingSubscriptionSwitchResponseModel:
      properties:
        kind:
          type: string
          const: change
          title: Kind
          default: change
        next_tier:
          type: string
          enum:
          - free
          - starter
          - go
          - creator
          - pro
          - growing_business
          - scale_2024_08_10
          - grant_tier_1_2025_07_23
          - grant_tier_2_2025_07_23
          - grant
          - trial
          - enterprise
          title: Next Tier
          description: The tier to change to.
        next_billing_period:
          $ref: '#/components/schemas/BillingPeriod'
          description: The billing period to change to.
        timestamp_seconds:
          type: integer
          title: Timestamp Seconds
          description: The timestamp of the change.
      type: object
      required:
      - next_tier
      - next_billing_period
      - timestamp_seconds
      title: PendingSubscriptionSwitchResponseModel
    SubscriptionResponseModel:
      properties:
        tier:
          type: string
          title: Tier
          description: The tier of the user's subscription.
        character_count:
          type: integer
          title: Character Count
          description: The number of characters used by the user.
        character_limit:
          type: integer
          title: Character Limit
          description: The maximum number of characters allowed in the current billing period.
        max_character_limit_extension:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Character Limit Extension
          description: 'Deprecated: use `max_credit_limit_extension`. Maximum number of characters that the character limit can be exceeded by. Managed by the workspace admin.'
        max_credit_limit_extension:
          anyOf:
          - type: integer
          - type: string
            const: unlimited
          title: Max Credit Limit Extension
          description: Maximum number of credits that the credit limit can be exceeded by. Managed by the workspace admin. `"unlimited"` means no cap, `0` means usage-based billing is disabled.
        can_extend_character_limit:
          type: boolean
          title: Can Extend Character Limit
          description: Whether the workspace is entitled to enter overages (usage-based billing).
        allowed_to_extend_character_limit:
          type: boolean
          title: Allowed To Extend Character Limit
          description: 'Deprecated: use `max_credit_limit_extension != 0`. Whether the user is allowed to extend their character limit.'
        next_character_count_reset_unix:
          anyOf:
          - type: integer
          - type: 'null'
          title: Next Character Count Reset Unix
          description: The Unix timestamp of the next character count reset.
        voice_slots_used:
          type: integer
          title: Voice Slots Used
          description: The number of voice slots used by the user.
        professional_voice_slots_used:
          type: integer
          title: Professional Voice Slots Used
          description: The number of professional voice slots used. For consolidated billing this is the group-wide count across all workspaces in the group; see professional_voice_slots_used_in_workspace for the current workspace only.
        professional_voice_slots_used_in_workspace:
          type: integer
          title: Professional Voice Slots Used In Workspace
          description: The number of professional voice slots used in the current workspace. For consolidated billing, professional_voice_slots_used counts across all workspaces in the group, while this counts only the current workspace.
        voice_limit:
          type: integer
          title: Voice Limit
          description: The maximum number of voice slots allowed for the user.
        max_voice_add_edits:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Voice Add Edits
          description: The maximum number of voice add/edits allowed for the user.
        voice_add_edit_counter:
          type: integer
          title: Voice Add Edit Counter
          description: The number of voice add/edits used by the user.
        professional_voice_limit:
          type: integer
          title: Professional Voice Limit
          description: The maximum number of professional voices allowed for the user.
        can_extend_voice_limit:
          type: boolean
          title: Can Extend Voice Limit
          description: Whether the user can extend their voice limit.
        can_use_instant_voice_cloning:
          type: boolean
          title: Can Use Instant Voice Cloning
          description: Whether the user can use instant voice cloning.
        can_use_professional_voice_cloning:
          type: boolean
          title: Can Use Professional Voice Cloning
          description: Whether the user can use professional voice cloning.
        currency:
          anyOf:
          - $ref: '#/components/schemas/Currency'
          - type: 'null'
          description: The currency of the user's subscription.
        current_overage:
          $ref: '#/components/schemas/Price'
          description: The current usage-based overage cost.
        status:
          $ref: '#/components/schemas/SubscriptionStatusType'
          description: The status of the user's subscription.
        billing_period:
          anyOf:
          - $ref: '#/components/schemas/BillingPeriod'
          - type: 'null'
          description: The billing period of the user's subscription.
        character_refresh_period:
          anyOf:
          - $ref: '#/components/schemas/CharacterRefreshPeriod'
          - type: 'null'
          description: The character refresh period of the user's subscription.
      type: object
      required:
      - tier
      - character_count
      - character_limit
      - max_character_limit_extension
      - max_credit_limit_extension
      - can_extend_character_limit
      - allowed_to_extend_character_limit
      - voice_slots_used
      - professional_voice_slots_used
      - professional_voice_slots_used_in_workspace
      - voice_limit
      - voice_add_edit_counter
      - professional_voice_limit
      - can_extend_voice_limit
      - can_use_instant_voice_cloning
      - can_use_professional_voice_cloning
      - current_overage
      - status
      title: SubscriptionResponseModel
      example:
        allowed_to_extend_character_limit: false
        billing_period: monthly_period
        can_extend_character_limit: false
        can_extend_voice_limit: false
        can_use_instant_voice_cloning: true
        can_use_professional_voice_cloning: true
        character_count: 17231
        character_limit: 100000
        character_refresh_period: monthly_period
        currency: usd
        current_overage:
          amount: '0'
          currency: usd
        max_character_limit_extension: 10000
        max_credit_limit_extension: 10000
        max_voice_add_edits: 230
        next_character_count_reset_unix: 1738356858
        professional_voice_limit: 1
        professional_voice_slots_used: 0
        professional_voice_slots_used_in_workspace: 0
        status: free
        tier: trial
        voice_add_edit_counter: 212
        voice_limit: 120
        voice_slots_used: 1
    CharacterRefreshPeriod:
      type: string
      enum:
      - monthly_period
      - 3_month_period
      - 6_month_period
      - annual_period
      title: CharacterRefreshPeriod
    ExtendedSubscriptionResponseModel:
      properties:
        tier:
          type: string
          title: Tier
          description: The tier of the user's subscription.
        character_count:
          type: integer
          title: Character Count
          description: The number of characters used by the user.
        character_limit:
          type: integer
          title: Character Limit
          description: The maximum number of characters allowed in the current billing period.
        max_character_limit_extension:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Character Limit Extension
          description: 'Deprecated: use `max_credit_limit_extension`. Maximum number of characters that the character limit can be exceeded by. Managed by the workspace admin.'
        max_credit_limit_extension:
          anyOf:
          - type: integer
          - type: string
            const: unlimited
          title: Max Credit Limit Extension
          description: Maximum number of credits that the credit limit can be exceeded by. Managed by the workspace admin. `"unlimited"` means no cap, `0` means usage-based billing is disabled.
        can_extend_character_limit:
          type: boolean
          title: Can Extend Character Limit
          description: Whether the workspace is entitled to enter overages (usage-based billing).
        allowed_to_extend_character_limit:
          type: boolean
          title: Allowed To Extend Character Limit
          description: 'Deprecated: use `max_credit_limit_extension != 0`. Whether the user is allowed to extend their character limit.'
        next_character_count_reset_unix:
          anyOf:
          - type: integer
          - type: 'null'
          title: Next Character Count Reset Unix
          description: The Unix timestamp of the next character count reset.
        voice_slots_used:
          type: integer
          title: Voice Slots Used
          description: The number of voice slots used by the user.
        professional_voice_slots_used:
          type: integer
          title: Professional Voice Slots Used
          description: The number of professional voice slots used. For consolidated billing this is the group-wide count across all workspaces in the group; see professional_voice_slots_used_in_workspace for the current workspace only.
        professional_voice_slots_used_in_workspace:
          type: integer
          title: Professional Voice Slots Used In Workspace
          description: The number of professional voice slots used in the current workspace. For consolidated billing, professional_voice_slots_used counts across all workspaces in the group, while this counts only the current workspace.
        voice_limit:
          type: integer
          title: Voice Limit
          description: The maximum number of voice slots allowed for the user.
        max_voice_add_edits:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Voice Add Edits
          description: The maximum number of voice add/edits allowed for the user.
        voice_add_edit_counter:
          type: integer
          title: Voice Add Edit Counter
          description: The number of voice add/edits used by the user.
        professional_voice_limit:
          type: integer
          title: Professional Voice Limit
          description: The maximum number of professional voices allowed for the user.
        can_extend_voice_limit:
          type: boolean
          title: Can Extend Voice Limit
          description: Whether the user can extend their voice limit.
        can_use_instant_voice_cloning:
          type: boolean
          title: Can Use Instant Voice Cloning
          description: Whether the user can use instant voice cloning.
        can_use_professional_voice_cloning:
          type: boolean
          title: Can Use Professional Voice Cloning
          description: Whether the user can use professional voice cloning.
        currency:
          anyOf:
          - $ref: '#/components/schemas/Currency'
          - type: 'null'
          description: The currency of the user's subscription.
        current_overage:
          $ref: '#/components/schemas/Price'
          description: The current usage-based overage cost.
        status:
          $ref: '#/components/schemas/SubscriptionStatusType'
          description: The status of the user's subscription.
        billing_period:
          anyOf:
          - $ref: '#/components/schemas/BillingPeriod'
          - type: 'null'
          description: The billing period of the user's subscription.
        character_refresh_period:
          anyOf:
          - $ref: '#/components/schemas/CharacterRefreshPeriod'
          - type: 'null'
          description: The character refresh period of the user's subscription.
        next_invoice:
          anyOf:
          - $ref: '#/components/schemas/InvoiceResponseModel'
          - type: 'null'
          description: The next invoice for the user.
        open_invoices:
          items:
            $ref: '#/components/schemas/InvoiceResponseModel'
          type: array
          title: Open Invoices
          description: The open invoices for the user.
        has_open_invoices:
          type: boolean
          title: Has Open Invoices
          description: Whether the user has open invoices.
        pending_change:
          anyOf:
          - $ref: '#/components/schemas/PendingSubscriptionSwitchResponseModel'
          - $ref: '#/components/schemas/PendingCancellationResponseModel'
          - type: 'null'
          title: Pending Change
          description: The pending change for the user.
        has_used_starter_coupon_on_account:
          type: boolean
          title: Has Used Starter Coupon On Account
          description: True if any workspace owned by this user's auth account has redeemed the starter first-month discount coupon.
          default: false
        has_used_creator_coupon_on_account:
          type: boolean
          title: Has Used Creator Coupon On Account
          description: True if any workspace owned by this user's auth account has redeemed the creator first-month discount coupon.
          default: false
      type: object
      required:
      - tier
      - character_count
      - character_limit
      - max_character_limit_extension
      - max_credit_limit_extension
      - can_extend_character_limit
      - allowed_to_extend_character_limit
      - voice_slots_used
      - professional_voice_slots_used
      - professional_voice_slots_used_in_workspace
      - voice_limit
      - voice_add_edit_counter
      - professional_voice_limit
      - can_extend_voice_limit
      - can_use_instant_voice_cloning
      - can_use_professional_voice_cloning
      - current_overage
      - status
      - open_invoices
      - has_open_invoices
      title: ExtendedSubscriptionResponseModel
      example:
        allowed_to_extend_character_limit: true
        billing_period: monthly_period
        can_extend_character_limit: true
        can_extend_voice_limit: true
        can_use_instant_voice_cloning: true
        can_use_professional_voice_cloning: true
        character_count: 1000
        character_limit: 10000
        character_refresh_period: monthly_period
        currency: usd
        current_overage:
          amount: '0'
          currency: usd
        has_open_invoices: true
        has_used_creator_coupon_on_account: false
        has_used_starter_coupon_on_account: false
        max_character_limit_extension: 10000
        max_credit_limit_extension: 10000
        next_character_count_reset_unix: 1738356858
        next_invoice:
          amount_due_cents: 1000
          discounts:
          - discount_percent_off: 20.0
          next_payment_attempt_unix: 1738356858
          payment_intent_status: processing
          payment_intent_statusses:
          - processing
          - succeeded
          subtotal_cents: 900
          tax_cents: 100
        open_invoices:
        - amount_due_cents: 1000
          discounts:
          - discount_percent_off: 20.0
          next_payment_attempt_unix: 1738356858
          payment_intent_status: processing
          payment_intent_statusses:
          - processing
          - succeeded
          subtotal_cents: 900
          tax_cents: 100
        professional_voice_limit: 1
        professional_voice_slots_used: 0
        professional_voice_slots_used_in_workspace: 0
        status: active
        tier: starter
        voice_add_edit_counter: 0
        voice_limit: 10
        voice_slots_used: 1
    SubscriptionStatusType:
      type: string
      enum:
      - trialing
      - active
      - incomplete
      - past_due
      - free
      - free_disabled
      title: SubscriptionStatusType
    PendingCancellationResponseModel:
      properties:
        kind:
          type: string
          const: cancellation
          title: Kind
          default: cancellation
        timestamp_seconds:
          type: integer
          title: Timestamp Seconds
          description: The timestamp of the cancellation.
      type: object
      required:
      - timestamp_seconds
      title: PendingCancellationResponseModel
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    BillingPeriod:
      type: string
      enum:
      - monthly_period
      - 3_month_period
      - 6_month_period
      - annual_period
      title: BillingPeriod
    Currency:
      type: string
      enum:
      - usd
      - eur
      - inr
      - pln
      - gbp
      title: Currency
    DiscountResponseModel:
      properties:
        discount_percent_off:
          anyOf:
          - type: number
          - type: 'null'
          title: Discount Percent Off
          description: The discount applied to the invoice. E.g. [20.0f] for 20% off.
        discount_amount_off:
          anyOf:
          - type: number
          - type: 'null'
          title: Discount Amount Off
          description: The discount applied to the invoice. E.g. [20.0f] for 20 cents off.
      type: object
      title: DiscountResponseModel
    InvoiceResponseModel:
      properties:
        amount_due_cents:
          type: integer
          title: Amount Due Cents
          description: The amount due in cents.
        subtotal_cents:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subtotal Cents
          description: The subtotal amount in cents before tax (exclusive of tax and discounts).
        tax_cents:
          anyOf:
          - type: integer
          - type: 'null'
          title: Tax Cents
          description: The tax amount in cents.
        discount_percent_off:
          anyOf:
          - type: number
          - type: 'null'
          title: Discount Percent Off
          description: Deprecated. Use [discounts] instead. The discount applied to the invoice. E.g. [20.0f] for 20% off.
        discount_amount_off:
          anyOf:
          - type: number
          - type: 'null'
          title: Discount Amount Off
          description: Deprecated. Use [discounts] instead. The discount applied to the invoice. E.g. [20.0f] for 20 cents off.
        discounts:
          items:
            $ref: '#/components/schemas/DiscountResponseModel'
          type: array
          title: Discounts
          description: The discounts applied to the invoice.
        next_payment_attempt_unix:
          type: integer
          title: Next Payment Attempt Unix
          description: The Unix timestamp of the next payment attempt. -1 when there is no next payment attempt.
        payment_intent_status:
          anyOf:
          - type: string
            enum:
            - canceled
            - processing
            - requires_action
            - requires_capture
            - requires_confirmation
            - requires_payment_method
            - succeeded
          - type: 'null'
          title: Payment Intent Status
          description: Deprecated. Use [payment_intent_statusses] instead. The status of this invoice's first payment intent. None when there is no payment intent.
        payment_intent_statusses:
          items:
            type: string
            enum:
            - canceled
            - processing
            - requires_action
            - requires_capture
            - requires_confirmation
            - requires_payment_method
            - succeeded
          type: array
          title: Payment Intent Statusses
          description: The statuses of this invoice's payment intents. Empty list when there are no payment intents.
      type: object
      required:
      - amount_due_cents
      - discounts
      - next_payment_attempt_unix
      - payment_intent_status
      - payment_intent_statusses
      title: InvoiceResponseModel
      example:
        amount_due_cents: 1000
        discounts:
        - discount_percent_off: 20.0
        next_payment_attempt_unix: 1738356858
        payment_intent_status: processing
        payment_intent_statusses:
        - processing
        - succeeded
        subtotal_cents: 900
        tax_cents: 100
    Price:
      properties:
        amount:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Amount
        currency:
          $ref: '#/components/schemas/Currency'
      type: object
      required:
      - amount
      - currency
      title: Price
      description: Currency/amount pair.