• Last edited on: 30 August 2022

Contracts API (/contracts)

Use the contracts API to create, update, or query a contract, including the business groups involved, key dates, the status of the contract, and the financial terms.

Overview

Use the contracts API to create, update, or query a contract, including the business groups involved, key dates, the status of the contract, and the financial terms.

The URL to access contracts is: https://{your_instance_name}/api/contracts

See Integration Best Practices for more info.

Child objects

Actions

Verb Path Action Description
PUT /api/contracts/:id/add_approver add_approver Manually add an approver for a contract
PUT /api/contracts/:id/ccc_signature_created ccc_signature_created Notifies that a signature has been added in CCC.
PUT /api/contracts/:id/complete complete Moves the contract to the completed state.
POST /api/contracts create Create contract
POST /api/contracts/:id/create_published create_published /api/contracts/:id/create_published
GET /api/contracts index Query contracts
POST /api/contracts/:id/legal_agreement legal_agreement Add or update legal legal_agreement file
PUT /api/contracts/:id/legal_agreement legal_agreement Add or update legal legal_agreement file
PUT /api/contracts/:id/remove_approval remove_approval Remove an approver who was manually added
GET /api/contracts/:id/retrieve_legal_agreement retrieve_legal_agreement Get legal legal_agreement file
GET /api/contracts/:id show Show contract
PUT /api/contracts/:id/submit_for_approval submit_for_approval Submits the contract for approval.
PUT /api/contracts/:id update Update contract
PUT /api/contracts/:id/update_published update_published Updates a contract when it's published.*
PUT /api/contracts/:id/withdraw_signatures withdraw_signatures Moves contract to corresponding status after CCC withdraw_signatures.

* Updating Completed or Published contracts (directly, without creating a draft) requires that Enable Contract Hierarchy is turned on in your company's settings (Setup > Company Information). If you do not have CLM Standard you can work with contract revisions.

Elements

