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

# List Knowledge Base resources

> List Knowledge Base resources (documents and webpages) in a single
paginated response. Each entry is a discriminated union on `type` —
"FILE" entries carry a `fileUrl` (presigned S3 URL, valid for one
hour), "URL" entries carry the resource's `url` and `includeSubPages`.

Supports full-text search, type filtering, tag filtering (OR within
a category, AND across categories), and date-range filters on
last-updated and expiration.



## OpenAPI

````yaml /reference/manage-vanta.json get /knowledge-base/resources
openapi: 3.0.0
info:
  title: Manage Vanta
  version: 1.0.0
  description: >-
    The REST API lets customers query and mutate Vanta's data. Use this API to
    automate bulk actions, query data for custom workflows and dashboards, and
    bolster your security operations


    **Note for Vanta Gov (FedRAMP) customers:** Select `Vanta Gov (FedRAMP)`
    from the server dropdown to issue requests against
    `https://api.vanta-gov.com`. The OAuth token URL shown below defaults to the
    commercial host — replace it with `https://api.vanta-gov.com/oauth/token`.
  termsOfService: https://www.vanta.com/terms
  license:
    name: UNLICENSED
  contact:
    name: API Support
    url: https://help.vanta.com/
    email: support@vanta.com
servers:
  - url: https://api.vanta.com/v1
    description: Vanta (Commercial)
  - url: https://api.vanta-gov.com/v1
    description: Vanta Gov (FedRAMP)
security: []
paths:
  /knowledge-base/resources:
    get:
      tags:
        - Knowledge Base
      summary: List Knowledge Base resources
      description: |-
        List Knowledge Base resources (documents and webpages) in a single
        paginated response. Each entry is a discriminated union on `type` —
        "FILE" entries carry a `fileUrl` (presigned S3 URL, valid for one
        hour), "URL" entries carry the resource's `url` and `includeSubPages`.

        Supports full-text search, type filtering, tag filtering (OR within
        a category, AND across categories), and date-range filters on
        last-updated and expiration.
      operationId: ListKnowledgeBaseResources
      parameters:
        - in: query
          name: pageSize
          required: false
          schema:
            $ref: '#/components/schemas/PageSize'
        - in: query
          name: pageCursor
          required: false
          schema:
            $ref: '#/components/schemas/PageCursor'
        - description: Full-text search across resource titles.
          in: query
          name: q
          required: false
          schema:
            type: string
        - description: >-
            Filter to FILE and/or URL resources. Repeat the param to allow
            either.
          in: query
          name: typeMatchesAny
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/KnowledgeBaseResourceTypeFilter'
        - description: Only include resources updated at or after this ISO 8601 timestamp.
          in: query
          name: lastUpdatedAfter
          required: false
          schema:
            type: string
        - description: Only include resources updated at or before this ISO 8601 timestamp.
          in: query
          name: lastUpdatedBefore
          required: false
          schema:
            type: string
        - description: >-
            JSON-encoded array of `{categoryId, tagId}` pairs. Tags within the

            same category are OR'd together; tags across different categories

            are AND'd. For example, passing two tags from "Framework" and one

            tag from "Region" matches resources that have either of the two

            frameworks AND the given region. Discover valid `categoryId` and

            `tagId` values via `GET /v1/customer-trust/tag-categories` (to list

            categories) and `GET
            /v1/customer-trust/tag-categories/{tagCategoryId}`

            (to list tags within a category).
          in: query
          name: matchesTags
          required: false
          schema:
            type: string
        - description: >-
            Only include resources expiring at or before this ISO 8601
            timestamp.
          in: query
          name: expiresBefore
          required: false
          schema:
            type: string
        - description: Only include resources expiring at or after this ISO 8601 timestamp.
          in: query
          name: expiresAfter
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PaginatedResponse_TrustKnowledgeBaseResourceOutput_
              examples:
                Example 1:
                  value:
                    results:
                      data:
                        - id: 507f1f77bcf86cd799439021
                          type: FILE
                          title: SOC 2 Type II Report
                          description: Annual SOC 2 Type II report covering 2024.
                          fileUrl: >-
                            https://vanta-uploaded-documents.s3.amazonaws.com/507f1f77bcf86cd799439021?X-Amz-Expires=3600&X-Amz-Signature=...
                          customerVisibility: REQUEST_ACCESS
                          downloadPermission: VIEW_AND_DOWNLOAD
                          isUsedInQuestionnaires: true
                          ownerAssignment:
                            type: User
                            id: 507f1f77bcf86cd799439041
                            displayName: Alex Rivera
                          expirationStatus: CURRENT
                          expirationDate: '2025-12-31T00:00:00.000Z'
                          lastUpdated: '2024-12-15T17:42:11.000Z'
                          lastVerified: '2024-12-20T09:00:00.000Z'
                          tags:
                            - categoryId: 507f1f77bcf86cd799439011
                              tagId: 507f1f77bcf86cd799439013
                          categoryId: 507f1f77bcf86cd799439051
                        - id: 507f1f77bcf86cd799439022
                          type: URL
                          title: Vanta Security Overview
                          description: Public-facing overview of Vanta's security posture.
                          url: https://www.vanta.com/security
                          customerVisibility: PUBLIC
                          includeSubPages: true
                          isUsedInQuestionnaires: true
                          ownerAssignment:
                            type: User
                            id: 507f1f77bcf86cd799439041
                            displayName: Alex Rivera
                          expirationStatus: CURRENT
                          expirationDate: '2025-08-01T00:00:00.000Z'
                          lastUpdated: '2024-11-04T13:21:55.000Z'
                          lastVerified: '2024-11-04T13:21:55.000Z'
                          tags:
                            - categoryId: 507f1f77bcf86cd799439011
                              tagId: 507f1f77bcf86cd799439014
                          categoryId: 507f1f77bcf86cd799439052
                      pageInfo:
                        hasNextPage: false
                        hasPreviousPage: false
      security:
        - bearerAuth: []
