Creates a contract.

Endpoint URL

https://{{base_url}}/api/v2/contract

Authentication and rate limits

ItemDetails
Authentication methodOAuth 2.0 Bearer token
Rate limitRate Limit

Requests Example

curl --request POST \
  --url 'https://{{base_url}}/api/v2/contract \
  --header 'Authorization: Bearer $BEARER_TOKEN' \
  --header 'Content-Type: application/json' \
  --data-raw '$JSON'

Request Syntax

{
    "company": integer,
    "contract_type": "buy_side"|"sell_side",
    "name": "string",
    "number": "string",
    "parent_contract":integer,
    "first_offer_value":decimal,
    "cost_avoidance_value":decimal,
    "contract_risk_value":decimal,
    "customer": integer,
    "supplier": integer,
    "country": integer,
    "status": "active" | "archived"| "cancelled" | "draft"| "expired" | "suspended"| "terminated",
    "category": {
        "id": integer,
        "subcategory": "string"
    },
    "description": "string",
    "business_unit": integer,
    "contract_start_date": "string",
    "contract_end_date": "string",
    "notice_period": integer,
    "service_start_date": "string",
    "end_of_term_clause": "auto_expires" | "auto_renewed",
    "end_of_term_action": "allow_auto_renew" | "allow_expiration" | "disallow_auto_renew" | "renegotiate",
    "timeline_notes": "string",
    "total_contract_spend_value": decimal,
    "mrc": decimal,
    "nrc": decimal,
    "expenditure_type":
    {
        "type": "blended" | "capex" | "opex",
        "capex_actual": decimal,
        "opex_actual": decimal
    },
    "payment_terms": "custom" | "net_30" | "net_45" | "net_60",
    "financing": "custom" | "financed" | "leased" | "self_paid",
    "financial_notes": "string",
    "template": {
        "id": integer,
        "fields": [
            {
                "id": integer,
                "value": decimal | integer | "string"
            }, 
        ]
    },
   "form_template": [
        {
            "id": integer,
            "custom_form_data":{
                        "field_name1": decimal | integer | "string",
                        "field_name2": decimal | integer | "string"
            }

        }
    ],
    "approver": "string",
    "signer": "string",
    "signed_date": "string"
}

Body Parameters

  • company (integer) --

    [REQUIRED]
    The ID of the specific company your API is calling. For accounts with only one company, the default value is 1.
    To lookup a specific company ID, see the List Company API.

  • contract_type (string) --

    [REQUIRED]
    The type of the contract.
    Options: buy_side | sell_side

  • name (string) --

    [REQUIRED]
    The name of the contract.
    Max characters = 50

  • number (string) --

    [REQUIRED]
    The number of the contract.
    Max characters = 50

  • parent_contract (integer) --

    The ID of the parent contract.

  • first_offer_value (decimal) --

    The first offer value of the contract.
    Min value = 0.00
    Max value = 999999999999999.00

  • cost_avoidance_value (decimal) --

    The cost avoidance value of the contract.
    Min value = 0.00
    Max value = 999999999999999.00

  • contract_risk_value (decimal) --

    The contract risk value of the contract.
    Min value = 0.00
    Max value = 999999999999999.00

  • customer (integer) --

    [REQUIRED if contract type is sell-side]
    The ID of the customer.
    To lookup a specific customer ID, see the List Customer API.

  • supplier (integer) --

    [REQUIRED if contract type is buy-side]
    The ID of the supplier.
    To lookup a specific supplier ID, see the List Supplier API.

  • country (integer) --

    [REQUIRED]
    The numeric code of the country.
    To lookup a specific country numeric code, see the List Country API.

  • status (string) --

    [REQUIRED]
    The status of the contract.
    Options: active | archived

  • category (dict) --
    • id (integer) --

      [REQUIRED]
      The ID of the category.
      To lookup a specific category ID, see the List Category API.

    • subcategory (string) --

      The name of the subcategory.
      To lookup a specific subcategory, see the List Category API.

  • description (string) --

    The description of the contract.
    Max characters = 1000

  • business_unit (integer) --

    The ID of the business unit.
    To lookup a specific business unit ID, see the List Business Unit API.

  • contract_start_date (string) --

    [REQUIRED]
    The start date of the contract.
    Format = yyyy-MM-dd
    The contract start date must be before the contract end date.

  • contract_end_date (string) --

    [REQUIRED]
    The end date of the contract.
    Format = yyyy-MM-dd
    The contract start date must be before the contract end date.

  • notice_period (integer) --

    The notice period (in days) of the contract.
    The notice period must be less than duration of contract.

  • service_start_date (string) --

    The service start date of the contract.
    Format = yyyy-MM-dd
    The service start date must be equal to or after the contract start date and before the contract end date.

  • end_of_term_clause (string) --

    The end of term clause of the contract.
    Options: auto_expires | auto_renewed

  • end_of_term_action (string) --

    The end of term action of the contract.
    Options: allow_auto_renew | allow_expiration | disallow_auto_renew | renegotiate

  • timeline_notes (string) --

    The timeline notes of the contract.
    Max characters = 1000

  • total_contract_spend_value (decimal) --

    [REQUIRED]
    The total contract spend or value of the contract.
    Min value = 0.00
    Max value = 999999999999999.00

  • mrc (decimal) --

    The monthly recurring cost (MRC) of the contract.
    Min value = 0.00
    Max value = 999999999999999.00

  • nrc (decimal) --

    The non recurring cost (NRC) of the contract.
    Min value = 0.00
    Max value = 999999999999999.00
    The non recurring cost cannot be greater than the total contract spend.

  • expenditure_type (dict) --
    • type (string) --

      The expenditure type of the contract.
      Options: blended | capex | opex

    • capex_actual (decimal) --

      [REQUIRED] for blended expenditure type
      The capital expenditure (CapEx) value of the contract.
      Min value = 0.00
      Max value = 999999999999999.00
      The sum of the capital expenditure value and the operating expense value must equal the total contract spend.

    • opex_actual (decimal) --

      [REQUIRED] for blended expenditure type
      The operating expense (OpEx) value of the contract.
      Min value = 0.00
      Max value = 999999999999999.00
      The sum of the capital expenditure value and the operating expense value must equal the total contract spend.

  • payment_terms (string) --

    The payment terms of the contract.
    Options: custom | net_30 | net_45 | net_60

  • financing (string) --

    The financing of the contract.
    Options: custom | financed | leased | self_paid

  • financial_notes (string) --

    The financial notes of the contract.
    Max characters = 1000

  • template (dict) --
    • id (integer) --

      The ID of the custom field template.
      To lookup a specific custom field template ID, see the List Custom Field Template API.

    • fields (dict) --
      • id (integer) --

        The ID of the custom field.
        To lookup a specific field ID, see the List Custom Field Template API.

      • value (decimal | integer | string) --

        The value of the custom field.

        • If the value data-type is money (decimal) --

          Min value = 0.00
          Max value = 999999999999999.00

        • If the value data-type is number (integer) --

          Min value = -999999999999999
          Max value = 999999999999999

        • If the value data-type is date (string) --

          Format = yyyy-MM-dd

        • If the value data-type is text (string) --

          Max characters = 50

  • approver (string) --

    The approver of the contract.
    Max characters = 50

  • signer (string) --

    The signer of the contract.
    Max characters = 50

  • signed_date (string) --

    The signed date of the contract.
    Max characters = 50

