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

# List all accounts with subscription and entitlements

> Retrieve a paginated list of all accounts with their subscription status, plan entitlements, and content generation eligibility. Requires admin authentication. Provides all business logic needed for content generation systems.

<Warning>
  **Admin API Key Required** - This endpoint requires an admin API key for access. Only system administrators can list all accounts across the platform.
</Warning>

## Content Generation System

This endpoint is designed for third-party content generation systems. The response includes all business logic needed to determine:

* Which accounts can generate content today
* How many articles per week/month each account is entitled to
* What days of the week content should be generated
* Current subscription status and plan information


## OpenAPI

````yaml get /api/v1/accounts
openapi: 3.1.0
info:
  title: SuprSonic API
  version: 1.0.0
  description: API for autonomous content generation and blog management
  contact:
    name: SuprSonic API Support
    url: https://www.suprsonic.com/support
    email: support@suprsonic.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://www.suprsonic.com
    description: Production server
  - url: http://localhost:3000
    description: Development server
security: []
tags: []
paths:
  /api/v1/accounts:
    get:
      tags:
        - Admin
      summary: List all accounts with subscription and entitlements
      description: >-
        Retrieve a paginated list of all accounts with their subscription
        status, plan entitlements, and content generation eligibility. Requires
        admin authentication. Provides all business logic needed for content
        generation systems.
      parameters:
        - in: query
          name: status
          schema:
            type: string
            enum:
              - active
              - inactive
          description: >-
            Filter accounts by subscription status (active = has active/trialing
            subscription, inactive = no active subscription)
        - in: query
          name: content_eligible
          schema:
            type: boolean
          description: Filter to only accounts eligible for content generation today
        - in: query
          name: q
          schema:
            type: string
          description: Search accounts by name or slug
        - in: query
          name: page
          schema:
            type: integer
            minimum: 1
            default: 1
          description: Page number for pagination
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
          description: Number of accounts per page
      responses:
        '200':
          description: >-
            Successfully retrieved accounts with enhanced subscription and
            entitlements data
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Unique account identifier
                        name:
                          type: string
                          description: Account name/display name
                        slug:
                          type: string
                          nullable: true
                          description: Account URL slug
                        picture_url:
                          type: string
                          nullable: true
                          description: Account profile picture URL
                        email:
                          type: string
                          nullable: true
                          format: email
                          description: Account email address
                        is_personal_account:
                          type: boolean
                          description: Whether this is a personal or team account
                        created_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: Account creation timestamp
                        updated_at:
                          type: string
                          format: date-time
                          nullable: true
                          description: Account last update timestamp
                        subscription:
                          type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - active
                                - trialing
                                - past_due
                                - canceled
                                - unpaid
                                - inactive
                              description: Current subscription status
                            plan_variant:
                              type: string
                              nullable: true
                              description: >-
                                Subscription plan variant ID (e.g.,
                                starter_plan, growth_plan)
                            plan_name:
                              type: string
                              nullable: true
                              description: >-
                                Human-readable plan name (e.g., "Starter Plan",
                                "Growth Plan")
                        entitlements:
                          type: object
                          description: Account's plan-based entitlements and feature access
                          additionalProperties: true
                          example:
                            content_generation:
                              generation_days:
                                - monday
                                - thursday
                              articles_per_week: 2
                              articles_per_month: 8
                              can_generate_today: true
                            social_media:
                              platforms:
                                - twitter
                                - linkedin
                              twitter_posts_per_week: 14
                              linkedin_accounts: 2
                            api_limits:
                              requests_per_month: 50000
                              rate_limit_per_minute: 300
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                        description: Current page number
                      limit:
                        type: integer
                        description: Number of items per page
                      total:
                        type: integer
                        description: Total number of items across all pages
                      has_more:
                        type: boolean
                        description: Whether there are more pages available
              examples:
                content_generation_system:
                  summary: Response for content generation systems
                  description: >-
                    Enhanced account data with all business logic needed for
                    third-party content generation
                  value:
                    data:
                      - id: 5deaa894-2094-4da3-b4fd-1fada0809d1c
                        name: Acme Corp
                        slug: acme-corp
                        picture_url: null
                        email: contact@acme.com
                        is_personal_account: false
                        created_at: '2024-01-15T10:30:00Z'
                        updated_at: '2024-02-01T15:45:00Z'
                        subscription:
                          status: active
                          plan_variant: growth_plan
                          plan_name: Growth Plan
                        entitlements:
                          content_generation:
                            generation_days:
                              - monday
                              - thursday
                            articles_per_week: 2
                            articles_per_month: 8
                            can_generate_today: true
                          social_media:
                            platforms:
                              - twitter
                              - linkedin
                            twitter_posts_per_week: 14
                            linkedin_accounts: 2
                          api_limits:
                            requests_per_month: 50000
                            rate_limit_per_minute: 300
                    pagination:
                      page: 1
                      limit: 20
                      total: 42
                      has_more: true
        '401':
          description: Admin authentication required
        '500':
          description: Internal server error
      security:
        - AdminApiKey: []
components:
  securitySchemes:
    AdminApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Admin API key for managing accounts and creating content

````