Create Contract with Values for Document Fields

Purpose

To create a contract with values for document fields.

Request Details

Request URL

https://contracts.zoho.com/api/v1/createcontract

Authorization

Authorization: Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6

Scope

contracts.contracts.CREATE, contracts.contracts.ALL, ZohoWriter.documentEditor.ALL

Possible Operation Types

ALL - Full access to contract details
CREATE - Create Contract

Sample Request

Copiedcurl "https://contracts.zoho.com/api/v1/createcontract
-X POST
-H "Authorization: Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6"

Input JSON Keys

Refer to Create Contract API to view the corresponding Input JSON Keys and to know the related details. The inputs for document fields follow the same pattern as that of the form fields. You must set the ZohoWriter.documentEditor.ALL scope if the contract type template is an uploaded one. 

Refer to the bottom of the sample input for a few document field inputs. Instead of the source key, you should set the externalSource key as true. Also, for the custom date fields in the document, you have to pass their value in the timestamp in milliseconds format. For example, the date and time 2022-12-31 23:59:59 in timestamp milliseconds format is 1672531199000.

Sample Input

Copied{
"externalSource": true,
"inputfields": [
     {
         "metaApiName": "contract-type",
         "inputs":[
            {
               "inputApiName": "contract-type",
               "inputValue": "service-level-agreement"
            }
         ]
      },
     {
         "metaApiName":"title",
         "inputs":[
            {
               "inputApiName":"title",
               "inputValue":"SLA with Zylker"
            }
         ]
      },
     {
         "metaApiName":"description",
         "inputs":[
            {
               "inputApiName":"description",
               "inputValue":"SLA with Zylker to agree on the service quality and responsibilities."
            }
         ]
      },
      {
         "metaApiName":"requester-name",
         "inputs":[
            {
               "inputApiName":"requester-name",
               "inputValue":"Kevin Smith"
            }
         ]
      },
      {
         "metaApiName":"requester-department",
         "inputs":[
            {
               "inputApiName":"requester-department",
               "inputValue":"accounts"
            }
         ]
      },
     {
         "metaApiName":"party-b-name",
         "inputs":[
            {
               "inputApiName":"party-b-name",
               "inputValue":"laura-holmes"
            }
         ]
      },
      {
         "metaApiName":"counterparty-primary-contact",
         "inputs":[
            {
               "inputApiName":"party-b-primary-contact-name",
               "inputValue":"laura.holmes@zylker.com"
            }
         ]
      },
      {
         "metaApiName":"contract-term",
         "inputs":[
            {
               "inputApiName":"contract-term",
               "inputValue":true
            }
         ]
      },
      {
         "metaApiName":"contract-effective-date",
         "inputs":[
            {
               "inputApiName":"contract-effective-date",
               "inputValue":0
            },
            {
               "inputApiName":"effective-specific-date",
               "inputValue":"15/12/2021"
            }
         ]
      },
      {
         "metaApiName":"contract-end-date",
         "inputs":[
            {
               "inputApiName":"contract-end-date",
               "inputValue":3
            },
            {
               "inputApiName":"n-monthsyears-value",
               "inputValue":2
            },
            {
               "inputApiName":"n-monthsyears-term",
               "inputValue":0
            }
         ]
      },
      {
         "metaApiName":"termination-notice-period",
         "inputs":[
            {
               "inputApiName":"termination-notice-period",
               "inputValue":20
            }
         ]
      },
      {
         "metaApiName":"is-renewable",
         "inputs":[
            {
               "inputApiName":"is-renewable",
               "inputValue":true
            }
         ]
      },

      {
         "metaApiName":"renewal-type",
         "inputs":[
            {
               "inputApiName":"renewal-type",
               "inputValue":0
            }
         ]
      },
      {
         "metaApiName":"notice-period-before-expiration",
         "inputs":[
            {
               "inputApiName":"notice-period-before-expiration",
               "inputValue":5
            }
         ]
      },
      {
         "metaApiName":"send-expiration-reminder",
         "inputs":[
            {
               "inputApiName":"send-expiration-reminder",
               "inputValue":15
            }
         ]
      },
      {
         "metaApiName":"amount",
         "inputs":[
            {
               "inputApiName":"amount",
               "inputValue":1200
            }
         ]
      },
      {
         "metaApiName":"tax",
         "inputs":[
            {
               "inputApiName":"tax",
               "inputValue":0
            }
         ]
      }
{
         "metaApiName":"sla-target",
         "inputs":[
            {
               "inputApiName":"sla-target",
               "inputValue": 99.99
            }
         ]
      }
{
         "metaApiName":"initial-response-time",
         "inputs":[
            {
               "inputApiName":"initial-response-time",
               "inputValue": 24
            }
         ]
      }
   ],
"clauseOverrides": [
    { 
        "apiName": "late-payments",
        "alternatives": [
{ 
            "apiName": "Rig15496356725421254",
                "action": 1   
}
        ]
    },
 { 
        "apiName": "management", 
        "action": 0    
    }
]
}