Response Syntax

{
  "id": integer,
  "contract_type": "buy_side"|"sell_side",
  "name": "string",
  "number": "string",
  "parent_contract": {
    "id": id,
    "number": "string"
   },
  "customer": {
    "id": integer,
    "name": "string"
  },
  "supplier": {
    "id": integer,
    "name": "string"
  },
  "country": "string",
  "status": "active" | "archived"|"cancelled"|"draft"|"expired"|"suspended"|"terminated",
  "category": {
   		"id": integer,
   		"name": "string",
 			"subcategory": "string"
 							 },
  "description": "string",
  "business_unit": {
    "id": integer,
    "name": "string",
    "contact_name": "string",
    "contact_email": "string",
    "contact_phone_number": "string"
  },
  "contract_start_date": "string",
  "contract_end_date": "string",
  "notice_period": integer,
  "service_start_date": "string",
  "end_of_term_clause": "auto_expires" | "auto_renewed",
  "end_of_term_action": "allow_auto_renew" | "allow_expiration" | "disallow_auto_renew" | "renegotiate",
  "timeline_notes": "string",
  "total_contract_spend_value": decimal,
  "first_offer_value": decimal,
  "cost_avoidance_value": decimal,
  "contract_risk_value": decimal,
  "mrc": decimal,
  "nrc": decimal,
  "expenditure_type": {
    "type": "blended" | "capex" | "opex",
    "capex_actual": decimal,
    "opex_actual": decimal,
    "capex_percent": decimal,
    "opex_percent": decimal
  },
  "payment_terms": "custom" | "net_30" | "net_45" | "net_60",
  "financing": "custom" | "financed" | "leased" | "self_paid",
  "financial_notes": "string",
  "alert": {
    "is_active": true | false,
    "alert_days_before": integer,
    "type": "end_date" | "notice_date",
    "email_message": "string",
    "email_list": ["email1","email2"...]
                    },
  "modified_date":"string",
  "template":{
    "id": integer,
    "fields":{
         key: value,...
    }
  },
  "custom_form":[
        {
            "id":integer,
            "custom_form_data":{
                "fielnd_name1": decimal | integer | "string",
                "fielnd_name2": decimal | integer | "string"
            },
            "parent_row_id":integer,
            "seq_no": integer
        }
    ],
  "approver": "string",
  "signer": "string",
  "signed_date": "string"
}