Updates a contract.

🚧

Warning

The HTTP PUT method updates your existing contract data. Any fields not included in the request body will be updated to null.

The contract_type field cannot be updated.

Endpoint URL

https://dashboard-api.revnue.com/api/v2/contract

Authentication and rate limits

Item

Details

Authentication method

OAuth 2.0 Bearer token

Rate limit

Rate Limit

Requests Example

curl --request PUT \
  --url 'https://dashboard-api.revnue.com/api/v2/contract/$id \
  --header 'Authorization: Bearer $BEARER_TOKEN' \
  --header 'Content-Type: application/json' \
  --data-raw '$JSON'

Request Syntax

{
    "company": integer,
    "name": "string",
    "number": "string",
    "customer": integer,
    "supplier": integer,
    "country": integer,
    "status": "active" | "archived",
    "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": 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"
            }, 
        ]
    }
}

Query Parameters

  • id (integer) --

    [REQUIRED] The ID of the contract.
    The id parameter is passed as part of the request url /contract/$id.
    To lookup a specific contract ID, see the List Contract API.

  • 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.

  • name (string) --

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

  • number (string) --

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

  • 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

Response Syntax

{
  "id": integer,
  "contract_type": "buy_side"|"sell_side",
  "name": "string",
  "number": "string",
  "customer": {
    "id": integer,
    "name": "string"
  },
  "supplier": {
    "id": integer,
    "name": "string"
  },
  "country": "string",
  "status": "active" | "archived",
  "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,
  "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": ["email", ...] 
  },
  "template":{
    "id": integer,
    "fields":{
         key: value,...
    }
  }
}

Response Fields

  • id (integer) --

    The ID of the contract.

  • contract_type (string) --

    The type of the contract.

  • name (string) --

    The name of the contract.

  • number (string) --

    The number of the contract.

  • customer (dict) --

    The description of the customer properties.

    • id (integer) --

      The ID of the customer.

    • name (string) --

      The name of the customer.

  • supplier (dict) --

    The description of the supplier properties.

    • id (integer) --

      The ID of the supplier.

    • name (string) --

      The name of the supplier.

  • country (string) --

    The country associated to the contract.

  • status (string) --

    The status of the contract.

  • category (dict) --

    The description of the category properties.

    • id (integer) --

      The ID of the category.

    • name (string) --

      The name of the category.

    • subcategory (string) --

      The name of the subcategory.

  • description (string) --

    The description of the contract.

  • business_unit (dict) --

    The description of the business unit properties.

    • id (integer) --

      The ID of the business unit.

    • name (string) --

      The name of the business unit.

    • contact_name (string) --

      The contact name of the business unit.

    • contact_email (string) --

      The contact email of the business unit.

    • contact_phone_number (string) --

      The contact phone number of the business unit.

  • contract_start_date (string) --

    The start date of the contract.

  • contract_end_date (string) --

    The end date of the contract.

  • notice_period (integer) --

    The notice period (in days) of the contract.

  • service_start_date (string) --

    The service start date of the contract.

  • end_of_term_clause (string) --

    The end of term clause of the contract.

  • end_of_term_action (string) --

    The end of term action of the contract.

  • timeline_notes (string) --

    The timeline notes of the contract.

  • total_contract_spend_value (decimal) --

    The total contract spend or value of the contract.

  • mrc (decimal) --

    The monthly recurring cost (MRC) of the contract.

  • nrc (decimal) --

    The non recurring cost (NRC) of the contract.

  • expenditure_type (dict) --

    The description of the expenditure type properties.

    • type (string) --

      The expenditure type of the contract.

    • capex_actual (decimal) --

      The capital expenditure (CapEx) value of the contract. Only returned for blended expenditure type.

    • opex_actual (decimal) --

      The operating expense (OpEx) value of the contract. Only returned for blended expenditure type.

    • capex_percent (decimal) --

      The capital expenditures (CapEx) of the contract, expressed as a percentage of total value. Only returned for blended expenditure type.

    • opex_percent (decimal) --

      The operating expenses (OpEx) of the contract, expressed as a percentage of total value. Only returned for blended expenditure type.

  • payment_terms (string) --

    The payment terms of the contract.

  • financing (string) --

    The financing of the contract.

  • financial_notes (string) --

    The financial notes of the contract.

  • alert (dict) --

    The description of the contract alert properties.

    • is_active (boolean) --

      The active status of the contract alert.

    • alert_days_before (integer) --

      The number of days to alert before the contract event type.

    • type (string) --

      The contract event type of the alert.

    • email_message (string) --

      The custom email message of the alert.

    • email_list (list) --

      The email recipients list of the alert.

  • template (dict) --

    The description of the custom field properties.

    • id (integer) --

      The ID of the custom field template.

    • fields (dict) --

      The custom fields and their values as defined in the custom field template. The data type of each custom field value varies depending on its definition.