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

# List a creator's checkout-link subscriptions

> List the specified creator's checkout-link product subscriptions, most recent first, with cursor-based pagination. Defaults to `status=active` (renewing); pass `status=cancelled` for active subscriptions scheduled to cancel at the period end (`cancelAtPeriodEnd=true` — their resource `status` stays `active` until they expire), `status=expired` for ended ones, or `status=all`. Filter by `checkoutLinkUuid` or `fanUuid` to narrow the list.

<Info>
  **Polling for real-time updates? Use a webhook instead.**

  If you are calling this endpoint on a schedule to detect new activity, subscribe to the `checkout_link.subscription.activated`, `checkout_link.subscription.deactivated`, `checkout_link.subscription.cancel_at_period_end_changed` webhook events instead — you'll get pushed updates in real time without polling. See the [webhook documentation](https://api.fanvue.com/docs/checkout/subscriptions).
</Info>

<Info>
  **Required scope**

  * `read:creator` — Access creator profiles, content, and creator-specific information.
</Info>


## OpenAPI

````yaml /openapi-v1.json get /v1/creators/{creatorUserUuid}/checkout-links/subscriptions
openapi: 3.1.0
info:
  title: Fanvue API
  version: '0.1'
servers:
  - url: https://api.fanvue.com
security: []
paths:
  /v1/creators/{creatorUserUuid}/checkout-links/subscriptions:
    get:
      summary: List a creator's checkout-link subscriptions
      description: >-
        List the specified creator's checkout-link product subscriptions, most
        recent first, with cursor-based pagination. Defaults to `status=active`
        (renewing); pass `status=cancelled` for active subscriptions scheduled
        to cancel at the period end (`cancelAtPeriodEnd=true` — their resource
        `status` stays `active` until they expire), `status=expired` for ended
        ones, or `status=all`. Filter by `checkoutLinkUuid` or `fanUuid` to
        narrow the list.


        <Info>
          **Polling for real-time updates? Use a webhook instead.**

          If you are calling this endpoint on a schedule to detect new activity, subscribe to the `checkout_link.subscription.activated`, `checkout_link.subscription.deactivated`, `checkout_link.subscription.cancel_at_period_end_changed` webhook events instead — you'll get pushed updates in real time without polling. See the [webhook documentation](https://api.fanvue.com/docs/checkout/subscriptions).
        </Info>
      operationId: listCreatorCheckoutLinkSubscriptions
      parameters:
        - $ref: '#/components/parameters/ApiVersionHeader'
        - schema:
            type: string
            format: uuid
          required: true
          name: creatorUserUuid
          in: path
        - schema:
            type: integer
            exclusiveMinimum: 0
            maximum: 100
            description: Number of results to return (default 20, max 100).
          required: false
          description: Number of results to return (default 20, max 100).
          name: limit
          in: query
        - schema:
            type: string
            pattern: ^\d+$
            description: >-
              Cursor for pagination, as returned in a previous page's
              `nextCursor`.
          required: false
          description: >-
            Cursor for pagination, as returned in a previous page's
            `nextCursor`.
          name: cursor
          in: query
        - schema:
            type: string
            enum:
              - active
              - cancelled
              - expired
              - all
            description: >-
              Filter (default `active`). `active` returns renewing
              subscriptions; `cancelled` returns active subscriptions scheduled
              to cancel at the period end (`cancelAtPeriodEnd=true` — their
              resource `status` is still `active`); `expired` returns ended
              subscriptions.
          required: false
          description: >-
            Filter (default `active`). `active` returns renewing subscriptions;
            `cancelled` returns active subscriptions scheduled to cancel at the
            period end (`cancelAtPeriodEnd=true` — their resource `status` is
            still `active`); `expired` returns ended subscriptions.
          name: status
          in: query
        - schema:
            type: string
            format: uuid
            description: Filter to subscriptions purchased through this checkout link.
          required: false
          description: Filter to subscriptions purchased through this checkout link.
          name: checkoutLinkUuid
          in: query
        - schema:
            type: string
            format: uuid
            description: Filter to subscriptions held by this fan.
          required: false
          description: Filter to subscriptions held by this fan.
          name: fanUuid
          in: query
      responses:
        '200':
          description: List of checkout-link subscriptions
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        uuid:
                          type: string
                          description: Fanvue's unique subscription identifier.
                        status:
                          type: string
                          enum:
                            - active
                            - expired
                          description: >-
                            Access state of the subscription, matching the
                            `checkout_link.subscription.*` webhooks: `active`
                            means the fan currently has access (including
                            subscriptions scheduled to cancel at the period end
                            — check `cancelAtPeriodEnd`), `expired` means access
                            has ended. Revoke access only on `expired`.
                        cancelAtPeriodEnd:
                          type: boolean
                          description: >-
                            True when the subscription is set to end (not renew)
                            at `expiresAt`.
                        cancelledBy:
                          type:
                            - string
                            - 'null'
                          enum:
                            - fan
                            - creator
                            - admin
                          description: >-
                            Who initiated a pending cancellation: the subscriber
                            themselves (`fan`), the creator (dashboard or this
                            API), or Fanvue support (`admin`). Null when the
                            subscription is not cancelled, or for older
                            cancellations made before the actor was recorded.
                            Only `creator` cancellations can be reversed via the
                            uncancel endpoint.
                        expiresAt:
                          type: string
                          format: date-time
                          description: >-
                            End of the current paid period: the next renewal
                            date, or when access ends.
                        createdAt:
                          type: string
                          format: date-time
                          description: When the subscription started.
                        clientReferenceId:
                          type:
                            - string
                            - 'null'
                          description: >-
                            The merchant-supplied reference passed at checkout
                            via `?client_reference_id=`, inherited from the
                            initial payment.
                        checkoutLink:
                          type:
                            - object
                            - 'null'
                          properties:
                            uuid:
                              type: string
                              description: UUID of the checkout link the fan converted on.
                            name:
                              type: string
                              description: Name of the checkout link / offer.
                          required:
                            - uuid
                            - name
                          description: >-
                            The checkout link the subscription was purchased
                            through, if known.
                        purchaser:
                          type: object
                          properties:
                            uuid:
                              type: string
                              description: UUID of the subscribing Fanvue user.
                            email:
                              type:
                                - string
                                - 'null'
                              description: Email of the subscribing Fanvue user.
                          required:
                            - uuid
                            - email
                        price:
                          type:
                            - object
                            - 'null'
                          properties:
                            amount:
                              type: number
                              description: Recurring price, in minor units.
                            currency:
                              type: string
                              description: ISO currency code of the amount.
                            cycleLength:
                              type:
                                - number
                                - 'null'
                              description: Length of the billing cycle, in `cycleUnit`s.
                            cycleUnit:
                              type:
                                - string
                                - 'null'
                              enum:
                                - day
                                - week
                                - month
                                - year
                              description: >-
                                Unit of the billing cycle, matching the
                                checkout-link price schema.
                          required:
                            - amount
                            - currency
                            - cycleLength
                            - cycleUnit
                          description: The recurring price the subscription renews at.
                        metadata:
                          type: object
                          additionalProperties: {}
                          description: >-
                            Arbitrary merchant metadata passed at checkout via
                            `?metadata[key]=value`, inherited from the initial
                            payment.
                      required:
                        - uuid
                        - status
                        - cancelAtPeriodEnd
                        - cancelledBy
                        - expiresAt
                        - createdAt
                        - clientReferenceId
                        - checkoutLink
                        - purchaser
                        - price
                        - metadata
                  nextCursor:
                    type:
                      - string
                      - 'null'
                    description: Cursor for the next page, or null if none.
                required:
                  - data
                  - nextCursor
              example:
                data:
                  - uuid: 5d4c3b2a-1f0e-4d9c-8b7a-6f5e4d3c2b1a
                    status: active
                    cancelAtPeriodEnd: false
                    cancelledBy: null
                    expiresAt: '2026-07-19T08:30:00.000Z'
                    createdAt: '2026-06-19T08:30:00.000Z'
                    clientReferenceId: order_9f8c
                    checkoutLink:
                      uuid: 0b3c0e4a-1f2d-4c8a-9a1b-3e5f7a9c1d2e
                      name: Premium Coaching
                    purchaser:
                      uuid: 7c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f
                      email: buyer@example.com
                    price:
                      amount: 1999
                      currency: USD
                      cycleLength: 1
                      cycleUnit: month
                    metadata:
                      campaign: summer
                nextCursor: null
        '400':
          description: >-
            Bad Request - API version not supported OR validation failed OR
            invalid UUID
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/UnsupportedVersionError'
                  - $ref: '#/components/schemas/ValidationError'
                  - $ref: '#/components/schemas/InvalidUuidError'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/UnauthorizedResponse'
        '410':
          $ref: '#/components/responses/SunsetVersionResponse'
        '429':
          $ref: '#/components/responses/RateLimitResponse'
      security:
        - BearerAuth:
            - read:creator
