---
title: "Create Contract"
method: POST
path: "/v2/contract"
tags: ["Contracts"]
---

# Create Contract

`POST /v2/contract`

Documentation for Item Types
============================

1. **Text**
-----------
- **Description**: Handles plain textual data.
- **Input Example**: `"Hello, World!"`
- **Output Example**: `"Hello, World!"`

2. **RichText**
---------------
- **Description**: Manages text with rich text formatting elements.
- **Input Example**: `"Hello, World!"`
- **Output Example**: "In a visual medium: **Hello**, *World!*"

3. **DateInterval (DATEDELTA)**
-------------------------------
- **Description**: Represents an interval of dates.Intervals allowed: "month", "week", "day", "year" and "hour".
- **Input Example**: `{"size": 10, "interval": "day"}`
- **Output Example**: `{"size": 10, "interval": "day"}`

4. **Date**
-----------
- **Description**: Manages a single date value. input as %Y-%m-%d format, output as ISO 8601 format
- **Input Example**: `"2023-01-01"`
- **Output Example**: `"'2023-10-03T14:12:07.797100'` 

5. **SingleSelect**
-------------------
- **Description**: Handles the selection of a single option from a set of choices.Please take a look at args for 'item' of type SingleSelect,\nInput is the key of the option to be selected,\noutput is the value of the option selected.
- **Input Example**: `2`
- **Output Example**: `"banana"` 

6. **Binary**
-------------
- **Description**: Manages binary values, typically representing true or false.
- **Input Example**: `True`
- **Output Example**: `True`

7. **MultiSelect**
------------------
- **Description**: Handles the selection of multiple options from a list.Please take a look at args for 'item' of type MultiSelect.Input is the list of keys of the options to be selected,\noutput is the list of values of the options selected.
- **Input Example**: `[0, 2]`
- **Output Example**: `["apple", "cherry"]` 

8. **Phone**
------------
- **Description**: Processes phone number data.
- **Input Example**: `"+1-123-456-7890"`
- **Output Example**: `"+1-123-456-7890"`

9. **Email**
------------
- **Description**: Manages email address information.
- **Input Example**: `"user@example.com"`
- **Output Example**: `"user@example.com"`

10. **User**
------------
- **Description**: Validates and saves expent user-related data.
- **Input Example**: `[76]`
- **Output Example**: `{
                "type": "USER",
                "id": "76",
                "name": "Barry Allen",
                "email": "hsalf@speed.com",
            },` 

11. **Team**
-----------
- **Description**: Validates and saves expent team-related data.
- **Input Example**: `[33]`
- **Output Example**: `"{"type": "TEAM", "id": "32", "name": "Avengers", "email": None}"` 

12. **Number**
--------------
- **Description**: Manages numerical values.
- **Input Example**: `42`
- **Output Example**: `42`

13. **File**
-----------
- **Description**: Processes file data.
- **Input Example**: `{"filename": "document.txt", "filetype": "txt", "url": "http://example.com/document.txt"}`
- **Output Example**: `"document.txt (txt) - [Link](http://example.com/document.txt)"`

14. **Url**
-----------
- **Description**: Manages web URLs.
- **Input Example**: `"http://example.com"`
- **Output Example**: `"http://example.com"`

15. **Currency**
----------------
- **Description**: Processes currency data.
- **Input Example**: `{"amount": 100, "currency": "USD"}`
- **Output Example**: `"100 USD"`


Note: The exact nature of input and output may vary based on specific system requirements and configurations.

## Headers

- `authorization` string, required — The authorization token can be retrieved by calling the OAuth authentication API. The value for this header parameter follows the format "Bearer &nbsp;&nbsp; `access_token`" (excluding the quotes). For example: <br /> `Bearer MZA1YJMYZDKTZTFMMI0ZYZG1LTLMMDGTYTG4NJG2YZC3NJGY`

## Request body

- CreateDocument
  - `document_subtype` string, required
  - `folder` union
    - CreateFolder
      - `name` string, required
      - `parent_folder` union
        - CreateFolder — recursive
        - string
    - string
  - `entity` string, required
  - `files` object[]
  - `owners` string[]
  - `collaborators` DocumentColloboratorInput[]
    - `type` 'USER' | 'TEAM' — An enumeration.
    - `id` string, required
    - `role` 'READ' | 'WRITE' — An enumeration.
  - `name` string, required
  - `start_date` string
  - `end_date` string
  - `status` integer
  - `parse` boolean
  - `renewal_date` string
  - `renewal_status` integer
  - `project_id` string
  - `discrepencies` integer
  - `missing_clauses_count` integer
  - `partial_compliance_count` integer
  - `is_contract` boolean, required
  - `risk_severity` object

