> ## 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.

# Get user's media list

> Returns a paginated list of media items for the authenticated user.

    For media with status other than FINALISED, only uuid and status are returned.
    For FINALISED media, all details including variants are included.

    Each finalised media item includes a `tags` field containing structured AI
    content tags (description, tags, NSFW classification, scene/setting, etc.)
    when the owning creator has AI content tagging enabled and the media has
    been processed. `tags` is `null` otherwise.

<Info>
  **Required scope**

  * `read:media` — Access media files, images, videos, and other content assets.
</Info>


## OpenAPI

````yaml /openapi.json get /media
openapi: 3.1.0
info:
  title: Fanvue API
  version: '0.1'
servers: []
security: []
paths:
  /media:
    get:
      summary: Get user's media list
      description: |-
        Returns a paginated list of media items for the authenticated user.

            For media with status other than FINALISED, only uuid and status are returned.
            For FINALISED media, all details including variants are included.

            Each finalised media item includes a `tags` field containing structured AI
            content tags (description, tags, NSFW classification, scene/setting, etc.)
            when the owning creator has AI content tagging enabled and the media has
            been processed. `tags` is `null` otherwise.
      operationId: getUserMedia
      parameters:
        - $ref: '#/components/parameters/ApiVersionHeader'
        - schema:
            type: number
            minimum: 1
            default: 1
            description: Page number to retrieve (starts from 1)
          required: false
          description: Page number to retrieve (starts from 1)
          name: page
          in: query
        - schema:
            type: number
            minimum: 1
            maximum: 50
            default: 15
            description: 'Number of items to return per page (1-50, default: 15)'
          required: false
          description: 'Number of items to return per page (1-50, default: 15)'
          name: size
          in: query
        - schema:
            type: string
            enum:
              - image
              - video
              - audio
              - document
          required: false
          name: mediaType
          in: query
        - schema:
            type: string
          required: false
          name: folderName
          in: query
        - schema:
            type: string
            enum:
              - subscribers
              - followers
              - ppv
              - mass_messages
          required: false
          name: usage
          in: query
        - schema:
            type: string
            description: Case-insensitive substring match on the media name.
          required: false
          description: Case-insensitive substring match on the media name.
          name: name
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Filter to media created on or after this ISO 8601 datetime (with
              optional timezone offset, e.g. 2024-10-20T00:00:00Z).
          required: false
          description: >-
            Filter to media created on or after this ISO 8601 datetime (with
            optional timezone offset, e.g. 2024-10-20T00:00:00Z).
          name: startDate
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Filter to media created before this ISO 8601 datetime
              (non-inclusive, with optional timezone offset).
          required: false
          description: >-
            Filter to media created before this ISO 8601 datetime
            (non-inclusive, with optional timezone offset).
          name: endDate
          in: query
        - schema:
            type: string
            format: uuid
            description: >-
              UUID of the user to check media purchases against. When provided,
              each media item will include a purchasedByFan boolean indicating
              if that user has purchased it.
          required: false
          description: >-
            UUID of the user to check media purchases against. When provided,
            each media item will include a purchasedByFan boolean indicating if
            that user has purchased it.
          name: purchasedBy
          in: query
        - schema:
            type: array
            items:
              $ref: '#/components/schemas/MediaStatus'
            description: Comma-separated list of media status values
          required: false
          name: status
          in: query
          style: form
          explode: false
        - schema:
            type: array
            items:
              $ref: '#/components/schemas/MediaVariantType'
            description: Comma-separated list of media variant types
          required: false
          name: variants
          in: query
          style: form
          explode: false
      responses:
        '200':
          description: List of user media
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      anyOf:
                        - type: object
                          properties:
                            uuid:
                              type: string
                              format: uuid
                            status:
                              type: string
                              enum:
                                - created
                                - processing
                                - ready
                                - error
                          required:
                            - uuid
                            - status
                        - type: object
                          properties:
                            uuid:
                              type: string
                              format: uuid
                            status:
                              type: string
                              enum:
                                - created
                                - processing
                                - ready
                                - error
                            createdAt:
                              type:
                                - string
                                - 'null'
                              format: date
                            url:
                              type: string
                            caption:
                              type:
                                - string
                                - 'null'
                            description:
                              type:
                                - string
                                - 'null'
                            name:
                              type:
                                - string
                                - 'null'
                            mediaType:
                              type: string
                              enum:
                                - image
                                - video
                                - audio
                                - document
                            recommendedPrice:
                              type:
                                - number
                                - 'null'
                            variants:
                              type: array
                              items:
                                type: object
                                properties:
                                  uuid:
                                    type: string
                                    format: uuid
                                  variantType:
                                    type: string
                                    enum:
                                      - blurred
                                      - main
                                      - thumbnail
                                      - thumbnail_gallery
                                  displayPosition:
                                    type: number
                                  url:
                                    type: string
                                  width:
                                    type:
                                      - number
                                      - 'null'
                                  height:
                                    type:
                                      - number
                                      - 'null'
                                  lengthMs:
                                    type:
                                      - number
                                      - 'null'
                                required:
                                  - uuid
                                  - variantType
                                  - displayPosition
                                  - width
                                  - height
                                  - lengthMs
                            purchasedByFan:
                              type: boolean
                            tags:
                              type:
                                - object
                                - 'null'
                              properties:
                                description:
                                  type:
                                    - string
                                    - 'null'
                                  description: AI-generated natural language description
                                tags:
                                  type: array
                                  items:
                                    type: string
                                  description: General content tags
                                nsfwCategory:
                                  type: array
                                  items:
                                    type: string
                                  description: NSFW classification labels
                                sexActs:
                                  type: array
                                  items:
                                    type: string
                                bodyParts:
                                  type: array
                                  items:
                                    type: string
                                people:
                                  type: array
                                  items:
                                    type: string
                                sexObjects:
                                  type: array
                                  items:
                                    type: string
                                setting:
                                  type: array
                                  items:
                                    type: string
                                  description: Scene / environment tags
                                position:
                                  type: array
                                  items:
                                    type: string
                                skinColor:
                                  type: array
                                  items:
                                    type: string
                                bodyType:
                                  type: array
                                  items:
                                    type: string
                                hairColor:
                                  type: array
                                  items:
                                    type: string
                                otherTags:
                                  type: array
                                  items:
                                    type: string
                                importantTags:
                                  type: array
                                  items:
                                    type: string
                                  description: Tags the model marked as salient
                                isNsfw:
                                  type: boolean
                                mediaType:
                                  type: string
                                  enum:
                                    - image
                                    - video
                              required:
                                - description
                                - tags
                                - nsfwCategory
                                - sexActs
                                - bodyParts
                                - people
                                - sexObjects
                                - setting
                                - position
                                - skinColor
                                - bodyType
                                - hairColor
                                - otherTags
                                - importantTags
                                - isNsfw
                                - mediaType
                              description: >-
                                Structured AI content tags. Only populated when
                                the owning creator has AI content tagging
                                enabled and the media has been processed; null
                                otherwise.
                          required:
                            - uuid
                            - status
                            - createdAt
                            - caption
                            - description
                            - name
                            - mediaType
                            - recommendedPrice
                    description: Array of media items
                  pagination:
                    type: object
                    properties:
                      page:
                        type: number
                        description: Current page number
                      size:
                        type: number
                        description: Number of records returned in this response
                      hasMore:
                        type: boolean
                        description: >-
                          Whether there are more items available on subsequent
                          pages
                      total:
                        type: integer
                        description: >-
                          Total number of media items matching the query across
                          all pages
                    required:
                      - page
                      - size
                      - hasMore
                      - total
                    description: Pagination information
                required:
                  - data
                  - pagination
              example:
                data:
                  - uuid: d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a
                    status: ready
                    createdAt: '2024-01-15T00:00:00.000Z'
                    caption: Check out my latest video!
                    description: Behind the scenes of my photoshoot
                    name: photoshoot-video.mp4
                    mediaType: video
                    recommendedPrice: 500
                    tags:
                      description: Behind-the-scenes shot at sunset on a beach.
                      tags:
                        - beach
                        - sunset
                        - outdoors
                      nsfwCategory: []
                      sexActs: []
                      bodyParts: []
                      people:
                        - solo woman
                      sexObjects: []
                      setting:
                        - beach
                        - sunset
                      position: []
                      skinColor: []
                      bodyType: []
                      hairColor:
                        - blonde
                      otherTags: []
                      importantTags:
                        - beach
                      isNsfw: false
                      mediaType: video
                    variants:
                      - uuid: e5f6a7b8-9c0d-1e2f-3a4b-5c6d7e8f9a0b
                        variantType: main
                        displayPosition: 0
                        url: >-
                          https://media.fanvue.com/main/d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a.mp4
                        width: 1920
                        height: 1080
                        lengthMs: 45000
                      - uuid: f6a7b8c9-0d1e-2f3a-4b5c-6d7e8f9a0b1c
                        variantType: thumbnail
                        displayPosition: 1
                        url: >-
                          https://media.fanvue.com/thumb/d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a.jpg
                        width: 320
                        height: 180
                        lengthMs: null
                      - uuid: a7b8c9d0-1e2f-3a4b-5c6d-7e8f9a0b1c2d
                        variantType: blurred
                        displayPosition: 2
                        url: >-
                          https://media.fanvue.com/blur/d4e5f6a7-8b9c-0d1e-2f3a-4b5c6d7e8f9a.mp4
                        width: 1920
                        height: 1080
                        lengthMs: 45000
                  - uuid: b8c9d0e1-2f3a-4b5c-6d7e-8f9a0b1c2d3e
                    status: processing
                pagination:
                  page: 1
                  size: 2
                  hasMore: true
                  total: 42
        '400':
          description: Bad Request - API version not supported OR validation failed
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/UnsupportedVersionError'
                  - $ref: '#/components/schemas/ValidationError'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/UnauthorizedResponse'
        '404':
          $ref: '#/components/responses/NotFoundResponse'
        '410':
          $ref: '#/components/responses/SunsetVersionResponse'
        '429':
          $ref: '#/components/responses/RateLimitResponse'
      security:
        - BearerAuth:
            - read:media
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:
    MediaStatus:
      type: string
      enum:
        - created
        - processing
        - ready
        - error
      description: The status of media
    MediaVariantType:
      type: string
      enum:
        - blurred
        - main
        - thumbnail
        - thumbnail_gallery
      description: The type of media variant
    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
  responses:
    UnauthorizedResponse:
      description: Unauthorized Response
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
            required:
              - error
    NotFoundResponse:
      description: Not Found Response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
            required:
              - message
    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.

````