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

# List subscribers

> 🚧 **Under development.** Not available today.

List subscribers with optional filters. Cursor-paginated.




## OpenAPI

````yaml /api-reference/openapi.yaml get /subscribers
openapi: 3.1.0
info:
  title: Recurr API
  version: 1.0.0
  description: >
    Recurr's webhook event API. Subscription, payment, motion, and ticket

    events delivered as signed HTTP POSTs to your registered endpoints.


    See the [Overview](/api-reference/overview) for delivery model, HMAC

    authentication, idempotency, retry policy, and schema versioning.


    REST endpoints (Replay, Destination management) are documented as

    `paths` for completeness but are roadmap. See
    [Replay](/api-reference/replay)

    and [Destinations](/api-reference/destinations) for status.
  contact:
    email: hello@recurr.dev
    url: https://recurr.dev
  license:
    name: Proprietary
servers:
  - url: https://api.recurr.dev/v1
    description: Production (roadmap)
security:
  - BearerAuth: []
tags:
  - name: Subscribers
    description: Read subscriber state, history, and tags. Update metadata.
  - name: Subscriptions
    description: Subscription state + admin overrides (pause, resume, cancel, plan change).
  - name: Events
    description: Query historical webhook events for audit + debugging.
  - name: Cohorts
    description: >-
      Manage cohort definitions + view members. Used by Recurr motions for
      targeting.
  - name: Motions
    description: Inspect motion performance + manually trigger for specific subscribers.
  - name: Metrics
    description: Aggregate metrics — MRR, churn, recovery, cohort retention.
  - name: Payments
    description: Charge detail + refund / customer-credit operations.
  - name: Tickets
    description: Read subscriber-submitted billing tickets.
  - name: Replay
    description: Re-send historical webhook events to a destination.
  - name: Destinations
    description: Manage webhook delivery endpoints.
paths:
  /subscribers:
    get:
      tags:
        - Subscribers
      summary: List subscribers
      description: |
        🚧 **Under development.** Not available today.

        List subscribers with optional filters. Cursor-paginated.
      operationId: listSubscribers
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum:
              - active
              - trialing
              - paused
              - cancelled
              - lapsed
        - name: cohort_id
          in: query
          schema:
            type: string
        - name: created_after
          in: query
          schema:
            type: string
            format: date-time
        - name: created_before
          in: query
          schema:
            type: string
            format: date-time
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/StartingAfter'
        - $ref: '#/components/parameters/EndingBefore'
      responses:
        '200':
          description: List of subscribers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriberList'
      security:
        - BearerAuth: []
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: Maximum number of items to return (1-100, default 50).
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 50
    StartingAfter:
      name: starting_after
      in: query
      description: >-
        Cursor for pagination. Pass the `next_cursor` from the previous response
        to fetch the next page.
      schema:
        type: string
    EndingBefore:
      name: ending_before
      in: query
      description: Cursor for reverse pagination.
      schema:
        type: string
  schemas:
    SubscriberList:
      type: object
      required:
        - data
        - has_more
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/SubscriberDetail'
        has_more:
          type: boolean
        next_cursor:
          type: string
          nullable: true
    SubscriberDetail:
      allOf:
        - $ref: '#/components/schemas/Subscriber'
        - type: object
          properties:
            subscription:
              $ref: '#/components/schemas/Subscription'
              nullable: true
            cohort_ids:
              type: array
              items:
                type: string
              description: Cohorts this subscriber currently belongs to.
            tags:
              type: array
              items:
                type: string
              description: Customer-defined tags.
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Customer-defined key/value metadata.
            total_paid:
              type: integer
              description: Lifetime paid amount in smallest currency unit.
            paid_currency:
              type: string
              example: USD
            last_payment_at:
              type: string
              format: date-time
              nullable: true
    Subscriber:
      type: object
      required:
        - id
        - email_hashed
        - created_at
      properties:
        id:
          type: string
          example: subscriber_01HQ...
          description: Stable subscriber ID across migrations + auth providers.
        email:
          type: string
          format: email
          nullable: true
          description: >
            Raw email. Stripped if destination `pii_mode` is `hashed_only` or
            `minimal`.
        email_hashed:
          type: string
          example: sha256:abc123def456...
          description: SHA256 hash of lower-cased trimmed email.
        created_at:
          type: string
          format: date-time
          description: When this subscriber first activated.
    Subscription:
      type: object
      required:
        - id
        - status
        - plan
        - current_period_start
        - current_period_end
      properties:
        id:
          type: string
          example: sub_01HQ...
        status:
          type: string
          enum:
            - active
            - trialing
            - paused
            - cancelled
            - lapsed
        plan:
          type: string
          example: premium_monthly
        current_period_start:
          type: string
          format: date-time
        current_period_end:
          type: string
          format: date-time
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: rk_live_… / rk_test_…
      description: |
        Your Recurr **secret API key** as a Bearer token:
        `Authorization: Bearer rk_live_…`.

        Keys are **environment-scoped** — `rk_live_` operates on live data,
        `rk_test_` on isolated test data (see
        [Test mode](/api-reference/test-mode)). Create, scope, and rotate keys
        in your dashboard (**Settings → API keys**, `developer` role). Secret
        keys are server-side only — never ship them in an app binary or client
        JavaScript.

````