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

# List streams

> The streams (top-level subject areas) and their categories, as the hosted catalogue shows them, with course counts. Empty when the site has streams off.

Scope: `catalog:read`. Cacheable for 60 s.



## OpenAPI

````yaml /api-reference/openapi.json get /streams
openapi: 3.1.0
info:
  title: Vacademy Catalogue API
  version: 1.0.0
  description: >-
    Read an institute's published courses, streams and learning paths for its
    own website, and send enquiries into its CRM.
servers:
  - url: https://api.vacademy.ai/catalog/v1
security:
  - ApiKey: []
  - Bearer: []
tags:
  - name: Site
  - name: Courses
  - name: Streams
  - name: Learning paths
  - name: Enquiries
paths:
  /streams:
    get:
      tags:
        - Streams
      summary: List streams
      description: >-
        The streams (top-level subject areas) and their categories, as the
        hosted catalogue shows them, with course counts. Empty when the site has
        streams off.


        Scope: `catalog:read`. Cacheable for 60 s.
      operationId: listStreams
      responses:
        '200':
          description: The streams.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/RequestId'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StreamList'
              example:
                source: folder_library
                streams:
                  - slug: swasthya
                    label: स्वास्थ्य व आयुर्वेद
                    subtitle: Health | Ayurveda
                    image_url: >-
                      https://d1om4dxj9e7kkd.cloudfront.net/CATALOGUE/2719d8d1-43fd-4f9f-97af-a5b067d770a6/003be8ff-7e9f-4e76-beb6-13af3bd4003e-bv-stream-swasthya.png
                    accent_color: '#6f7a4d'
                    coming_soon: false
                    course_count: 0
                    categories:
                      - slug: swasthavritta
                        label: स्वस्थ वृत्त
                        subtitle: SwasthaVritta
                        image_url: null
                        coming_soon: false
                        course_count: 0
                      - slug: garbha-vigyan
                        label: गर्भ विज्ञान
                        subtitle: Garbha Vigyan
                        image_url: null
                        coming_soon: false
                        course_count: 0
                      - slug: rajaswala
                        label: रजस्वला परिचर्या
                        subtitle: Rajaswala Paricharya
                        image_url: null
                        coming_soon: false
                        course_count: 0
                  - slug: dharma
                    label: धर्म | संस्कृति
                    subtitle: Virtue | Civilisation
                    image_url: >-
                      https://d1om4dxj9e7kkd.cloudfront.net/CATALOGUE/2719d8d1-43fd-4f9f-97af-a5b067d770a6/e6004c6c-11b6-440a-a05f-546d2a94f193-bv-stream-dharma.png
                    accent_color: '#82b74b'
                    coming_soon: false
                    course_count: 1
                    categories:
                      - slug: vedic-parenting
                        label: वैदिक पेरेंटिंग
                        subtitle: Holistic Parenting
                        image_url: null
                        coming_soon: false
                        course_count: 1
                  - slug: kala
                    label: कला | शिल्प
                    subtitle: Skills | Craft
                    image_url: >-
                      https://d1om4dxj9e7kkd.cloudfront.net/CATALOGUE/2719d8d1-43fd-4f9f-97af-a5b067d770a6/bd372d36-21ff-43c7-935d-b42b0de4c3bd-bv-stream-kala.png
                    accent_color: '#cc7722'
                    coming_soon: false
                    course_count: 1
                    categories:
                      - slug: lekhan-kala
                        label: लेखन कला
                        subtitle: Writing arts
                        image_url: null
                        coming_soon: false
                        course_count: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '503':
          $ref: '#/components/responses/AuthUnavailable'
