Provides documentation and guidance on how to upload a contract using the LawVu API
This guide explains how to create a new contract using the LawVu API. There are two main approaches:
File Creation: For all contract types, you must first upload a contract document and provide its ID when creating the contract.
Wizard Creation: For contract types which support a wizard (document template), you can create a contract without uploading a document.
For more details on contract wizards, refer to the Contract wizard help page.
Before creating a contract, you need to determine which contract type to use.
You can retrieve a list of all available contract types for your organization using the /v2/contractTypes
endpoint.
Request:
GET /v2/contractTypes
Authorization: Bearer <your_access_token>
Response:
{
"items": [
{
"id": 1234,
"name": "Contractor Agreement",
"hasWizard": false,
"teamAssignmentRequired": true,
"parent": {
"id": 5002,
"name": "Employment"
}
},
{
"id": 5678,
"name": "NDA",
"hasWizard": true,
"teamAssignmentRequired": false,
"parent": null
}
]
}
Use the hasWizard
property to determine which creation method to use:
hasWizard: false
- Use File Creation (upload document first)hasWizard: true
- Use Wizard Creation (no document required) or File Creation (upload document first)
For more details, refer to the Contract Types API documentation and Contract types and groups help page
For contract types that do not support a wizard, you need to upload a contract document first.
Steps:
Upload Contract Document For more details, refer to the Files guide for Contract creation or the Files API documentation
Request:
POST /v2/files Authorization: Bearer <your_access_token> Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="file"; filename="contract.pdf" Content-Type: application/pdf <Binary file contents> ------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="targetResourceType" ContractCreation ------WebKitFormBoundary7MA4YWxkTrZu0gW--
Response:
{ "id": 9456 // The file ID }
Create Contract Using File
After uploading the document, use the selected Contract Type ID and the ID of the created file to create the contract:POST /v2/contracts Authorization: Bearer <your_access_token> Content-Type: application/json { "type": { "id": 1234 }, "name": "Service Agreement", "document": { "id": 9456 }, "fields": { "my_text_field": "my text value", "my_option_field": { "value": "option_1" } } }
Response:
{ "id": 789 // The contract ID }
Some contract types have a wizard (document template), allowing you to create a contract without providing a document.
Steps:
Create contract using wizard
For contract types withhasWizard: true
, use the following request to create a contract. The field values provided may be used by the wizard to populate the document:POST /v2/contracts Authorization: Bearer <your_access_token> Content-Type: application/json { "type": { "id": 5678 }, "name": "NDA", "fields": { "my_text_field": "my text value", "my_option_field": { "value": "option_1" } } }
Response:
{ "id": 123 // The contract ID }
For more details, refer to the Create Contract API documentation.