How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Metronome Contracts API

A contract defines a customer’s products, pricing, discounts, commitments, and more. Use these endpoints to create and update contracts data.

Metronome Contracts API is one of 18 APIs that Metronome 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 a getting-started guide.

This API exposes 20 operations across 20 paths, and defines 247 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against a single base URL, https://api.metronome.com.

20 operations 20 paths 247 schemas 20 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://api.metronome.com
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

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

Paths & Operations 20

Across 20 paths, the API surfaces 20 operations — 20 POST. Each is listed below with its method, path, parameters, and response codes.

Contracts 20

A contract defines a customer’s products, pricing, discounts, commitments, and more. Use these endpoints to create and update contracts data.

POST
/v1/contracts/get
Get a contract (v1)
getContract-v1 body → 200404
POST
/v1/contracts/list
List customer contracts (v1)
listContracts-v1 body → 200404
POST
/v1/contracts/create
Create a contract
createContract-v1 body → 200400404
POST
/v1/contracts/amend
Amend a contract
amendContract-v1 body → 200400404
POST
/v1/contracts/archive
Archive a contract
archiveContract-v1 body → 200400404
POST
/v1/contracts/setUsageFilter
Set a contract usage filter
setUsageFilter-v1 body → 200400404
POST
/v1/contracts/updateInvoiceIssueDate
Update invoice issue date
updateInvoiceIssueDate-v1 body → 200400404
POST
/v1/contracts/updateEndDate
Update the contract end date
updateContractEndDate-v1 body → 200400404
POST
/v1/contracts/getContractRateSchedule
Get the rate schedule for a contract
getContractRateSchedule-v1 2 params body → 200
POST
/v1/contracts/getSubscriptionQuantityHistory
Get subscription quantity history
getSubscriptionQuantityHistory-v1 body → 200400
POST
/v1/contracts/getSubscriptionSeatsHistory
Get subscription seats history
getSubscriptionSeatsHistory-v1 body → 200400
POST
/v1/contracts/scheduleProServicesInvoice
Schedule ProService invoice
scheduleProServicesInvoice-v1 body → 200404
POST
/v1/contracts/createHistoricalInvoices
Create historical invoices
createHistoricalContractUsageInvoices-v1 body → 200400
POST
/v1/composite/createCustomerWithContract
Create a customer and provision a contract.
createCustomerWithContract-v1 body → 200400404
POST
/v1/packages/create
Create a package
createPackage-v1 body → 200400404
POST
/v1/packages/listContractsOnPackage
List contracts associated with a package
listContractsOnPackage-v1 2 params body → 200400
POST
/v2/contracts/get
Get a contract (v2)
getContract-v2 body → 200400
POST
/v2/contracts/getEditHistory
Get contract edit history
getContractEditHistory-v2 body → 200400
POST
/v2/contracts/list
List customer contracts (v2)
listContracts-v2 body → 200400
POST
/v2/contracts/edit
Edit a contract
editContract-v2 body → 200400

Schemas 247

The contract defines 247 schemas that model the data the API accepts and returns. The most detailed are InvoiceLineItem (40 properties), ContractV2 (37 properties), CreateContractPayload (34 properties), EditContractPayload (33 properties). Each schema is shown below with its type and property counts.

