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

# Create a custom document

> Create a custom document.



## OpenAPI

````yaml /reference/manage-vanta.json post /documents
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:
  /documents:
    post:
      tags:
        - Documents
      summary: Create a custom document
      description: Create a custom document.
      operationId: CreateDocument
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDocumentInput'
      responses:
        '201':
          description: Document created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
              examples:
                Example 1:
                  value:
                    id: '1'
                    ownerId: '2'
                    category: Account setup
                    description: >-
                      Provide two examples of a recent access request and
                      approval 
                    isSensitive: false
                    title: Document Title
                    uploadStatus: Needs document
                    uploadStatusDate: '2024-03-17T00:00:00.000Z'
                    url: https://example.com
      security:
        - bearerAuth: []
components:
  schemas:
    CreateDocumentInput:
      properties:
        title:
          type: string
          description: The document's title.
        description:
          type: string
          description: The document's description.
        timeSensitivity:
          $ref: '#/components/schemas/TimeSensitivity'
          description: |-
            When to upload the document.
            Must be one of: "Most recent", "During audit window"
        cadence:
          $ref: '#/components/schemas/CadenceType'
          description: |-
            How often the document needs to be renewed.

            Never: P0D - The document does not need to be renewed.
            Daily: P1D - The document needs to be renewed daily.
            Weekly: P1W - The document needs to be renewed weekly.
            Monthly: P1M - The document needs to be renewed monthly.
            Quarterly: P3M - The document needs to be renewed quarterly.
            Biannually: P6M - The document needs to be renewed biannually.
            Annually: P1Y - The document needs to be renewed annually.
        reminderWindow:
          $ref: '#/components/schemas/ReminderWindow'
          description: >-
            The number of days before the renewal date to send a reminder.

            Note that reminderWindow should be smaller than the cadence.


            Options are:

            Never: P0D - No reminder will be sent.

            Day: P1D - A reminder will be sent one day before the renewal date.

            Week: P1W - A reminder will be sent one week before the renewal
            date.

            Month: P1M - A reminder will be sent one month before the renewal
            date.

            Quarter: P3M - A reminder will be sent one quarter before the
            renewal date.
        isSensitive:
          type: boolean
          description: >-
            Determines whether or not the document is sensitive.

            This restricts which users can access or upload files to the
            document.

            Only admins are able to view or upload sensitive documents.
      required:
        - title
        - description
        - timeSensitivity
        - cadence
        - reminderWindow
        - isSensitive
      type: object
      additionalProperties: false
    Document:
      properties:
        id:
          type: string
          description: The document's unique ID.
        ownerId:
          type: string
          nullable: true
          description: The user ID of the document's owner.
        category:
          $ref: '#/components/schemas/DocumentAndTestCategory'
          description: The document's category.
        description:
          type: string
          description: The document's description.
        isSensitive:
          type: boolean
          description: Determines whether or not the document is sensitive.
        title:
          type: string
          description: The document's title.
        uploadStatus:
          $ref: '#/components/schemas/DocumentStatus'
          description: The document's status.
        uploadStatusDate:
          type: string
          format: date-time
          nullable: true
          description: The date the document's uploadStatus changed.
        url:
          type: string
          nullable: true
          description: The URL to view the document within Vanta.
      required:
        - id
        - ownerId
        - category
        - description
        - isSensitive
        - title
        - uploadStatus
        - uploadStatusDate
        - url
      type: object
      additionalProperties: false
    TimeSensitivity:
      enum:
        - MOST_RECENT
        - DURING_AUDIT_WINDOW
      type: string
    CadenceType:
      $ref: '#/components/schemas/RecurrenceDuration'
    ReminderWindow:
      enum:
        - P0D
        - P1D
        - P1W
        - P1M
        - P3M
      type: string
    DocumentAndTestCategory:
      type: string
      enum:
        - Accounts access
        - Account security
        - Account setup
        - Computers
        - Custom
        - Data storage
        - Employees
        - Infrastructure
        - IT
        - Logging
        - Monitoring alerts
        - People
        - Policies
        - Risk analysis
        - Software development
        - CSPM alert management
        - Vendors
        - Vulnerability management
    DocumentStatus:
      type: string
      enum:
        - Needs document
        - Needs update
        - Not relevant
        - OK
    RecurrenceDuration:
      enum:
        - P0D
        - P1D
        - P1W
        - P1M
        - P3M
        - P6M
        - P1Y
        - P2Y
      type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````