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

> Lists all policies.



## OpenAPI

````yaml /reference/manage-vanta.json get /policies
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:
  /policies:
    get:
      tags:
        - Policies
      summary: List policies
      description: Lists all policies.
      operationId: ListPolicies
      parameters:
        - in: query
          name: pageSize
          required: false
          schema:
            $ref: '#/components/schemas/PageSize'
        - in: query
          name: pageCursor
          required: false
          schema:
            $ref: '#/components/schemas/PageCursor'
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_Policy_'
              examples:
                Example 1:
                  value:
                    results:
                      pageInfo:
                        hasNextPage: false
                        hasPreviousPage: false
                        endCursor: YXJyYXljb25uZWN0aW9uOjA=
                        startCursor: YXJyYXljb25uZWN0aW9uOjA=
                      data:
                        - id: code-of-conduct-bsi
                          name: Code of Conduct
                          description: >-
                            Develops and maintains a standard of conduct that is
                            acceptable to the company and its employees,
                            customers, and vendors.
                          status: OK
                          approvedAtDate: '2024-01-15T10:30:00.000Z'
                          latestVersion:
                            status: APPROVED
                          latestApprovedVersion:
                            versionId: 65f1a8b2c3d4e5f60718293a
                            documents:
                              - language: EN
                                slugId: a1b2c3d4e5f6g7h8i9j0k1l2
                                url: >-
                                  https://app.vanta.com/c/my-domain/doc/Policy-a1b2c3d4e5f6g7h8i9j0k1l2
      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.
    PaginatedResponse_Policy_:
      properties:
        results:
          properties:
            data:
              items:
                $ref: '#/components/schemas/Policy'
              type: array
            pageInfo:
              $ref: '#/components/schemas/PageInfo'
          required:
            - data
            - pageInfo
          type: object
      required:
        - results
      type: object
      additionalProperties: false
    Policy:
      properties:
        id:
          type: string
          description: The policy's unique ID.
        name:
          type: string
          description: The policy's name.
        description:
          type: string
          description: The policy's description.
        status:
          $ref: '#/components/schemas/PolicyStatus'
          description: The policy's current status.
        approvedAtDate:
          type: string
          format: date-time
          nullable: true
          description: The policy's most recent date of approval, if applicable.
        latestVersion:
          $ref: '#/components/schemas/PolicyLatestVersion'
          description: The latest version of the policy.
        latestApprovedVersion:
          allOf:
            - $ref: '#/components/schemas/PolicyLatestApprovedVersion'
          nullable: true
          description: The latest approved version of the policy, if available.
      required:
        - id
        - name
        - description
        - status
        - approvedAtDate
        - latestVersion
        - latestApprovedVersion
      type: object
      additionalProperties: false
    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
    PolicyStatus:
      enum:
        - OK
        - NEEDS_REMEDIATION
      type: string
    PolicyLatestVersion:
      properties:
        status:
          $ref: '#/components/schemas/PolicyVersionStatus'
          description: The status of the policy's latest version.
      required:
        - status
      type: object
      additionalProperties: false
    PolicyLatestApprovedVersion:
      properties:
        versionId:
          type: string
          description: The ID of the latest approved version of the policy.
        documents:
          items:
            $ref: '#/components/schemas/PolicyDocument'
          type: array
          description: Available document versions for this policy, organized by language.
      required:
        - versionId
        - documents
      type: object
      additionalProperties: false
    PolicyVersionStatus:
      enum:
        - NOT_STARTED
        - DRAFT
        - PENDING_APPROVAL
        - APPROVED
        - RENEW_SOON
        - EXPIRED
      type: string
    PolicyDocument:
      properties:
        language:
          allOf:
            - $ref: '#/components/schemas/PolicyLocale'
          nullable: true
          description: The language of the policy document.
        slugId:
          type: string
          description: The slug ID of the policy document.
        url:
          type: string
          description: The URL of the policy document.
      required:
        - language
        - slugId
        - url
      type: object
      additionalProperties: false
    PolicyLocale:
      enum:
        - CS
        - CY
        - DA
        - DE
        - EN
        - ES
        - FI
        - FR
        - HU
        - IS
        - IT
        - JA
        - KO
        - NL
        - 'NO'
        - NOT_SPECIFIED
        - PL
        - PT
        - ET
        - RO
        - AR
        - SK
        - SV
        - TR
        - ZH
      type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````