components:
  parameters:
    ApiVersionHeader:
      name: X-Fanvue-API-Version
      in: header
      required: true
      schema:
        type: string
        default: '2025-06-26'
        example: '2025-06-26'
      description: API version to use for the request
  schemas:
    UnsupportedVersionError:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
      description: API version not supported
    ValidationError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
      required:
        - errors
      description: Request validation failed
    InvalidUuidError:
      type: object
      properties:
        message:
          type: string
      required:
        - message
      description: Invalid UUID format provided
  responses:
    UnauthorizedResponse:
      description: Unauthorized Response
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
            required:
              - error
    SunsetVersionResponse:
      description: API version no longer supported (sunset)
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
              message:
                type: string
              nextVersion:
                type: string
            required:
              - error
              - message
    RateLimitResponse:
      description: Too many requests - rate limit exceeded
      headers:
        Retry-After:
          description: Number of seconds to wait before retrying the request
          schema:
            type: integer
        X-RateLimit-Limit:
          description: The maximum number of requests allowed in the current window
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: The number of requests remaining in the current window
          schema:
            type: integer
        X-RateLimit-Reset:
          description: The Unix timestamp (seconds) when the rate limit window resets
          schema:
            type: integer
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
            required:
              - error
  securitySchemes:
    BearerAuth:
      type: oauth2
      description: >-
        OAuth 2.0 access token, presented as a JWT bearer token in the
        `Authorization` header. Obtain a token via the authorization-code flow;
        the scopes granted to the token determine which operations it may call.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.fanvue.com/oauth2/auth
          tokenUrl: https://auth.fanvue.com/oauth2/token
          refreshUrl: https://auth.fanvue.com/oauth2/token
          scopes:
            read:self: >-
              Access your own user profile information, including basic account
              details and settings.
            read:chat: >-
              Read chat conversations, messages, and chat-related data. This
              includes viewing chat lists and message history.
            write:chat: >-
              Create new chats and send messages. This scope is required for any
              chat-related actions that modify data.
            read:experience: >-
              Exchange a fan's experience token for the resolved experience and
              the fan's identity, so an embedded fan-facing experience can
              render the right content.
            write:experience: >-
              Request that the creator publish or unpublish a fan-facing
              experience. The app mints a request token; the creator confirms
              and Fanvue performs the change.
            read:fan: Access fan-related data and information within the platform.
            read:post: Read posts, including post details, comments, likes, and tips.
            write:post: Create, edit, and manage posts and content on behalf of users.
            read:media: Access media files, images, videos, and other content assets.
            write:media: >-
              Upload, modify, and manage media files and content assets. Also
              required for vault folder management.
            read:creator: >-
              Access creator profiles, content, and creator-specific
              information.
            write:creator: Modify creator profiles, settings, and creator-specific data.
            read:insights: >-
              Access analytics, metrics, and insights data for performance
              tracking.
            read:tracking_links: >-
              Read tracking links and the users associated with them, including
              per-user tracking metadata.
            write:tracking_links: Create and delete tracking links.
            read:agency: Read agency information, including the agency's team members.
            write:agency: >-
              Manage agency team members and invites, including inviting new
              team members and creators.

````