## Response `201`

Successful Response

- DocumentResponse
  - `id` string, required
  - `document_subtype` DocumentSubTypeResponse, required
    - `id` string, required
    - `name` string, required
    - `description` string
    - `type` 'License Agreement' | 'Beta Test Agreement' | 'Proof of Concept Agreement' | 'Statement of Work' | 'Service Level Agreement' | 'Master Service Agreement' | 'Non-Disclosure Agreement (NDA)' | 'Maintenance and Support Agreement (MSA)' | 'Software Development Agreement (SDA)' | 'End User License Agreement (EULA)' | 'Purchase Order' | 'Invoice' | 'Custom' | 'Custom Document' | 'Contract' | 'Service Organization Control 2 (SOC 2)', required — An enumeration.
    - `slug` string, required
    - `page` union, required
      - string
      - PageResponse
        - `id` string, required
        - `slug` string, required
        - `name` string, required
        - `sections` SectionResponse[], required
          - `id` string, required
          - `name` string, required
          - `table` TableResponse
            - `id` string, required
            - `slug` string, required
            - `type` 'TABLE' | 'TASK', required — An enumeration.
            - `page_size` integer
            - `entity_type` EntityTypeResponse, required
              - …
          - `sequence` integer, required
          - `is_hidden` boolean
          - `created_at` string, date-time, required
          - `updated_at` string, date-time, required
          - `fields` FieldResponse[]
            - `id` string
            - `name` string, required
            - `item_slug` string
            - `is_table` boolean
            - `item_type` 'OBJECTID' | 'TEXT' | 'RICHTEXT' | 'HIGHLIGHTEXT' | 'DATEDELTA' | 'DATE' | 'SINGLESELECT' | 'BINARY' | 'MULTISELECT' | 'PHONE' | 'EMAIL' | 'USER' | 'TEAM' | 'NUMBER' | 'FILE' | 'URL' | 'CURRENCY' | 'ACTION' | 'TABLE' | 'CATEGORIES' | 'ENTITYRELATION' | 'TAGS' | 'PICKLISTSELECT' | 'IDENTITY' | 'IDENTITYLIST' | 'CLAUSE' | 'RISKSEVERITY' | 'DASHBOARD' | 'TABLE_LOOKUP' | 'ENTITY_REFERENCE' | 'CHILD_ENTITY' | 'DOCUMENT_SUBTYPE' — An enumeration.
            - `item_args` object
            - `description` string
            - `generate_ai_summary` boolean
            - `is_hidden` boolean
            - `is_summary` boolean
            - `item` ItemResponse, required
              - …
            - `position` CreatePosition, required
              - …
        - `sequence` integer, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `is_hidden` boolean, required
    - `is_contract` boolean, required
    - `updated_at` string, date-time, required
  - `folder` FolderResponse
    - `id` string, required
    - `name` string, required
    - `parent_folder` FolderResponse — recursive
  - `entity` ServicesAppcatalogSchemaEntityEntityResponse, required
    - `id` string, required
    - `name` string, required
    - `logo` string
    - `slug` string, required
    - `entity_type` EntityTypeResponse, required
      - `slug` string, required
      - `name` string, required
      - `is_catalog` boolean, required
      - `is_hidden` boolean, required
    - `vendor_managers` CollaboratorResponse[]
      - `id` string, required
      - `auth_role` string
      - `type` 'USER' | 'TEAM' | 'ROLE', required — An enumeration.
      - `name` string
      - `email` string
      - `access_modes` AccessType[]
  - `files` object[], required
  - `owners` object[], required
  - `collaborators` DocumentColloboratorResponse[]
    - `type` 'USER' | 'TEAM' — An enumeration.
    - `data` union
      - SharedSchemaUserResponse
        - `id` string, required
        - `name` string, required
        - `email` string, required
      - SharedSchemaTeamResponse
        - `id` string, required
        - `name` string, required
    - `role` 'READ' | 'WRITE' — An enumeration.
  - `name` string
  - `start_date` string, date-time
  - `end_date` string, date-time
  - `status` object, required
  - `renewal_date` string, date-time
  - `renewal_status` object
  - `project_id` string
  - `source_project_id` string
  - `discrepencies` integer
  - `missing_clauses_count` integer
  - `partial_compliance_count` integer
  - `is_contract` boolean, required
  - `risk_severity` object
  - `role` 'READ' | 'WRITE' — An enumeration.
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/expent/apis/expent-apis.md) · [All operations](https://skmtc.dev/expent/apis/expent-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/expent/expent-apis/revisions/ce1d50af5e2c/schema)