Response JSON Keys

Refer to Get Contract API to view the corresponding Response JSON Keys section to know the details.

Possible Errors

INVALID_URL_PATTERNHTTP 404

Request URL is incorrect

Resolution: Specify a valid request URL. Refer to the Request URL section above.

OAUTH_SCOPE_MISMATCHHTTP 401

Unauthorized

Resolution: Client does not have contracts.contracts.CREATE scope. Create a new client with valid scope. Refer to the Scope section above.

NO_PERMISSIONHTTP 403

Permission denied to read

Resolution: The user does not have permission to create records. Contact your organization administrator.

INTERNAL_ERRORHTTP 500

Internal Server Error

Resolution: Unexpected and unhandled exception in the server.

INVALID_REQUEST_METHODHTTP 400

The HTTP request method is not a valid one.

Resolution: You have specified an invalid HTTP method to access the API URL. Specify a valid request method. Refer to the Endpoints section above.

AUTHORIZATION_FAILEDHTTP 400

The user does not have sufficient privilege to create module details.

Resolution: The user does not have permission to create module details. Contact your organization administrator.

Sample Response

Copied{
  "contracts": [
    {
      "owner": {
        "displayName": “Smith Jones”,
        "emailId": “smith.jones@zylker.com”,
        "id": 596000000183025
      },
      "modifiedTime": “Dec 15, 2021 04:26 PM”,
      "apiName": “sla-with-zylker”,
      "endIn": 1,
      "endInType": 0,
      "resourceId": “9a57560bbf7b48628acdc2fe41317ee0”,
      "contractType": {
        "apiName": “sla”,
        "name": “SLA”,
      },
      "description": “SLA with Zylker to agree on the service quality and responsibilities.”,
      "amendments": [
        {
          "number": 4,
          "modifiedTime": “Dec 15, 2021 04:26 PM”,
          "isCurrent": false,
          "stage": {
            "apiName": “active”,
            "name": “Active”,
          },
          "systemStatus": 6,
          "latestCycleNumber": 1,
          "id": “596000000415223”,
          "type": 1,
          "startOption": 0,
          "endOption": 0,
          "docSource": 3
        }
      ],
      "source": 2,
      "isActive": 1,
      "partyA": 0,
      "isRenewable": true,
      "renewalType": 0,
      "expirationNoticePeriod": 1,
      "expirationReminderPeriod": 2,
      "terminationNoticePeriod": 12,
      "intent": 1,
      "amount": 1200,
      "currency": 65
      "taxOption": 0,
      "resourceUrl": String,
      "requesterName": “Kevin Smith”,
      "primaryContact": {
        "displayName": "Laura Holmes",
        "emailId": "laura.holmes@zylker.com",
        "id": “200989”
      },
      "contractTerm": true,
      "systemStatus": 1,
      "partyB": 1,
      "contractId": “596000000413741”,
      "name": “SLA with Zylker”,
      "sla-target": "99.99",
      "initial-response-time": "24"
      "counterParty": {
        "organizationApiName": “zylker”,
        "name": “Zylker”
      },
      "requesterDepartment": {
        "apiName": “accounts”,
        "name": “Accounts”
      }
    }
  ]
}