components:
  headers:
    RequestId:
      schema:
        type: string
      description: Unique id of this request. Quote it to support.
    CacheControl:
      schema:
        type: string
      description: '`public, max-age=60` on reads; `no-store` on errors and `POST /leads`.'
    RetryAfter:
      schema:
        type: integer
      description: Seconds to wait before retrying.
  schemas:
    StreamList:
      type: object
      properties:
        source:
          type:
            - string
            - 'null'
          enum:
            - folder_library
            - tags
            - null
          description: Where the site's streams come from; null when streams are off.
        streams:
          type: array
          items:
            $ref: '#/components/schemas/Stream'
      required:
        - source
        - streams
    Stream:
      type: object
      properties:
        slug:
          type: string
        label:
          type: string
          description: The stream's title.
        subtitle:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
        accent_color:
          type:
            - string
            - 'null'
          description: '`#rgb`, `#rrggbb` or `#rrggbbaa`.'
        coming_soon:
          type: boolean
        course_count:
          type: integer
          description: Courses tagged into this stream or any of its categories.
        categories:
          type: array
          items:
            $ref: '#/components/schemas/Category'
      required:
        - slug
        - label
        - subtitle
        - image_url
        - accent_color
        - coming_soon
        - course_count
        - categories
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: not_found
              enum:
                - missing_api_key
                - invalid_api_key
                - product_not_enabled
                - insufficient_scope
                - origin_not_allowed
                - rate_limited
                - not_found
                - method_not_allowed
                - invalid_request
                - auth_unavailable
                - internal_error
              description: >-
                Stable machine-readable code. Branch on this, never on
                `message`.
            message:
              type: string
              description: A sentence for logs. Wording may change.
            request_id:
              type: string
              description: Also in the `X-Request-Id` header. Quote it to support.
            details:
              type: object
              additionalProperties: true
              description: >-
                Present only when there is more to say: `param`
                (invalid_request), `required_scope` (insufficient_scope),
                `origin` (origin_not_allowed), `limit_per_minute`
                (rate_limited).
          required:
            - code
            - message
            - request_id
      required:
        - error
    Category:
      type: object
      properties:
        slug:
          type: string
        label:
          type: string
          description: The category's title.
        subtitle:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
        coming_soon:
          type: boolean
        course_count:
          type: integer
      required:
        - slug
        - label
        - subtitle
        - image_url
        - coming_soon
        - course_count
  responses:
    Unauthorized:
      description: No key, or the key is not valid.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            missing_api_key:
              value:
                error:
                  code: missing_api_key
                  message: >-
                    Send your publishable key in the X-API-Key header (or
                    Authorization: Bearer).
                  request_id: req_3f2a9c1d7e5b4a608f1e2d3c4b5a6978
            invalid_api_key:
              value:
                error:
                  code: invalid_api_key
                  message: This API key is invalid, revoked or expired.
                  request_id: req_3f2a9c1d7e5b4a608f1e2d3c4b5a6978
    Forbidden:
      description: >-
        The key may not make this request, or the browser origin is not one of
        the institute's verified websites.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            origin_not_allowed:
              value:
                error:
                  code: origin_not_allowed
                  message: >-
                    Add and verify preview-abc.vercel.app in Settings →
                    Integrations → Catalogue API & websites to call this API
                    from it.
                  request_id: req_3f2a9c1d7e5b4a608f1e2d3c4b5a6978
                  details:
                    origin: preview-abc.vercel.app
            insufficient_scope:
              value:
                error:
                  code: insufficient_scope
                  message: This API key does not have the leads:write scope.
                  request_id: req_3f2a9c1d7e5b4a608f1e2d3c4b5a6978
                  details:
                    required_scope: leads:write
            product_not_enabled:
              value:
                error:
                  code: product_not_enabled
                  message: This API key is not a Catalogue API key.
                  request_id: req_3f2a9c1d7e5b4a608f1e2d3c4b5a6978
    RateLimited:
      description: Too many requests for this key (or, on `POST /leads`, this visitor).
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            rate_limited:
              value:
                error:
                  code: rate_limited
                  message: Too many requests for this API key (limit 1200 per minute).
                  request_id: req_3f2a9c1d7e5b4a608f1e2d3c4b5a6978
                  details:
                    limit_per_minute: 1200
    AuthUnavailable:
      description: >-
        Keys could not be checked for a moment. Retry after `Retry-After`
        seconds.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            auth_unavailable:
              value:
                error:
                  code: auth_unavailable
                  message: Could not verify the API key right now. Retry shortly.
                  request_id: req_3f2a9c1d7e5b4a608f1e2d3c4b5a6978
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your publishable Catalogue API key (`vak_pub_…`).
    Bearer:
      type: http
      scheme: bearer
      description: 'The same key as `Authorization: Bearer vak_pub_…`.'

````

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