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

# List Vault Lists (/api-reference/media-vault-lists/list-vault-lists)

List your Vault lists (categories).

Every response carries an `ETag` computed over the `data` payload. Send it back as `If-None-Match` on your next
call and you will get a `304 Not Modified` with an empty body when nothing changed, so you can keep serving your
cached copy instead of re-parsing the full list. Credits are debited either way — we still have to ask OnlyFans
for the current state to know whether it changed.

The `ETag` covers `data` only, never `_meta` — your credits balance changes on every call, so including it would
mean the `ETag` never matches. Because a `304` has no body, it also has no `_meta`: read the current credits and
rate-limit counters from the `X-OFAPI-Credits-Used`, `X-OFAPI-Credits-Balance`, `X-Rate-Limit-Limit-Minute` and
`X-Rate-Limit-Remaining-Minute` response headers, which are sent on `304` responses too. The `_meta` inside a
body you cached earlier is stale by definition.

## OpenAPI

````yaml https://app.onlyfansapi.com/scribe-docs/openapi.yaml get /api/{account}/media/vault/lists
openapi: 3.0.3
info:
  title: OnlyFans API
  description: ""
  version: 1.0.0
servers:
  - url: https://app.onlyfansapi.com
security:
  - default: []
tags:
  - name: API Keys
    description: ""
  - name: Account
    description: Endpoints for your linked accounts
  - name: Analytics - Financial
    description: APIs for retrieving financial analytics data
  - name: Analytics - Summary
    description: APIs for retrieving summary analytics data
  - name: Banking
    description: Operations related to user banking details, payout methods, legal
      and tax information, and account country settings.
  - name: Banned Words
    description: Reference list of OnlyFans banned words used by the
      `blockBannedWords` screening parameter
  - name: Blocked / Restricted Users
    description: APIs for listing the users an account has blocked or restricted
  - name: Chargebacks
    description: ""
  - name: Chat Messages
    description: ""
  - name: Chats
    description: ""
  - name: Client Sessions
    description: ""
  - name: Connect OnlyFans Account
    description: ""
  - name: Data Exports
    description: APIs for managing data exports
  - name: Endpoints
    description: ""
  - name: Engagement / Messages
    description: ""
  - name: Fans
    description: APIs for managing OnlyFans fans (subscribers)
  - name: Fans - AI Summary
    description: APIs for generating and retrieving AI-powered fan profile summaries
  - name: Following
    description: APIs for managing OnlyFans followings (people you're subscribed to)
  - name: Free Trial Links
    description: APIs for managing Free Trial Links
  - name: Giphy
    description: ""
  - name: Link Tags
    description: APIs for managing tags on free trial links, tracking links, and Smart Links
  - name: Mass Messaging
    description: ""
  - name: Media
    description: ""
  - name: Media Vault
    description: ""
  - name: Media Vault Lists
    description: ""
  - name: Notifications
    description: Endpoints for managingr account notifications
  - name: Payouts
    description: ""
  - name: Post Comments
    description: ""
  - name: Post Labels
    description: APIs for managing your post labels
  - name: Posts
    description: APIs for managing OnlyFans posts
  - name: Promotions
    description: ""
  - name: Public Profiles
    description: ""
  - name: Queue
    description: ""
  - name: Release Forms
    description: APIs for managing OnlyFans release forms
  - name: Saved For Later (Messages)
    description: ""
  - name: Saved For Later (Posts)
    description: ""
  - name: Settings
    description: ""
  - name: Shared Free Trial Links
    description: APIs for Free Trial Links that other OF creators have shared with
      this account. Revenue, cost, and spender data are not available for shared
      links.
  - name: Shared Tracking Links
    description: APIs for Tracking Links (campaigns) that other OF creators have
      shared with this account. Revenue, cost, and spender data are not
      available for shared campaigns.
  - name: Smart Link Postbacks
    description: APIs for managing Smart Link postback destinations
  - name: Smart Links
    description: APIs for managing Smart Links (Free Trial Links and Tracking Links
      with pooled inventory)
  - name: Statistics
    description: ""
  - name: Stored Free Trial Links
    description: Instant APIs for retrieving stored free trial links from the
      OnlyFansAPI Cache (free, no credits used)
  - name: Stored Shared Free Trial Links
    description: Instant APIs for retrieving stored shared Free Trial Links from the
      OnlyFansAPI Cache (free, no credits used)
  - name: Stored Shared Tracking Links
    description: Instant APIs for retrieving stored shared Tracking Links
      (campaigns) from the OnlyFansAPI Cache (free, no credits used)
  - name: Stored Tracking Links
    description: Instant APIs for retrieving stored tracking links from the
      OnlyFansAPI Cache (free, no credits used)
  - name: Stories
    description: APIs for managing OnlyFans stories
  - name: Story Highlights
    description: APIs for managing OnlyFans story highlights
  - name: Subscription Bundles
    description: ""
  - name: Tracking Links
    description: APIs for managing tracking links
  - name: Transactions
    description: APIs for managing OnlyFans transactions
  - name: Usage
    description: Credit usage reporting for your team
  - name: User List Collections
    description: ""
  - name: Users
    description: APIs for fetching OnlyFans users
  - name: Webhooks
    description: ""
paths:
  /api/{account}/media/vault/lists:
    parameters:
      - in: path
        name: account
        description: The Account ID
        example: acct_XXXXXXXXXXXXXXX
        required: true
        schema:
          type: string
    get:
      summary: List Vault Lists
      operationId: listVaultLists
      description: >-
        List your Vault lists (categories).


        Every response carries an `ETag` computed over the `data` payload. Send
        it back as `If-None-Match` on your next

        call and you will get a `304 Not Modified` with an empty body when
        nothing changed, so you can keep serving your

        cached copy instead of re-parsing the full list. Credits are debited
        either way — we still have to ask OnlyFans

        for the current state to know whether it changed.


        The `ETag` covers `data` only, never `_meta` — your credits balance
        changes on every call, so including it would

        mean the `ETag` never matches. Because a `304` has no body, it also has
        no `_meta`: read the current credits and

        rate-limit counters from the `X-OFAPI-Credits-Used`,
        `X-OFAPI-Credits-Balance`, `X-Rate-Limit-Limit-Minute` and

        `X-Rate-Limit-Remaining-Minute` response headers, which are sent on
        `304` responses too. The `_meta` inside a

        body you cached earlier is stale by definition.
      parameters:
        - in: query
          name: query
          description: Optionally, find a list by its name.
          example: My list name
          required: false
          schema:
            type: string
            description: Optionally, find a list by its name.
            example: My list name
        - in: query
          name: limit
          description: "Number of media to return per page. Default: `24`"
          example: 24
          required: false
          schema:
            type: integer
            description: "Number of media to return per page. Default: `24`"
            example: 24
        - in: query
          name: offset
          description: The offset used for pagination. Default `0`
          example: 0
          required: false
          schema:
            type: integer
            description: The offset used for pagination. Default `0`
            example: 0
        - in: query
          name: lightweight
          description: "Set to `true` to return only `id`, `name`, `type`, `canUpdate` and
            a rolled-up `mediaCount` per list, dropping the `medias` previews.
            Much smaller payload — ideal for rendering a folder picker. Default:
            `false`"
          example: true
          required: false
          schema:
            type: boolean
            description: "Set to `true` to return only `id`, `name`, `type`, `canUpdate` and
              a rolled-up `mediaCount` per list, dropping the `medias` previews.
              Much smaller payload — ideal for rendering a folder picker.
              Default: `false`"
            example: true
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                oneOf:
                  - description: Success
                    type: object
                    example:
                      data:
                        list:
                          - id: 123
                            type: stories
                            name: Stories
                            hasMedia: false
                            canUpdate: false
                            canDelete: false
                            videosCount: 0
                            photosCount: 0
                            gifsCount: 0
                            audiosCount: 0
                            medias: []
                          - id: 123
                            type: streams
                            name: Streams
                            hasMedia: false
                            canUpdate: false
                            canDelete: false
                            videosCount: 0
                            photosCount: 0
                            gifsCount: 0
                            audiosCount: 0
                            medias: []
                          - id: 123
                            type: media_stickers
                            name: Uploads
                            hasMedia: false
                            canUpdate: false
                            canDelete: false
                            videosCount: 0
                            photosCount: 0
                            gifsCount: 0
                            audiosCount: 0
                            medias: []
                          - id: 123
                            type: posts
                            name: Posts
                            hasMedia: true
                            canUpdate: false
                            canDelete: false
                            videosCount: 0
                            photosCount: 5
                            gifsCount: 0
                            audiosCount: 0
                            medias:
                              - type: photo
                                url: https://cdn2.onlyfans.com/files/...
                          - id: 123
                            type: custom
                            name: custom category
                            hasMedia: false
                            canUpdate: true
                            canDelete: true
                            videosCount: 0
                            photosCount: 0
                            gifsCount: 0
                            audiosCount: 0
                            medias: []
                          - id: 123
                            type: messages
                            name: Messages
                            hasMedia: true
                            canUpdate: false
                            canDelete: false
                            videosCount: 1
                            photosCount: 4
                            gifsCount: 0
                            audiosCount: 2
                            medias:
                              - type: photo
                                url: https://cdn2.onlyfans.com/files/...
                        all:
                          videosCount: 1
                          photosCount: 9
                          gifsCount: 0
                          audiosCount: 2
                          medias:
                            - type: photo
                              url: https://cdn2.onlyfans.com/files/...
                        hasMore: false
                        canCreateVaultLists: true
                        order: asc
                        sort: default
                      _meta:
                        _credits:
                          used: 1
                          balance: 999999945
                          note: Always
                        _cache:
                          is_cached: false
                          note: Cache disabled for this endpoint
                        _rate_limits:
                          limit_minute: 1000
                          limit_day: 50000
                          remaining_minute: 998
                          remaining_day: 49968
                    properties:
                      data:
                        type: object
                        properties:
                          list:
                            type: array
                            example:
                              - id: 123
                                type: stories
                                name: Stories
                                hasMedia: false
                                canUpdate: false
                                canDelete: false
                                videosCount: 0
                                photosCount: 0
                                gifsCount: 0
                                audiosCount: 0
                                medias: []
                              - id: 123
                                type: streams
                                name: Streams
                                hasMedia: false
                                canUpdate: false
                                canDelete: false
                                videosCount: 0
                                photosCount: 0
                                gifsCount: 0
                                audiosCount: 0
                                medias: []
                              - id: 123
                                type: media_stickers
                                name: Uploads
                                hasMedia: false
                                canUpdate: false
                                canDelete: false
                                videosCount: 0
                                photosCount: 0
                                gifsCount: 0
                                audiosCount: 0
                                medias: []
                              - id: 123
                                type: posts
                                name: Posts
                                hasMedia: true
                                canUpdate: false
                                canDelete: false
                                videosCount: 0
                                photosCount: 5
                                gifsCount: 0
                                audiosCount: 0
                                medias:
                                  - type: photo
                                    url: https://cdn2.onlyfans.com/files/...
                              - id: 123
                                type: custom
                                name: custom category
                                hasMedia: false
                                canUpdate: true
                                canDelete: true
                                videosCount: 0
                                photosCount: 0
                                gifsCount: 0
                                audiosCount: 0
                                medias: []
                              - id: 123
                                type: messages
                                name: Messages
                                hasMedia: true
                                canUpdate: false
                                canDelete: false
                                videosCount: 1
                                photosCount: 4
                                gifsCount: 0
                                audiosCount: 2
                                medias:
                                  - type: photo
                                    url: https://cdn2.onlyfans.com/files/...
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 123
                                type:
                                  type: string
                                  example: stories
                                name:
                                  type: string
                                  example: Stories
                                hasMedia:
                                  type: boolean
                                  example: false
                                canUpdate:
                                  type: boolean
                                  example: false
                                canDelete:
                                  type: boolean
                                  example: false
                                videosCount:
                                  type: integer
                                  example: 0
                                photosCount:
                                  type: integer
                                  example: 0
                                gifsCount:
                                  type: integer
                                  example: 0
                                audiosCount:
                                  type: integer
                                  example: 0
                                medias:
                                  type: array
                                  example: []
                          all:
                            type: object
                            properties:
                              videosCount:
                                type: integer
                                example: 1
                              photosCount:
                                type: integer
                                example: 9
                              gifsCount:
                                type: integer
                                example: 0
                              audiosCount:
                                type: integer
                                example: 2
                              medias:
                                type: array
                                example:
                                  - type: photo
                                    url: https://cdn2.onlyfans.com/files/...
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      example: photo
                                    url:
                                      type: string
                                      example: https://cdn2.onlyfans.com/files/...
                          hasMore:
                            type: boolean
                            example: false
                          canCreateVaultLists:
                            type: boolean
                            example: true
                          order:
                            type: string
                            example: asc
                          sort:
                            type: string
                            example: default
                      _meta:
                        type: object
                        properties:
                          _credits:
                            type: object
                            properties:
                              used:
                                type: integer
                                example: 1
                              balance:
                                type: integer
                                example: 999999945
                              note:
                                type: string
                                example: Always
                          _cache:
                            type: object
                            properties:
                              is_cached:
                                type: boolean
                                example: false
                              note:
                                type: string
                                example: Cache disabled for this endpoint
                          _rate_limits:
                            type: object
                            properties:
                              limit_minute:
                                type: integer
                                example: 1000
                              limit_day:
                                type: integer
                                example: 50000
                              remaining_minute:
                                type: integer
                                example: 998
                              remaining_day:
                                type: integer
                                example: 49968
                  - description: Success (lightweight=true)
                    type: object
                    example:
                      data:
                        list:
                          - id: 123
                            name: Stories
                            type: stories
                            canUpdate: false
                            mediaCount: 0
                          - id: 123
                            name: Streams
                            type: streams
                            canUpdate: false
                            mediaCount: 0
                          - id: 123
                            name: Uploads
                            type: media_stickers
                            canUpdate: false
                            mediaCount: 0
                          - id: 123
                            name: Posts
                            type: posts
                            canUpdate: false
                            mediaCount: 5
                          - id: 123
                            name: custom category
                            type: custom
                            canUpdate: true
                            mediaCount: 0
                          - id: 123
                            name: Messages
                            type: messages
                            canUpdate: false
                            mediaCount: 7
                        all:
                          mediaCount: 12
                        hasMore: false
                        canCreateVaultLists: true
                        order: asc
                        sort: default
                      _meta:
                        _credits:
                          used: 1
                          balance: 999999945
                          note: Always
                        _cache:
                          is_cached: false
                          note: Cache disabled for this endpoint
                        _rate_limits:
                          limit_minute: 1000
                          limit_day: 50000
                          remaining_minute: 998
                          remaining_day: 49968
                    properties:
                      data:
                        type: object
                        properties:
                          list:
                            type: array
                            example:
                              - id: 123
                                name: Stories
                                type: stories
                                canUpdate: false
                                mediaCount: 0
                              - id: 123
                                name: Streams
                                type: streams
                                canUpdate: false
                                mediaCount: 0
                              - id: 123
                                name: Uploads
                                type: media_stickers
                                canUpdate: false
                                mediaCount: 0
                              - id: 123
                                name: Posts
                                type: posts
                                canUpdate: false
                                mediaCount: 5
                              - id: 123
                                name: custom category
                                type: custom
                                canUpdate: true
                                mediaCount: 0
                              - id: 123
                                name: Messages
                                type: messages
                                canUpdate: false
                                mediaCount: 7
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 123
                                name:
                                  type: string
                                  example: Stories
                                type:
                                  type: string
                                  example: stories
                                canUpdate:
                                  type: boolean
                                  example: false
                                mediaCount:
                                  type: integer
                                  example: 0
                          all:
                            type: object
                            properties:
                              mediaCount:
                                type: integer
                                example: 12
                          hasMore:
                            type: boolean
                            example: false
                          canCreateVaultLists:
                            type: boolean
                            example: true
                          order:
                            type: string
                            example: asc
                          sort:
                            type: string
                            example: default
                      _meta:
                        type: object
                        properties:
                          _credits:
                            type: object
                            properties:
                              used:
                                type: integer
                                example: 1
                              balance:
                                type: integer
                                example: 999999945
                              note:
                                type: string
                                example: Always
                          _cache:
                            type: object
                            properties:
                              is_cached:
                                type: boolean
                                example: false
                              note:
                                type: string
                                example: Cache disabled for this endpoint
                          _rate_limits:
                            type: object
                            properties:
                              limit_minute:
                                type: integer
                                example: 1000
                              limit_day:
                                type: integer
                                example: 50000
                              remaining_minute:
                                type: integer
                                example: 998
                              remaining_day:
                                type: integer
                                example: 49968
        "304":
          description: "Not Modified — the `If-None-Match` you sent matches the current
            `ETag`, so the body is omitted. Note that a 304 still costs one
            credit: we have to ask OnlyFans for the current state before we can
            tell whether it changed. Since there is no body there is no `_meta`
            either — read the live credits and rate-limit counters from the
            `X-OFAPI-*` and `X-Rate-Limit-*` response headers."
          content:
            application/json:
              schema:
                type: object
                nullable: true
      tags:
        - Media Vault Lists
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: Get your API Key from OnlyFansAPI Console -
        https://app.onlyfansapi.com/api-keys
````