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

# Upload contract

> Upload a contract.



## OpenAPI

````yaml /reference/manage-vanta.json post /contracts
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:
  /contracts:
    post:
      tags:
        - Contracts
      summary: Upload contract
      description: Upload a contract.
      operationId: UploadContract
      parameters: []
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: The contract file to upload. Only PDF files are accepted.
                executedDate:
                  type: string
                  description: ISO 8601 date indicating when the contract was executed.
                accountId:
                  type: string
                  description: >-
                    ID of the customer trust account to associate with this
                    contract.
                externalId:
                  type: string
                  description: >-
                    Stable source-system identifier used to reject duplicate
                    contract uploads; repeats return 409. Use the upstream
                    document or record ID when available, such as the Microsoft
                    Graph DriveItem ID for SharePoint or the Ironclad record ID
                    for Ironclad. If there is no source system, generate and
                    store a durable idempotency key. Maximum 256 characters.
              required:
                - file
      responses:
        '201':
          description: Contract created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contract'
              examples:
                Example 1:
                  value:
                    id: 65e1efde08e8478f143a8ff9
                    externalId: sharepoint-drive-item-123
                    name: Example Contract
                    customerTrustAccountId: null
                    executedDate: '2024-01-15T00:00:00.000Z'
                    creationDate: '2024-01-01T00:00:00.000Z'
      security:
        - bearerAuth: []
components:
  schemas:
    Contract:
      properties:
        id:
          type: string
          description: Unique identifier for the contract.
        externalId:
          type: string
          nullable: true
          description: Stable source-system identifier for the contract, if any.
        name:
          type: string
          description: Name of the contract.
        customerTrustAccountId:
          type: string
          nullable: true
          description: >-
            The ID of the customer trust account this contract is linked to, if
            any.
        executedDate:
          type: string
          format: date-time
          nullable: true
          description: Date this contract was executed.
        creationDate:
          type: string
          format: date-time
          description: Date this contract was created in Vanta.
      required:
        - id
        - externalId
        - name
        - customerTrustAccountId
        - executedDate
        - creationDate
      type: object
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````