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

# List Snapshot Subscriptions

> Every address whose daily snapshots your account can read: API snapshot subscriptions (`type: subscription`) and licensed addresses (`type: license`), with their dates and status. An address covered by both appears once for each.

**Cost:** Free

**Rate limit:** 360 req/min

**Get your API key:** [Dev Portal](https://data.octav.fi)



## OpenAPI

````yaml /openapi.json get /snapshot-subscriptions
openapi: 3.0.0
info:
  title: Octav API
  description: >-
    Comprehensive blockchain data API for portfolio management, transactions,
    and DeFi analytics
  version: 1.0.0
  contact:
    name: Octav Support
    url: https://octav.fi
    email: info@octav.fi
servers:
  - url: https://api.octav.fi/v1
    description: Production API
security:
  - bearerAuth: []
tags:
  - name: Portfolio
    description: Portfolio and holdings endpoints
  - name: Virtual Users
    description: Virtual user management and portfolio endpoints (Pro only)
  - name: Nav
    description: Net Asset Value endpoints
  - name: Wallet
    description: Wallet information endpoints
  - name: Transactions
    description: Transaction history endpoints
  - name: Approvals
    description: Token approval endpoints
  - name: Tokens
    description: Token data endpoints
  - name: Airdrops
    description: Airdrop eligibility endpoints
  - name: Snapshot Subscriptions
    description: >-
      Subscribe addresses to daily portfolio snapshots, renew them, and list
      what your key can read
  - name: Sync
    description: Data synchronization endpoints
  - name: Status
    description: Status check endpoints
  - name: Credits
    description: Credit balance endpoints
  - name: Chains
    description: Blockchain network and protocol endpoints
  - name: Contract Protocol
    description: Resolve a contract address to its DeFi protocol
  - name: Agent (x402)
    description: >-
      Pay-per-call endpoints for autonomous agents via the x402 protocol — no
      API key. A five-endpoint subset; the API-key REST endpoints above are the
      default.
  - name: Beacon Validators
    description: >-
      Ethereum beacon chain validator endpoints — details, rewards, withdrawals,
      and deposits (mainnet only)
  - name: Address Book
    description: >-
      Manage the wallet addresses saved to your account — the list a bundle
      draws from
  - name: Bundles
    description: Group saved address book addresses into named bundles
paths:
  /snapshot-subscriptions:
    get:
      tags:
        - Snapshot Subscriptions
      summary: List Snapshot Subscriptions
      description: >-
        Every address whose daily snapshots your account can read: API snapshot
        subscriptions (`type: subscription`) and licensed addresses (`type:
        license`), with their dates and status. An address covered by both
        appears once for each.


        **Cost:** Free


        **Rate limit:** 360 req/min


        **Get your API key:** [Dev Portal](https://data.octav.fi)
      operationId: listSnapshotSubscriptions
      parameters:
        - name: addresses
          in: query
          required: false
          description: >-
            Comma-separated addresses to return only those. Addresses without a
            subscription or license are left out of the response.
          schema:
            type: string
          example: >-
            0x6426af179aabebe47666f345d69fd9079673f6cd,9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM
      responses:
        '200':
          description: Subscriptions and licensed addresses
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SnapshotSubscription'
              example:
                data:
                  - type: subscription
                    address: '0x6426af179aabebe47666f345d69fd9079673f6cd'
                    description: Main Treasury
                    subscriptionStartDate: '2025-12-01T09:30:00.000Z'
                    subscriptionEndDate: '2026-12-01T09:30:00.000Z'
                    autoRenew: true
                    status: expiring
                    lastSnapshotDate: '2026-11-11T00:14:52.000Z'
                  - type: subscription
                    address: '0xe760ad8df0a54aafd95e3bc271b65d224abeaa57'
                    description: Operations
                    subscriptionStartDate: '2026-03-02T14:05:11.000Z'
                    subscriptionEndDate: '2027-03-02T14:05:11.000Z'
                    autoRenew: true
                    status: active
                    lastSnapshotDate: '2026-11-11T00:15:03.000Z'
                  - type: license
                    address: 9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM
                    description: Solana Treasury
                    subscriptionStartDate: '2026-05-14T08:00:00.000Z'
                    subscriptionEndDate: '2027-05-14T08:00:00.000Z'
                    autoRenew: false
                    status: active
                    lastSnapshotDate: '2026-11-11T00:16:20.000Z'
        '400':
          description: >-
            VALIDATION_ERROR: an address in `addresses` is malformed or
            unsupported.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              example:
                error:
                  code: VALIDATION_ERROR
                  message: One or more addresses are invalid
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          description: Rate limit exceeded — 360 requests/min
        '500':
          description: 'INTERNAL_ERROR: unexpected server-side failure.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              example:
                error:
                  code: INTERNAL_ERROR
                  message: Error while fetching snapshot subscriptions
      security:
        - bearerAuth: []
components:
  schemas:
    SnapshotSubscription:
      type: object
      description: >-
        An address whose daily snapshots your account can read, through an API
        snapshot subscription or a license.
      required:
        - type
        - address
        - subscriptionStartDate
        - subscriptionEndDate
        - autoRenew
        - status
      properties:
        type:
          type: string
          enum:
            - subscription
            - license
          description: >-
            `subscription` for an API snapshot subscription, `license` for an
            address licensed in Octav Pro. Licenses are renewed in the app, not
            through this API.
        address:
          type: string
          description: The normalized wallet address.
        description:
          type: string
          description: Your description of the address. May be empty.
        subscriptionStartDate:
          type: string
          format: date-time
          description: When the subscription started.
        subscriptionEndDate:
          type: string
          format: date-time
          description: When the subscription ends.
        autoRenew:
          type: boolean
          description: >-
            When true, the subscription renews itself for 1,200 credits on its
            end date. If the balance falls short it is not renewed and autoRenew
            turns false. Always false for licenses.
        status:
          type: string
          enum:
            - active
            - expiring
            - expired
          description: >-
            `active`, `expiring` (ends within 2 months, so it can be renewed
            now) or `expired` (the end date has passed).
        lastSnapshotDate:
          type: string
          format: date-time
          description: >-
            When the most recent daily snapshot was taken. Omitted until the
            first one.
      example:
        type: subscription
        address: '0x6426af179aabebe47666f345d69fd9079673f6cd'
        description: Main Treasury
        subscriptionStartDate: '2025-12-01T09:30:00.000Z'
        subscriptionEndDate: '2026-12-01T09:30:00.000Z'
        autoRenew: true
        status: expiring
        lastSnapshotDate: '2026-11-11T00:14:52.000Z'
    ApiErrorEnvelope:
      type: object
      description: >-
        Domain failures on the address book, bundle and snapshot subscription
        routes answer with this envelope. Some codes add extra fields alongside
        code and message.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - VALIDATION_ERROR
                - UNAUTHORIZED
                - ADDRESSBOOK_ENTRY_NOT_FOUND
                - ADDRESSBOOK_QUOTA_REACHED
                - ADDRESSBOOK_ENTRY_NOT_DELETABLE
                - BUNDLE_NOT_FOUND
                - BUNDLE_QUOTA_REACHED
                - BUNDLE_SIZE_LIMIT_EXCEEDED
                - BUNDLE_NAME_TAKEN
                - BUNDLE_MEMBERS_ALREADY_BUNDLED
                - BUNDLE_EMPTY
                - BUNDLE_ADDRESS_NOT_IN_ADDRESS_BOOK
                - DELEGATE_NOT_FOUND
                - NOT_ENOUGH_CREDITS
                - SNAPSHOTS_NOT_RENEWABLE
                - INTERNAL_ERROR
            message:
              type: string
            quota:
              type: integer
              description: The limit that was reached.
            current:
              type: integer
              description: Current count against that limit.
            limit:
              type: integer
              description: Maximum addresses a bundle may hold.
            name:
              type: string
              description: Bundle name that is already taken.
            bundleId:
              type: string
              description: Bundle that already holds these addresses.
            addresses:
              type: array
              items:
                type: string
              description: Addresses that are not in the address book.
            rejected:
              type: array
              description: >-
                SNAPSHOTS_NOT_RENEWABLE only: every address that cannot be
                renewed, with the reason.
              items:
                type: object
                properties:
                  address:
                    type: string
                  reason:
                    type: string
                    enum:
                      - not_subscribed
                      - license
                      - not_yet_renewable
          required:
            - code
            - message
  responses:
    Unauthorized:
      description: Missing or invalid Bearer token
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthorized
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.