Create Obligation
Purpose
To create an obligation in a contract.
Request Details
Request URL
https://contracts.zoho.com/api/v1/contracts/{contractApiName}/obligations
Authorization
Authorization: Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6
Scope
contracts.contracts.CREATE, contracts.contracts.ALL
Possible Operation Types
ALL - Full access to obligations
CREATE - Create obligation
Sample Request
Copiedcurl "https://contracts.zoho.com/api/v1/contracts/NDA/obligations"
-X POST
-H "Authorization: Zoho-oauthtoken 1000.67013ab3960787bcf3affae67e649fc0.83a789c859e040bf11e7d05f9c8b5ef6"
Input JSON Keys
- namestring
Represents the name of the obligation.
- descriptionstring
Represents the obligation description.
- categoryJSON Object
Represents the category the obligation falls under.
- priorityinteger
Represents the priority of the obligation.
Value Description 0 Low 1 Medium 2 High
- hasTaskboolean
Represents whether the obligation is a task or not.
Value Description True The obligation is a task. False The obligation is not a task.
- taskOwnersJSON Object
Represents the ID of the obligation's owner.
- recurringJSON Array
Represents whether the obligation task is of a recurring type.
- startsOninteger
Represents whether the start date of the recurring obligation's first instance is on a specific date or on the contract effective date.
Value Description 1 Specific Date 2 On Effective Date
- startDatestring
Represents the start date in javascript milliseconds format.
- dueOnTerminationboolean
Represents whether the recurring obligation ends with contract expiry or termination.
Value Description True The recurring obligation ends with contract expiry or termination. False The recurring obligation does not end with contract expiry or termination.
- timePeriodinteger
Represents whether the obligation's recurring task instance's due is by days, week, month, or year.
Value Description 0 Days 1 Weeks 2 Months 3 Years
- frequencyinteger
Represents whether the obligation's recurring task instance's due is by N days, weeks, months, or years based on the given timePeriod.
- daysnumber
Represents the day in which the recurring task has to be repeated when timePeriod is days.
- weeksnumber
Represents the day of the week in which the recurring task has to be repeated when timePeriod is weeks. It applies only when the frequency value is 2 and above.
Value Description 0 to 6 Sunday to Monday 7 First Day 8 Last Day
- monthsnumber
Represents the day of the month in which the recurring task has to be repeated when timePeriod is months. It applies only when the frequency value is 2 and above.
Value Description 0 to 6 Sunday to Monday 7 First Day 8 Second Day 9 Third Day 10 Fourth Day 11 Last 1 to 28 1st to 28th 29 Last Day 30 One day before the last day. 31 Two days before the last day.
- yearsnumber
Represents the day/month of the year in which the recurring task has to be repeated when timePeriod is years. It applies only when the frequency value is 2 and above.
Value Description 0 to 6 Sunday to Monday 7 First Day 8 Second Day 9 Third Day 10 Fourth Day 11 Last 1 to 28 1st to 28th 29 Last Day 30 One day before the last day. 31 Two days before the last day. 0 to 11 January to December
Sample Input
Copied{
"name": String,
"description": String,
"category": String,(Obligation apiName)
"priority": Number,
"hasTask": Boolean,
"taskOwners": [
Long (User id)
],
"recurring": {
"startsOn": Number,
"startDate": String,
"dueOnTermination": Boolean,
"timePeriod": Number,
"frequency": Number,
"days": Number,
"weeks": [
Number
]
}
}
Response JSON Keys
- modifiedTimestring
Represents the time of modification.
- apiNamestring
Represents the name of the obligation in the API.
- taskOwnersJSON Object
Represents the details of the obligation task owner.
- instancesJSON Array
Represents details of each instance of a recurring obligation.
- sequenceNumberinteger
Represents the ordinal number of an instance of a recurring obligation.
- isOverDueboolean
Represents whether the obligation task is overdue or not.
Value Description True The obligation task is overdue. False The obligation task is not overdue.
- isCurrentboolean
Represents whether the obligation is currently being worked on or not.
Value Description True The obligation is currently being worked on. False The obligation is not currently being worked on.
- assignedByJSON Object
Represents the details of the person who assigned the obligation.
- dueOnstring
Represents the due date of the obligation task.
- idstring
Represents the ID of the particular obligation task instance.
- actionsJSON Object
Represents the history of status changes of each instance in an obligation.
- createdOnstring
Represents the date on which the obligation is created.
- usersJSON Object
Represents the task owners of the obligation.
- statusinteger
Represents the current status of the instance.
Value Description 11 Not Started 12 In Progress 14 Completed
- recurringJSON Array
Represents the obligation task type.
- dueOnTerminationboolean
Represents whether the recurring obligation ends with contract expiry or termination.
Value Description True The recurring obligation ends with contract expiry or termination. False The recurring obligation does not end with contract expiry or termination.
- timePeriodinteger
Represents whether the obligation's recurring task instance's due is by days, week, month, or year.
Value Description 0 Days 1 Weeks 2 Months 3 Years
- daysnumber
Represents the day in which the recurring task has to be repeated when timePeriod is days.
- weeksnumber
Represents the day of the week in which the recurring task has to be repeated when timePeriod is weeks. It applies only when the frequency value is 2 and above.
Value Description 0 to 6 Sunday to Monday 7 First Day 8 Last Day
- monthsnumber
Represents the day of the month in which the recurring task has to be repeated when timePeriod is months. It applies only when the frequency value is 2 and above.
Value Description 0 to 6 Sunday to Monday 7 First Day 8 Second Day 9 Third Day 10 Fourth Day 11 Last 1 to 28 1st to 28th 29 Last Day 30 One day before the last day. 31 Two days before the last day.
- yearsnumber
Represents the day/month of the year in which the recurring task has to be repeated when timePeriod is years. It applies only when the frequency value is 2 and above.
Value Description 0 to 6 Sunday to Monday 7 First Day 8 Second Day 9 Third Day 10 Fourth Day 11 Last 1 to 28 1st to 28th 29 Last Day 30 One day before the last day. 31 Two days before the last day. 0 to 11 January to December
- startDateStringstring
Represents the start date in dd/mm/yyyy format which gets returned when retrieving the obligation information.
- startsOninteger
Represents whether the start date of the obligation task instance is of a specific date or equal to the contract effective date.
Value Description 1 Specific Date 2 On Effective Date
- startDatestring
Represents the start date in javascript milliseconds format which gets passed when creating an obligation.
- frequencyinteger
Represents whether the obligation's recurring task instance's due is by N days, weeks, months, or years based on the given timePeriod.
- addedByJSON Object
Represents the user who created the obligation.
- priorityinteger
Represents the priority of the obligation.
Value Description 0 Low 1 Medium 2 High
- hasTaskboolean
Represents whether the obligation is a task or not.
Value Description True The obligation is a task. False The obligation is not a task.
- namestring
Represents the name of the obligation.
- addedTimestring
Represents the time the obligation is added.
- modifiedByJSON Object
Represents the last user who modified the obligation.
- categoryJSON Object
Represents the category the obligation falls under.
- statusinteger
Represents the status of an obligation.
Value Description 0 Deleted 1 Active 13 Paused 14 Completed 16 Yet to start 17 Scheduled
Sample Response
Copied{
"Obligation": [
{
"modifiedTime": String,
"apiName": String,
"taskOwners": [
{
"displayName": String,
"id": String
}
],
"instances": [
{
"sequenceNumber": Integer,
"isOverDue": Boolean,
"isCurrent": Boolean,
"assignedBy": {
"displayName": String,
"id": String
},
"dueOn": String
"id": String,
"actions": [],
"createdOn": String,
"users": [
{
"displayName": String,
"id": String
}
],
"status": Integer
}
],
"recurring": {
"weeks": [ Integer ],
"dueOnTermination": true,
"timePeriod": Integer,
"days": [ Integer ],
"startDateString": String,
"startsOn": Integer,
"startDate": String,
"frequency": Integer
},
"addedBy": {
"displayName": String,
"id": String
},
"priority": Integer,
"hasTask": Boolean,
"name": String,
"addedTime": String,
"modifiedBy": {
"displayName": String,
"id": String
},
"category": {
"apiName": String,
"displayName": String
},
"status": Integer
}
]
}
LEGEND
PRIORITY
LOW - 0
MEDIUM - 1
HIGH - 2
STATUS
DELETED - 0
ACTIVE - 1
PAUSED - 13
COMPLETED - 14
YET TO START - 16
SCHEDULED - 17
INSTANCE_STATUS
NOT_STARTED - 11
IN PROGRESS - 12
COMPLETED - 14
TIME_PERIOD
DAYS - 0
WEEKS - 1
MONTHS - 2
YEARS - 3
STARTS_ON
SPECIFIC DATE - 1
ON EFFECTIVE DATE -2
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 create
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.