Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Rillet Contracts API

The Contracts API from Rillet — 5 operation(s) for contracts.

Rillet Contracts API is one of 28 APIs that Rillet publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Contracts. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 7 operations across 5 paths, and defines 71 schemas. It is described by OpenAPI 3.1.0, at version v4.0.

Requests are made against 2 base URLs: https://api.rillet.com, https://sandbox.api.rillet.com.

7 operations 5 paths 71 schemas 1 DELETE2 GET3 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v4.0
Base URL
https://api.rillet.com
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Rillet Contracts API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

Paths & Operations 7

Across 5 paths, the API surfaces 7 operations — 1 DELETE, 2 GET, 3 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Contracts 7
POST
/contracts
Creates a contract
create-a-contract body → 200default
GET
/contracts
Lists all contracts
list-all-contracts 13 params → 200default
GET
/contracts/{contract_id}
Retrieves a contract
retrieve-a-contract 1 param → 200default
DELETE
/contracts/{contract_id}
Deletes a contract
delete-a-contract 1 param → 204default
POST
/contracts/{contract_id}/amendments
Amends a contract
amend-a-contract 1 param body → 200default
POST
/contracts/{contract_id}/amendments/preview
Previews contract amendment
preview-contract-amendment 1 param body → 200default
PUT
/contracts/{contract_id}/end
Ends an open-ended contract
end-an-open-ended-contract 1 param body → 204default

Schemas 71

The contract defines 71 schemas that model the data the API accepts and returns. The most detailed are ContractItem (15 properties), Contract (14 properties), CreateFullContractRequest (11 properties), ContractItemRequest (11 properties). Each schema is shown below with its type and property counts.

RevenueRecognitionOnlyContractAmendingItemRequest
object
5 properties 2 required
RevenueRecognitionOnlyContractItemRequest
object
7 properties 4 required
ContractItem
object
15 properties 9 required
FieldAssignments
array
ExchangeRate
object
4 properties 4 required
SemiAnnualInvoicing
object
3 properties 3 required
YearlyInvoicing
object
3 properties 3 required
TieredBilling
object
All tiers except for the highest have to define a value for upTo. There cannot be more than one tier with the same upTo value.
3 properties 3 required
UsageInvoiceCycle
string
When does the invoicing pricing cycle reset and results in an invoice. Calendar option is only allowed when usage invoice frequency is Monthly, and contract do…
BillingScheme
QuarterlyInvoicing
object
3 properties 3 required
UsageInvoiceDate
string
When the usage invoice is created in relation to the usage cycle.
RevenueRecognitionOnlyContractNewItemInAmendmentRequest
object
7 properties 4 required
Price
ExternalReference
object
For requests, only pre-defined custom IDs are accepted. In responses, an object imported through an integration (e.g. Stripe) would return the provider's objec…
3 properties 2 required
Discount
InvoiceSchedule
object
1 property
ContractStatus
string
Pagination
object
1 property
CreateFullContractRequest
object
11 properties 6 required
Invoicing
TaxRate
1 required
MonthlyProratedInvoicing
object
Monthly prorated invoicing is only available for contracts with usage products and a minimum usage commitment.
3 properties 3 required
FixedRecurringPrice
InvoiceScheduleInvoice
object
6 properties 4 required
MonthlyInvoicing
object
3 properties 3 required
PaymentTerms
integer
UsageCommitment
object
2 properties 2 required
AmendRevenueRecognitionOnlyContractRequest
object
4 properties 4 required
AmendFullContractItemRequest
object
10 properties 5 required
AmendContractRequest
object
1 property 1 required
ContractInvoice
object
9 properties 9 required
EndOpenEndedContractRequest
object
1 property 1 required
Contract
object
14 properties 10 required
ExpandedContract
CreateRevenueRecognitionOnlyContractRequest
object
9 properties 7 required
UsagePrice
ItemRevenue
object
3 properties
MonetaryAmount
object
2 properties 2 required
Tier
object
At least one of flatPrice or perUnitPrice has to be defined. flatPrice is the price for the entire tier. perUnitPrice is price for units relevant to the tier.
3 properties 1 required
Error
object
4 properties 2 required
PageCursor
string
If defined, a cursor to retrieve the next page.
PageLimit
integer
UsageInvoicingFrequency
string
MinimumCommitmentInvoicing
object
2 properties 2 required
FixedPrice
object
1 property 1 required
RoundedMonetaryAmount
object
A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
2 properties 2 required
CountryCode
string
Two-letter country code (ISO 3166-1 alpha-2).
UsageConfiguration
object
4 properties 1 required
CurrencyCode
string
Currency code following ISO-4217
AmountDiscount
object
2 properties 1 required
OneTimePrice
AmendmentEffectiveFrom
string
Defines when the amendment takes effect. - ASOFAMENDMENTDATE: apply changes as of the amendment date - ENDOFCURRENTBILLINGCYCLE: apply at the end of the curren…
UsageInvoicing
object
4 properties 4 required
AccountCode
string
The account code found in the Chart of Accounts
AmendFullContractRequest
object
4 properties 4 required
CalendarPeriod
object
2 properties 2 required
ContractScope
string
The "FULL" scope includes revenue recognition and invoicing handled in Rillet. With the "REVENUERECOGNITIONONLY" scope, invoicing is handled outside Rillet.
RevenuePattern
string
DAILY means that the revenue is divided equally per day in the revenue period. EVENPERIOD means that the revenue is divided equally for each calendar month in…
TaxRateWithOptionalAmount
object
5 properties 4 required
PerUnitBilling
object
3 properties 3 required
CreateContractRequest
object
1 property 1 required
InvoiceItem
object
11 properties 10 required
PercentageDiscount
object
2 properties 1 required
RevenueRecognitionOnlyContractTerminatedItemRequest
object
2 properties 1 required
InvoiceScheduleInvoiceItem
object
7 properties 5 required
PreviewContractAmendmentRequest
object
3 properties 3 required
MinimumCommitmentInvoicingFrequency
string
MONTHLYPRORATED is only available for CALENDAR usage invoice cycle. It need to be the same as contract level invoicing frequency.
ContractItemRequest
object
11 properties 4 required
RecurringPrice
object
1 property 1 required
InvoiceStatus
string

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

rillet-contracts-api-openapi.yml Raw ↑

Other APIs Rillet publishes across the network.

Rillet API Key API
Rillet Bank accounts API
Rillet Bank Transactions API
Rillet Bill Payments API
Rillet Bills API
Rillet Books periods API
Rillet Charges API
Rillet Chart of Accounts API
Rillet Contract Items API
Rillet Credit Memos API
Rillet Customer Payments API
Rillet Customers API