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
DELETE /api/contracts/:id destroy Delete contract
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.

Elements

Element Description Req'd Unique Allowable Value In Out Data Type
amended-contract-type Amended Contract Type       yes yes string(255)
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 yes     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 string(255)
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)     days, months, years yes yes string(255)
renewal-length-value Value of Renewal Length       yes yes string(255)
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
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
  • 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?