Skip to product menu
Skip to main content

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.

    ValueDescription
    0Low
    1Medium
    2High
  • hasTaskboolean

    Represents whether the obligation is a task or not.

    ValueDescription
    TrueThe obligation is a task.
    FalseThe 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.

    ValueDescription
    1Specific Date
    2On Effective Date
  • startDatestring

    Represents the start date in javascript milliseconds format.

  • dueOnTerminationboolean

    Represents whether the recurring obligation ends with contract expiry or termination.

    ValueDescription
    TrueThe recurring obligation ends with contract expiry or termination.
    FalseThe 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.

    ValueDescription
    0Days
    1Weeks
    2Months
    3Years
  • 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.

    ValueDescription
    0 to 6Sunday to Monday
    7First Day
    8Last 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.

    ValueDescription
    0 to 6Sunday to Monday
    First Day
    8Second Day
    9Third Day
    10Fourth Day
    11Last
    1 to 281st to 28th
    29Last Day
    30One day before the last day.
    31Two 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.

    ValueDescription
    0 to 6Sunday to Monday
    First Day
    8Second Day
    9Third Day
    10Fourth Day
    11Last
    1 to 281st to 28th
    29Last Day
    30One day before the last day.
    31Two days before the last day.
    0 to 11January 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.

    ValueDescription
    TrueThe obligation task is overdue.
    FalseThe obligation task is not overdue.
  • isCurrentboolean

    Represents whether the obligation is currently being worked on or not.

    ValueDescription
    TrueThe obligation is currently being worked on.
    FalseThe 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.

    ValueDescription
    11Not Started
    12In Progress
    14Completed
  • recurringJSON Array

    Represents the obligation task type.

  • dueOnTerminationboolean

    Represents whether the recurring obligation ends with contract expiry or termination.

    ValueDescription
    TrueThe recurring obligation ends with contract expiry or termination.
    FalseThe 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.

    ValueDescription
    0Days
    1Weeks
    2Months
    3Years
  • 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.

    ValueDescription
    0 to 6Sunday to Monday
    7First Day
    8Last 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.

    ValueDescription
    0 to 6Sunday to Monday
    First Day
    8Second Day
    9Third Day
    10Fourth Day
    11Last
    1 to 281st to 28th
    29Last Day
    30One day before the last day.
    31Two 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.

    ValueDescription
    0 to 6Sunday to Monday
    First Day
    8Second Day
    9Third Day
    10Fourth Day
    11Last
    1 to 281st to 28th
    29Last Day
    30One day before the last day.
    31Two days before the last day.
    0 to 11January 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.

    ValueDescription
    1Specific Date
    2On 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.

    ValueDescription
    0Low
    1Medium
    2High
  • hasTaskboolean

    Represents whether the obligation is a task or not.

    ValueDescription
    TrueThe obligation is a task.
    FalseThe 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.

    ValueDescription
    0Deleted
    1Active
    13Paused
    14Completed
    16Yet to start
    17Scheduled

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.

 Zoho Contracts Developer Community