Skip to main content

 

 

Coupa Success Portal

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.

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

See Integration Best Practices for more info.

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 yes no any yes yes Contract Type
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
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)
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     yes yes integer
number Contract Number yes yes   yes yes string(50)
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
published-date Date when the contract was published no no any yes yes datetime
quote-response-id Id of Quote Response         yes integer
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       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 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(255)
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)
               
  • 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.
  • Was this article helpful?