Element Description Req'd Unique Allowable Value In Out Data Type
amended-contract-type Amended Contract Type       yes yes string(255)
auto-extend-end-date-for-renewal Automatically update expiry date       yes yes boolean
consent Notice to Consent     notice, consent, not_required, not_assignable yes yes string(255)
content-groups Business Groups       yes yes Business Group
contract-owner Contract owner       yes yes User
contract-terms contract_terms       yes yes Contract Term
contract-type Custom-defined label for categorization no no any yes yes
contract-type-custom-field-1 Contract type custom field 1 no no any yes yes string(255)
contract-type-custom-field-2 Contract type custom field 2 no no any yes yes string(255)
contract-type-custom-field-3 Contract type custom field 3 no no any yes yes string(255)
contract-type-custom-field-4 Contract type custom field 4 no no any yes yes string(255)
contract-type-custom-field-5 Contract type custom field 5 no no any yes yes string(255)
contract-type-custom-field-6 Contract type custom field 6 no no any yes yes string(255)
contract-type-custom-field-7 Contract type custom field 7 no no any yes yes string(255)
contract-type-custom-field-8 Contract type custom field 8 no no any yes yes string(255)
contract-type-custom-field-9 Contract type custom field 9 no no any yes yes string(255)
contract-type-custom-field-10 Contract type custom field 10 no no any yes yes string(255)
created-at Automatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
created-by User who created         yes User
currency Contract Currency Code       yes yes Currency
current-approval Current approval         yes Approval
current-parallel-approvals Current parallel approvals yes Approval
default-account default_account       yes yes Account
department Owner Department no no any yes yes Department 
description Descriptive notes about the contract false false any yes yes string(1024)
diversity-categories Supplier Diversity categories         yes string
end-date Expire Date no     yes yes datetime
execution-date Date when the contract is completed and legally binding no no any yes yes datetime
id Coupa unique identifier         yes integer
is-default Default Account for Supplier Invoice       yes yes boolean
legal-agreement-url Optional url for the legal agreement       yes yes string(255)
length-of-notice-unit Unit of Length of Notice(Days/Months/Years)     days, months, years yes yes string(255)
length-of-notice-value Value of Length of Notice       yes yes string(255)
locked-by-other-party CLMS contract party holding an edit lock no no   yes   string
locked-by-user-id CLMS user holding an edit lock no no   yes   integer
master-contract Master Contract number or name       yes yes Contract
max-commit Maximum Commit Amount       yes yes decimal(32,4)
maximum-value Maximum Commit Amount       yes yes decimal(32,4)
min-commit Minimum Commit Amount       yes yes decimal(32,4)
minimum-value Minimum Commit Amount       yes yes decimal(32,4)
name Contract Name yes yes   yes yes string(100)
no-of-renewals No of Renewals yes   Allowable values now include ["1..100"] yes yes integer
number Contract Number yes yes   yes yes string(50)
object-line Object lines no no yes ObjectLine
order-window-tz order_window_tz     A valid timezone yes yes string(255)
parent Parent       yes yes Contract
payment-term Payment term code on contract       yes yes Payment Term 
po-message Order Windows PO Message       yes yes string(255)
preferred Indicate preferred contract for supplier       yes yes boolean
proxy-supplier-id Identifier for a proxy supplier     any yes yes integer
published-date Date when the contract was published no no any yes yes datetime
quote-response-id Id of Quote Response         yes integer
ra-risk-request Ra risk request         yes RaRiskRequest 
rate-card Rate card yes RateCard
reason-insight-events Reason insight events yes     yes yes Reason Insight Event
renewal-length-unit Unit of Renewal Length(Days/Months/Years) yes   days, months, years yes yes string(255)
renewal-length-value Value of Renewal Length yes     yes yes integer
requisition-message Order Windows Requisition Message       yes yes string(255)
reviewer-user-ids CLMS internal reviewers no no   yes   integer
savings-pct Savings Achieved through Contracts Pricing     A percentage between 0 and 100 yes yes decimal(20,2)
schedule schedule       yes yes Order Window 
shipping-term Shipping term code on contract       yes yes Shipping Term 
source-id The source id of contract creation       yes yes sting(255)
source-type The source type of contract creation       yes yes string(255)
start-date Start Date       yes yes datetime
status Status of the Contract yes     yes yes draft
strict-invoicing-rules Strict Invoicing Rules       yes yes boolean
stop-spend-based-on-max-value Stop Spend Based On Max Value no no yes, no yes yes string(255)
submitter User who submitted the contract for approval         yes User
supplier Supplier Name yes     yes yes Supplier 
supplier-account Supplier Account Number       yes yes string(255)
supplier-invoiceable Supplier Can Invoice Directly       yes yes boolean
taggings Taggings no no   yes yes Tagging API
tags Tags no no   yes yes Tag API
term-type Term type     fixed, auto_renew, perpetual yes yes string(255)
terminated Terminated       yes yes boolean
termination-notice Termination Notice     yes, no yes yes string(255)
termination-notice-length-unit Unit of Termination Notice Length(Days/Months/Years)     days, months, years yes yes string(255)
termination-notice-length-value Value of Termination Notice Length       yes yes integer
terms terms       yes yes text
type Contract type     MasterContract, AmendmentContract   yes string
updated-at Automatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ         yes datetime
updated-by User who updated         yes User
use-order-windows Use Order Windows       yes yes boolean
used-for-buying Used for Buying       yes yes boolean
version version       yes yes integer
stop-spend-based-on-max-value Stop Spend Based On Max Value no no yes, no yes yes string(255)
external_contract_id External Contract Identifier no no   yes yes string(255)
fill-with-counterparty Fill with Counterparty yes yes boolean
whose_paper Whose Paper no no not_specified, our_paper, counterparty_paper yes yes integer
contract_dispute   no no   yes yes  
intellectual_property_and_data   no no   yes yes  
esign_provider_account   no no   yes yes  
contract_clauses   no no   yes yes []
use_online_signing Needs E-signatures no no     yes boolean
contract_classification Contract classification no no   yes yes  
contract_detail Contract detail no no   yes yes  
contract_parties_field_container Contract parties field container no no   yes yes  
contract_terms_and_renewal Contract terms and renewal no no   yes yes  
contract_termination Contract termination no no   yes yes  
contract_performance Contract performance no no   yes yes  
contract_price_and_payment Contract price and payment no no   yes yes  
contract_relationship_and_reporting Contract relationship and reporting no no   yes yes  
Note
  • When dealing with large data sets of contracts, always limit your GET with some criteria.
  • The content groups and categories must already exist in the system.

Related Items


Differences between XML and JSON in Coupa

16 December 2016

Tagging API

24 April 2017

Use the Tagging API to bring in and export tags to your third-party system.

Integration Runs API

24 April 2017

Use this API to create, query, or update an integration run, as well as update the status.

Dispute Reason API

05 August 2017