Skip to main content
POST
/
v1
/
contract-pricing
/
rate-cards
/
create
Create a rate card
curl --request POST \
  --url https://api.metronome.com/v1/contract-pricing/rate-cards/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "My Rate Card",
  "description": "My Rate Card Description",
  "fiat_credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
  "credit_type_conversions": [
    {
      "custom_credit_type_id": "2714e483-4ff1-48e4-9e25-ac732e8f24f2",
      "fiat_per_custom_credit": 2
    }
  ],
  "aliases": [
    {
      "name": "my-rate-card"
    }
  ]
}'
{
  "data": {
    "id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

In Metronome, the rate card is the central location for your pricing. Rate cards were built with new product launches and pricing changes in mind - you can update your products and pricing in one place, and that change will be automatically propagated across your customer cohorts. Most clients need only maintain one or a few rate cards within Metronome.

Use this endpoint to:

  • Create a rate card with a name and description
  • Define the rate card's single underlying fiat currency, and any number of conversion rates between that fiat currency and custom pricing units. You can then add products and associated rates in the fiat currency or custom pricing unit for which you have defined a conversion rate.
  • Set aliases for the rate card. Aliases are human-readable names that you can use in the place of the id of the rate card when provisioning a customer's contract. By using an alias, you can easily create a contract and provision a customer by choosing the paygo rate card, without storing the rate card id in your internal systems. This is helpful when launching a new rate card for paygo customers, you can update the alias for paygo to be scheduled to be assigned to the new rate card without updating your code.

Key response fields:

  • The ID of the rate card you just created

Usage guidelines:

  • After creating a rate card, you can now use the addRate or addRates endpoints to add products and their prices to it
  • A rate card alias can only be used by one rate card at a time. If you create a contract with a rate card alias that is already in use by another rate card, the original rate card's alias schedule will be updated. The alias will reference the rate card to which it was most recently assigned.
name
string
required

Used only in UI/API. It is not exposed to end customers.

description
string
fiat_credit_type_id
string<uuid>

The Metronome ID of the credit type to associate with the rate card, defaults to USD (cents) if not passed.

Example:

"2714e483-4ff1-48e4-9e25-ac732e8f24f2"

credit_type_conversions
object[]

Required when using custom pricing units in rates.

aliases
object[]

Reference this alias when creating a contract. If the same alias is assigned to multiple rate cards, it will reference the rate card to which it was most recently assigned. It is not exposed to end customers.

custom_fields
object

Custom fields to be added eg. { "key1": "value1", "key2": "value2" }

Response

Success

data
object
required