Contracts API (/contracts)
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.
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 |

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