CreditTemplateInput
object
10 properties 2 required
HierarchyLink
object
2 properties 2 required
CreditExpirationLedgerEntry
object
4 properties 4 required
SubscriptionProrationInput
object
2 properties
OverwriteRate
object
8 properties 1 required
ContractTransition
object
3 properties 3 required
UpdateRecurringCreditInput
object
4 properties 1 required
PrepaidCommitManualLedgerEntry
object
4 properties 4 required
BaseUsageFilterWithRequiredStartingAt
object
3 properties 3 required
ChildHierarchyConfiguration
object
3 properties 1 required
ResellerRoyaltyInput
object
10 properties 4 required
OptionalThresholdCommitFieldsUpdate
object
3 properties
SubscriptionsUpdate
object
4 properties 1 required
HasMore
object
Indicates whether there are more items than the limit for this endpoint. Use the respective list endpoints to get the full lists.
2 properties 2 required
CreateHistoricalContractUsageInvoiceRequestPayload
object
2 properties 2 required
OverrideSpecifier
object
8 properties
SubscriptionConfigAllocationInputV2
string
If set to POOLED, allocation added per seat is pooled across the account. If set to INDIVIDUAL, each seat in the subscription will have its own allocation.
SchedulePointInTimeInput
object
Must provide either scheduleitems or recurringschedule.
4 properties
CreditUpdate
object
13 properties 1 required
HistoricalContractUsageInvoiceLineItemInput
object
7 properties 3 required
ContractEdit
object
32 properties 1 required
UpdateRecurringCommitInput
object
5 properties 1 required
BillingProviderConfigurationUpdateEffectiveAtType
string
AccessScheduleUpdate
object
3 properties
OverrideSpecifierInputV2
object
8 properties
PostpaidCommitManualLedgerEntry
object
4 properties 4 required
OverrideV2
object
15 properties 3 required
RevenueSystemProviderTypeV2
string
The revenue system provider type.
UpdateContractEndDatePayload
object
4 properties 2 required
CreditCanceledLedgerEntry
object
6 properties 5 required
ApplySeatIncreaseConfigForRecurringCommit
object
1 property 1 required
CreditLedger
ExternalInvoiceStatus
string
UpdateBaseThresholdCommit
object
4 properties
DiscountUpdate
object
5 properties 1 required
ScheduledChargeTemplateInput
object
4 properties 2 required
RecurringCommit
HierarchyConfiguration
Either a parent configuration with a list of children or a child configuration with a single parent.
Override
object
22 properties 3 required
DiscountInputV2
object
5 properties 2 required
SubscriptionTemplateInput
object
12 properties 3 required
ContractHierarchyConfigurationInput
object
4 properties
SubscriptionQuantitySchedule
object
3 properties 2 required
HistoricalContractUsageInvoiceInputPayload
object
10 properties 7 required
SetUsageFilterPayload
object
5 properties 5 required
SubscriptionBillingPeriods
object
Previous, current, and next billing periods for the subscription.
3 properties
HistoricalContractUsageInvoiceLineItemBreakdownSubtotal
object
3 properties 3 required
UniquenessKeyForCommitsAndCredits
string
Prevents the creation of duplicates. If a request to create a commit or credit is made with a uniqueness key that was previously used to create a commit or cre…
ScheduledChargeInput
object
5 properties 2 required
RecurringCommitInputV2
SubscriptionInput
object
12 properties 3 required
SubscriptionSeatUpdateInput
object
4 properties
RelativeDate
object
2 properties 2 required
PrepaidCommitRolloverLedgerEntry
object
5 properties 5 required
Invoice
object
26 properties 7 required
PaymentGateConfig
object
4 properties 1 required
ScheduledCharge
object
7 properties 3 required
SchedulePointInTimeInputV2
object
Must provide either scheduleitems or recurringschedule.
4 properties
ScheduleDurationInputV2
object
2 properties 1 required
OptionalThresholdCommitFields
object
3 properties
ResellerRoyalty
object
13 properties 4 required
UpdateCommitInput
object
13 properties 1 required
CreditAdd
object
15 properties 3 required
PrepaidCommitExpirationLedgerEntry
object
4 properties 4 required
SubscriptionProration
object
2 properties 2 required
PaymentGateConfigV2
object
4 properties 1 required
CreditV2
object
22 properties 3 required
CommitHierarchyChildAccessAll
object
1 property 1 required
ScheduledChargesOnUsageInvoices
string
Determines which scheduled and commit charges to consolidate onto the Contract's usage invoice. The charge's timestamp must match the usage invoice's endingbef…
OverrideInputV2
object
13 properties 1 required
PrepaidCommitCreditedLedgerEntry
object
6 properties 5 required
PackageAlias
object
3 properties 1 required
RecurringCommitTemplateInput
SubscriptionsInput
array
Optional list of [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/) to add to the contract.
CommitPaymentGateConfig
object
4 properties 1 required
SubscriptionQuantityHistory
object
3 properties
UsageFilter
object
3 properties 3 required
CommitPaymentGateConfigV2
object
4 properties 1 required
UsageStatementScheduleInput
object
4 properties 1 required
UpdateSpendThresholdConfiguration
object
5 properties
RecurringCommitV2
PrepaidBalanceThresholdConfigurationV2
object
7 properties 5 required
ScheduledChargeAdd
object
5 properties 3 required
ChildHierarchyConfigurationV2
object
3 properties 1 required
BillableStatus
string
ExternalInvoice
object
10 properties 1 required
RecurringCreditTemplateInput
object
17 properties 5 required
InvoiceScheduleUpdate
object
3 properties
OverwriteRateInputV2
object
8 properties 1 required
OverrideTier
object
2 properties 1 required
ContractParentHierarchyConfigurationInput
object
2 properties 2 required
PostpaidCommitRolloverLedgerEntry
object
5 properties 5 required
RevenueSystemConfigurationUpdateEffectiveAtType
string
When the revenue system configuration update will take effect.
SubscriptionSeatsScheduleEntry
object
4 properties 4 required
SpendThresholdCommit
object
SubscriptionSeatConfigInput
object
3 properties 2 required
RelativeSchedulePointInTimeInput
object
Must provide scheduleitems.
2 properties 1 required
UpdatePrepaidBalanceThresholdCommit
object
UpdateScheduledChargeInput
object
3 properties 1 required
Contract
object
14 properties 5 required
CreditSegmentStartLedgerEntry
object
4 properties 4 required
DiscountConfiguration
object
1 property 1 required
CreditSeatBasedAdjustmentLedgerEntry
object
4 properties 4 required
CommitSpecifierInput
object
5 properties
CommitLedgerV2
CreditLedgerV2
SubscriptionConfigAllocation
string
ContractAmendment
object
13 properties 7 required
RecurringCommitSubscriptionConfig
object
3 properties 3 required
MinimumConfig
object
Only set for TIEREDPERCENTAGE or PERCENTAGE ratetype.
1 property 1 required
SubscriptionSeatUpdateUnassignedSeat
object
2 properties 2 required
CreateCustomerPayload
object
5 properties 1 required
RevenueSystemDeliveryMethodType
string
How revenue recognition records should be delivered to the revenue system.
ArchiveContractPayload
object
3 properties 3 required
PostpaidCommitInitialBalanceLedgerEntry
object
3 properties 3 required
Tags
array
UsageStatementScheduleTemplateInput
object
3 properties 1 required
Subscriptions
array
List of subscriptions on the contract.
CreatePackagePayload
object
22 properties 1 required
ExcludeSpecifier
object
1 property
UpdateSpendThresholdCommit
object
RecurringCreditV2
object
20 properties 7 required
Tier
object
2 properties 1 required
InvoiceLineItem
object
40 properties 4 required
CreditAutomatedInvoiceDeductionLedgerEntry
object
6 properties 5 required
SchedulePointInTime
object
3 properties
SubscriptionSeatUpdateAssignedSeat
object
2 properties 2 required
Rate
object
9 properties 1 required
BaseThresholdCommit
object
4 properties 1 required
PrepaidCommitSeatBasedAdjustmentLedgerEntry
object
4 properties 4 required
CreditInputV2
object
13 properties 2 required
ContractV2
object
37 properties 11 required
ResellerRoyaltyOrUpdateV2
object
13 properties 1 required
InvoiceStatus
string
PostpaidCommit
object
ID of the commit.
1 property 1 required
RecurringScheduleFrequencyV2
string
BillingProviderDeliveryMethodType
string
CommitInput
object
18 properties 2 required
CreditRolloverLedgerEntry
object
5 properties 5 required
CommitHierarchyChildAccessContractIds
object
2 properties 2 required
PrepaidBalanceThresholdCommit
object
RecurringCreditUpdate
object
4 properties 1 required
CreditCreditedLedgerEntry
object
6 properties 5 required
CommitLedger
RevenueSystemInvoice
object
5 properties 3 required
ParentHierarchyConfiguration
object
2 properties 1 required
ProServiceInput
object
7 properties 4 required
Credit
object
23 properties 3 required
UpdateInvoiceScheduleInput
object
3 properties
CustomerRevenueSystemConfigurationLookup
object
The revenue system configuration associated with a contract. Provide either an ID or the provider and delivery method.
3 properties
RefundInvoiceUpdate
object
2 properties 2 required
CommitHierarchyChildAccessNone
object
1 property 1 required
RecurringCommitSubscriptionConfigInputV2
object
3 properties 2 required
EditContractPayload
object
33 properties 2 required
CreateContractPayload
object
34 properties 2 required
RecurringCommitInput
PrepaidCommitCanceledLedgerEntry
object
6 properties 5 required
OverrideTierInput
object
2 properties 1 required
ContractWithoutAmendments
object
26 properties 8 required
CustomerRevenueSystemConfigurationCreateCustomerInput
object
4 properties 1 required
SpendThresholdConfiguration
object
5 properties 4 required
ContractRateSchedule
object
13 properties 8 required
CommitTemplateInput
object
14 properties 3 required
RecurringCredit
object
20 properties 7 required
UpdateCreditInput
object
12 properties 1 required
RecurringCreditInput
object
19 properties 5 required
UpdateAccessScheduleInput
object
3 properties
PrepaidCommitAutomatedInvoiceDeductionLedgerEntry
object
6 properties 5 required
OverwriteRateInput
object
8 properties 1 required
BaseUsageFilter
object
3 properties 2 required
Commit
object
29 properties 4 required
CustomerAndContract
object
5 properties 4 required
UpdateInvoiceIssueDatePayload
object
2 properties 2 required
CreditType
object
2 properties 2 required
SubscriptionBillingPeriod
object
2 properties 2 required
Discount
object
6 properties 3 required
CommitHierarchyConfiguration
object
1 property 1 required
PostpaidCommitExpirationLedgerEntry
object
3 properties 3 required
CreditManualLedgerEntry
object
4 properties 4 required
RecurringCommitUpdate
CustomerBillingProviderConfigurationCreateCustomerInput
object
5 properties 1 required
UpdatePrepaidBalanceThresholdConfiguration
object
7 properties
PrepaidBalanceThresholdConfiguration
object
7 properties 5 required
RelativeScheduleDurationInput
object
2 properties 1 required
RecurringCommitSubscriptionConfigInput
object
3 properties 2 required
CreateCustomerWithContractPayload
object
2 properties 2 required
ScheduledChargeUpdate
object
4 properties 1 required
CommitRate
object
A distinct rate on the rate card. You can choose to use this rate rather than list rate when consuming a credit or commit.
4 properties 1 required
ResellerType
string
Subscription
object
14 properties 7 required
CustomerBillingProviderConfigurationLookup
object
The billing provider configuration associated with a contract. Provide either an ID or the provider and delivery method.
3 properties
CreditInput
object
13 properties 2 required
UpdateSubscriptionInput
object
5 properties 1 required
SubscriptionSeatConfig
object
1 property 1 required
UsageFilterV2
object
4 properties 3 required
ContractProjectionSummary
object
5 properties 3 required
OverwriteRateV2
object
8 properties 1 required
CustomField
object
Custom fields to be added eg. { "key1": "value1", "key2": "value2" }
PrepaidBalanceThresholdCommitV2
object
RateSelectorWithProductTags
object
5 properties
OverrideTemplateInput
object
11 properties 2 required
CommitSpecifier
object
5 properties
PostpaidCommitAutomatedInvoiceDeductionLedgerEntry
object
6 properties 5 required
ContractsBillingProviderType
string
UsageStatementSchedule
object
2 properties 2 required
CommitInputV2
object
18 properties 2 required
ResellerRoyaltyOrUpdateInput
object
10 properties 1 required
CommitUpdate
object
14 properties 1 required
SpendThresholdConfigurationV2
object
5 properties 4 required
SubscriptionRate
object
2 properties 2 required
HierarchyConfigurationV2
Either a parent configuration with a list of children or a child configuration with a single parent.
UpdateDiscountConfiguration
object
1 property
OverrideSpecifierV2
object
8 properties
TaxProviderType
string
CommitV2
object
27 properties 4 required
AmendContractPayload
object
14 properties 3 required
DiscountInput
object
5 properties 2 required
SubscriptionRateInput
object
2 properties 2 required
TierMetadata
object
3 properties 2 required
OverrideSpecifierInput
object
8 properties
ProService
object
8 properties 5 required
InvoiceType
string
RecurringCreditInputV2
object
19 properties 5 required
ScheduleDurationInput
object
2 properties 1 required
CommitAddInvoiceSchedule
object
3 properties
RevenueSystemConfigurationUpdate
object
2 properties 2 required
BillingProviderConfigurationUpdate
object
2 properties 2 required
CommitAdd
object
16 properties 3 required
Error
object
1 property 1 required
Id
object
1 property 1 required
PostpaidCommitTrueupLedgerEntry
object
5 properties 4 required
ContractTransitionInput
object
3 properties 2 required
ScheduleDuration
object
2 properties 1 required
RevenueSystemProviderType
string
PrepaidCommitSegmentStartLedgerEntry
object
4 properties 4 required
AppliedCommitOrCredit
object
2 properties 2 required
SubscriptionConfigAllocationInput
string
If set to POOLED, allocation added per seat is pooled across the account. If set to INDIVIDUAL, each seat in the subscription will have its own allocation.
BillingProviderType
string
SubscriptionSeatConfigTemplateInput
object
2 properties 1 required
BalanceForCommitsAndCredits
number
The current balance of the credit or commit. This balance reflects the amount of credit or commit that the customer has access to use at this moment - thus, ex…
ResellerRoyaltyOrUpdate
object
11 properties 1 required
RecurringScheduleFrequency
string
ProServiceInvoiceLineItem
object
Describes the line item for a professional service charge on an invoice.
8 properties 1 required
ScheduledChargeInputV2
object
5 properties 2 required
GetContractRateSchedulePayload
object
4 properties 2 required
OverrideInput
object
13 properties 1 required
UniquenessKey
string
Prevents the creation of duplicates. If a request to create a record is made with a previously used uniqueness key, a new record will not be created and the re…

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

metronome-contracts-api-openapi.yml Raw ↑

Other APIs Metronome publishes across the network.

Metronome Alerts API
Metronome Billable Metrics API
Metronome Credits and commits API
Metronome Custom fields API
Metronome Customers API
Metronome Integrations API
Metronome Invoices API
Metronome Named schedules API
Metronome Notifications API
Metronome Packages API
Metronome Payments API
Metronome Products API
Where this information came from

This is an independent, third-party profile of Metronome Contracts API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.