components:
  schemas:
    PageSize:
      type: integer
      format: int32
      default: 10
      description: >-
        Controls the maximum number of items returned in one response from the
        API.
      minimum: 1
      maximum: 100
    PageCursor:
      type: string
      description: >-
        A marker or pointer, telling the API where to start fetching items for
        the subsequent page in a paginated dataset.

        Note that the requested page will not include the item that corresponds
        to this cursor but will start from the one immediately

        after this cursor.
    KnowledgeBaseResourceTypeFilter:
      type: string
      enum:
        - FILE
        - URL
    PaginatedResponse_TrustKnowledgeBaseResourceOutput_:
      properties:
        results:
          properties:
            data:
              items:
                $ref: '#/components/schemas/TrustKnowledgeBaseResourceOutput'
              type: array
            pageInfo:
              $ref: '#/components/schemas/PageInfo'
          required:
            - data
            - pageInfo
          type: object
      required:
        - results
      type: object
      additionalProperties: false
    TrustKnowledgeBaseResourceOutput:
      anyOf:
        - $ref: '#/components/schemas/KnowledgeBaseDocumentResourceOutput'
        - $ref: '#/components/schemas/KnowledgeBaseWebpageResourceOutput'
      description: |-
        Discriminated union over `type` of all resource kinds in the Trust
        Knowledge Base (currently FILE and URL).
    PageInfo:
      description: Provides information about the pagination of a dataset.
      properties:
        endCursor:
          type: string
          nullable: true
          description: >-
            The cursor that points to the end of the current page, or null if
            there is no such cursor.
        hasNextPage:
          type: boolean
          description: Indicates if there is another page after the current page.
        hasPreviousPage:
          type: boolean
          description: Indicates if there is a page before the current page.
        startCursor:
          type: string
          nullable: true
          description: >-
            The cursor that points to the start of the current page, or null if
            there is no such cursor.
      required:
        - endCursor
        - hasNextPage
        - hasPreviousPage
        - startCursor
      type: object
      additionalProperties: false
    KnowledgeBaseDocumentResourceOutput:
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - FILE
          nullable: false
        title:
          type: string
        description:
          type: string
          nullable: true
        fileUrl:
          type: string
          description: >-
            Presigned S3 URL for the underlying document. Expires after 1 hour
            due

            to AWS IAM Role limitations on presigned URL lifetimes. Re-fetch the

            resource to obtain a fresh URL once this one expires.
        customerVisibility:
          type: string
          enum:
            - PRIVATE
            - SHAREABLE
            - REQUEST_ACCESS
            - PUBLIC
            - null
          nullable: true
        downloadPermission:
          type: string
          enum:
            - VIEW_ONLY
            - VIEW_AND_DOWNLOAD
            - null
          nullable: true
        isUsedInQuestionnaires:
          type: boolean
          nullable: true
        ownerAssignment:
          allOf:
            - $ref: '#/components/schemas/KnowledgeBaseResourceActorAssignment'
          nullable: true
        expirationStatus:
          $ref: '#/components/schemas/KnowledgeBaseExpirationStatus'
        expirationDate:
          type: string
          nullable: true
        lastUpdated:
          type: string
        lastVerified:
          type: string
          nullable: true
        tags:
          items:
            $ref: '#/components/schemas/TagInput'
          type: array
        categoryId:
          type: string
          nullable: true
          description: >-
            Trust Center category id the resource is currently filed under, or

            `null` if uncategorized (or not on the Trust Center, which is the
            case

            for `PRIVATE` / `SHAREABLE` resources).
      required:
        - id
        - type
        - title
        - description
        - fileUrl
        - customerVisibility
        - downloadPermission
        - isUsedInQuestionnaires
        - ownerAssignment
        - expirationStatus
        - expirationDate
        - lastUpdated
        - lastVerified
        - tags
        - categoryId
      type: object
      additionalProperties: false
    KnowledgeBaseWebpageResourceOutput:
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - URL
          nullable: false
        title:
          type: string
        description:
          type: string
          nullable: true
        url:
          type: string
        customerVisibility:
          type: string
          enum:
            - PRIVATE
            - SHAREABLE
            - REQUEST_ACCESS
            - PUBLIC
            - null
          nullable: true
        includeSubPages:
          type: boolean
          nullable: true
        isUsedInQuestionnaires:
          type: boolean
          nullable: true
        ownerAssignment:
          allOf:
            - $ref: '#/components/schemas/KnowledgeBaseResourceActorAssignment'
          nullable: true
        expirationStatus:
          $ref: '#/components/schemas/KnowledgeBaseExpirationStatus'
        expirationDate:
          type: string
          nullable: true
        lastUpdated:
          type: string
        lastVerified:
          type: string
          nullable: true
        tags:
          items:
            $ref: '#/components/schemas/TagInput'
          type: array
        categoryId:
          type: string
          nullable: true
          description: >-
            Trust Center category id the resource is currently filed under, or

            `null` if uncategorized (or not on the Trust Center, which is the
            case

            for `PRIVATE` / `SHAREABLE` resources).
      required:
        - id
        - type
        - title
        - description
        - url
        - customerVisibility
        - includeSubPages
        - isUsedInQuestionnaires
        - ownerAssignment
        - expirationStatus
        - expirationDate
        - lastUpdated
        - lastVerified
        - tags
        - categoryId
      type: object
      additionalProperties: false
    KnowledgeBaseResourceActorAssignment:
      properties:
        type:
          type: string
          enum:
            - User
            - Team
        id:
          type: string
        displayName:
          type: string
          nullable: true
      required:
        - type
        - id
        - displayName
      type: object
      additionalProperties: false
    KnowledgeBaseExpirationStatus:
      type: string
      enum:
        - CURRENT
        - EXPIRED
      description: |-
        Customer-facing expiration status used by knowledge-base API responses
        (answer library entries and resources). Derived from the persisted
        `expiresAt` field at read time.
    TagInput:
      properties:
        categoryId:
          type: string
        tagId:
          type: string
      required:
        - categoryId
        - tagId
      type: object
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````