Skip to content

Elevate Pricing API (2.21)

Usage and Rental Pricing Management

Provides read & write access to usage and rental rate cards and inclusive usage plans

Definitions

  • Usage Rate Card - a representation of the pricing structure for usage that can be sold to Customers, for example 5 pence per minute for UK National calls
  • Rental Rate Card - a representation of the pricing structure for rental product that can be sold to Customers, for example £10 per month for line rental
  • Inclusive Usage Plan - a representation of an inclusive bundle that can be sold to a Customer, for example you can allocate 500 free minutes to UK National or Local calls
Languages
Servers
https://rest.elevatebilling.com/v2

usage-rate-cards

Usage rate cards represent the pricing structure for usage products that can be sold to Customers

Operations

usage-rates

Usage rates represent the pricing rates for a usage product

Operations

rental-rate-cards

Rental rates card represent the pricing structure for rental products that can be sold to Customers

Operations

Get a list of available rental rate cards

Request

Security
bearerAuth
Query
pageinteger(int32)(PageParam)>= 1required

Page of results to show

Example: page=1
pageSizeinteger(int32)(ResultsPerPageParam)[ 1 .. 1000 ]required

Results to return per page

Example: pageSize=100
sortstring(SortParam)

Comma-delimited list of the fields to sort by - defaults to ascending order, suffix :desc to change

Example: sort=id,name | name:desc
fieldsstring(FieldsParam)

Comma-delimited list of the field(s) to return if only a subset is required

Example: fields=id,name
contractOwnerIdstring(IdFilterParam)

Filter by contract owner

Example: contractOwnerId=0
namestring(StringFilterParam)

Filter by name

Example: name=xyz | in:x,y | like:xyz
availableFromstring(DateFilterParam)

Filter by available from date

Example: availableFrom=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
availableTostring(DateFilterParam)

Filter by available to date

Example: availableTo=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
rentalRateCardTypestring(StringFilterParam)

Filter by rate card type

Example: rentalRateCardType=xyz | in:x,y | like:xyz
rentalProductCategoryIdstring(IdFilterParam)

Filter by rental product category

Example: rentalProductCategoryId=0
Headers
summarystring(BooleanFilterParam)

If true, returns a lightweight summary of each rental rate card instead of the full object. Use this to reduce payload size and improve performance when only basic information is needed.

Example: true | false
curl -i -X GET \
  'https://rest.elevatebilling.com/v2/rental-rate-cards?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&fields=id%2Cname&contractOwnerId=0&name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&availableFrom=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&availableTo=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&rentalRateCardType=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&rentalProductCategoryId=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'summary: true | false'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Rental rate card identifier

Example: 1
contractOwnerIdsArray of integers(int32)

The billing entity or entities that are required for SELL/TEMPLATE rental rate card and have access to this item. This is a multi-select field. If there is only one existing contractOwnerId, you can replace it with another regardless of currency. However, if there are multiple contractOwnerIds, any new or replacement contractOwnerIds must use the same currency as the existing contractOwnerId(s). Different currencies cannot be mixed

Example: [1]
namestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Rental rate card name

rentalProductCategoryIdinteger(int64)required

Rental product category identifier

Example: 1
rentalRateCardTypestring(RentalRateCardType)required

Rental rate card type. Buy = used to price rental products purchased from the supplier, Sell = used to price rental products sold to customers, Template = is a rate card to which other rate cards can be linked

Enum"SELL""TEMPLATE""BUY"
basedOnTemplateIdinteger(int64)

Based on rental rate card identifier. Sell rental rate cards can be linked to a template. Typically the template would contain the more obscure products that are less subject to price variations meaning the sell rate card can contain fewer products and be easier to maintain

Example: 1
availableFromstring(date)required

Available from

availableTostring(date)

Available to

acceptOverridesFromParentsboolean

Accept overrides from parents. Pricing can be assigned at customer, site or product inventory levels and could be a rate card assignment or override assignment. If selected, this property allows overrides assigned at a higher point in the hierarchy to override prices set within this rate card

Default true
rentalRatesArray of objects(RentalRate)
supplierAccountIdinteger(int64)

The supplier account associated with BUY rate card only

Example: 1
]
Response
application/json
[ { "id": 1, "contractOwnerIds": [], "name": "string", "rentalProductCategoryId": 1, "rentalRateCardType": "SELL", "basedOnTemplateId": 1, "availableFrom": "2019-08-24", "availableTo": "2019-08-24", "acceptOverridesFromParents": true, "rentalRates": [], "supplierAccountId": 1 } ]

Check if a rental rate card exists

Request

Security
bearerAuth
Query
idstring(IdFilterParam)

Filter by id

Example: id=0
contractOwnerIdstring(IdFilterParam)

Filter by contract Owner

Example: contractOwnerId=0
namestring(StringFilterParam)

Filter by name

Example: name=xyz | in:x,y | like:xyz
availableFromstring(DateFilterParam)

Filter by available from date

Example: availableFrom=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
availableTostring(DateFilterParam)

Filter by available to date

Example: availableTo=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
rentalRateCardTypestring(StringFilterParam)

Filter by rate card type

Example: rentalRateCardType=xyz | in:x,y | like:xyz
rentalProductCategoryIdstring(IdFilterParam)

Filter by rental product category

Example: rentalProductCategoryId=0
curl -i -X HEAD \
  'https://rest.elevatebilling.com/v2/rental-rate-cards?id=0&contractOwnerId=0&name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&availableFrom=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&availableTo=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&rentalRateCardType=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&rentalProductCategoryId=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Body

Create a new rental rate card

Request

Security
bearerAuth
Bodyapplication/jsonrequired

New rental rate card

contractOwnerIdsArray of integers(int32)

The billing entity or entities that are required for SELL/TEMPLATE rental rate card and have access to this item. This is a multi-select field. If there is only one existing contractOwnerId, you can replace it with another regardless of currency. However, if there are multiple contractOwnerIds, any new or replacement contractOwnerIds must use the same currency as the existing contractOwnerId(s). Different currencies cannot be mixed

Example: [1]
namestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Rental rate card name

rentalProductCategoryIdinteger(int64)required

Rental product category identifier

Example: 1
rentalRateCardTypestring(RentalRateCardType)required

Rental rate card type. Buy = used to price rental products purchased from the supplier, Sell = used to price rental products sold to customers, Template = is a rate card to which other rate cards can be linked

Enum"SELL""TEMPLATE""BUY"
basedOnTemplateIdinteger(int64)

Based on rental rate card identifier. Sell rental rate cards can be linked to a template. Typically the template would contain the more obscure products that are less subject to price variations meaning the sell rate card can contain fewer products and be easier to maintain

Example: 1
availableFromstring(date)required

Available from

availableTostring(date)

Available to

acceptOverridesFromParentsboolean

Accept overrides from parents. Pricing can be assigned at customer, site or product inventory levels and could be a rate card assignment or override assignment. If selected, this property allows overrides assigned at a higher point in the hierarchy to override prices set within this rate card

Default true
rentalRatesArray of objects(RentalRate)
supplierAccountIdinteger(int64)

The supplier account associated with BUY rate card only

Example: 1
curl -i -X POST \
  https://rest.elevatebilling.com/v2/rental-rate-cards \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "contractOwnerIds": [
      1
    ],
    "name": "string",
    "rentalProductCategoryId": 1,
    "rentalRateCardType": "SELL",
    "basedOnTemplateId": 1,
    "availableFrom": "2019-08-24",
    "availableTo": "2019-08-24",
    "acceptOverridesFromParents": true,
    "rentalRates": [
      {
        "rentalProductId": 1,
        "price": 0,
        "rentalRateType": "ADVANCE",
        "rentalRatePriceType": "RENTAL",
        "periodsInAdvance": "STANDARD",
        "rentalRateFrequency": "DAILY",
        "startDate": "2019-08-24",
        "endDate": "2019-08-24",
        "showOnInvoice": true
      }
    ],
    "supplierAccountId": 1
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Rental rate card identifier

Example: 1
contractOwnerIdsArray of integers(int32)

The billing entity or entities that are required for SELL/TEMPLATE rental rate card and have access to this item. This is a multi-select field. If there is only one existing contractOwnerId, you can replace it with another regardless of currency. However, if there are multiple contractOwnerIds, any new or replacement contractOwnerIds must use the same currency as the existing contractOwnerId(s). Different currencies cannot be mixed

Example: [1]
namestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Rental rate card name

rentalProductCategoryIdinteger(int64)required

Rental product category identifier

Example: 1
rentalRateCardTypestring(RentalRateCardType)required

Rental rate card type. Buy = used to price rental products purchased from the supplier, Sell = used to price rental products sold to customers, Template = is a rate card to which other rate cards can be linked

Enum"SELL""TEMPLATE""BUY"
basedOnTemplateIdinteger(int64)

Based on rental rate card identifier. Sell rental rate cards can be linked to a template. Typically the template would contain the more obscure products that are less subject to price variations meaning the sell rate card can contain fewer products and be easier to maintain

Example: 1
availableFromstring(date)required

Available from

availableTostring(date)

Available to

acceptOverridesFromParentsboolean

Accept overrides from parents. Pricing can be assigned at customer, site or product inventory levels and could be a rate card assignment or override assignment. If selected, this property allows overrides assigned at a higher point in the hierarchy to override prices set within this rate card

Default true
rentalRatesArray of objects(RentalRate)
supplierAccountIdinteger(int64)

The supplier account associated with BUY rate card only

Example: 1
Response
application/json
{ "id": 1, "contractOwnerIds": [ 1 ], "name": "string", "rentalProductCategoryId": 1, "rentalRateCardType": "SELL", "basedOnTemplateId": 1, "availableFrom": "2019-08-24", "availableTo": "2019-08-24", "acceptOverridesFromParents": true, "rentalRates": [ {} ], "supplierAccountId": 1 }

Get a specific rental rate card

Request

Security
bearerAuth
Path
rental_rate_card_idinteger(int64)(IdParam)>= 1required

Rental rate card identifier

Example: 1
Query
fieldsstring(FieldsParam)

Comma-delimited list of the field(s) to return if only a subset is required (other fields will be returned as null for now)

Example: fields=id,name
Headers
summarystring(BooleanFilterParam)

If true, returns a lightweight summary of rental rate card instead of the full object. Use this to reduce payload size and improve performance when only basic information is needed.

Example: true | false
curl -i -X GET \
  'https://rest.elevatebilling.com/v2/rental-rate-cards/1?fields=id%2Cname' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'summary: true | false'

Responses

Rental rate card found

Bodyapplication/json
idinteger(int64)read-only

Rental rate card identifier

Example: 1
contractOwnerIdsArray of integers(int32)

The billing entity or entities that are required for SELL/TEMPLATE rental rate card and have access to this item. This is a multi-select field. If there is only one existing contractOwnerId, you can replace it with another regardless of currency. However, if there are multiple contractOwnerIds, any new or replacement contractOwnerIds must use the same currency as the existing contractOwnerId(s). Different currencies cannot be mixed

Example: [1]
namestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Rental rate card name

rentalProductCategoryIdinteger(int64)required

Rental product category identifier

Example: 1
rentalRateCardTypestring(RentalRateCardType)required

Rental rate card type. Buy = used to price rental products purchased from the supplier, Sell = used to price rental products sold to customers, Template = is a rate card to which other rate cards can be linked

Enum"SELL""TEMPLATE""BUY"
basedOnTemplateIdinteger(int64)

Based on rental rate card identifier. Sell rental rate cards can be linked to a template. Typically the template would contain the more obscure products that are less subject to price variations meaning the sell rate card can contain fewer products and be easier to maintain

Example: 1
availableFromstring(date)required

Available from

availableTostring(date)

Available to

acceptOverridesFromParentsboolean

Accept overrides from parents. Pricing can be assigned at customer, site or product inventory levels and could be a rate card assignment or override assignment. If selected, this property allows overrides assigned at a higher point in the hierarchy to override prices set within this rate card

Default true
rentalRatesArray of objects(RentalRate)
supplierAccountIdinteger(int64)

The supplier account associated with BUY rate card only

Example: 1
Response
application/json
{ "id": 1, "contractOwnerIds": [ 1 ], "name": "string", "rentalProductCategoryId": 1, "rentalRateCardType": "SELL", "basedOnTemplateId": 1, "availableFrom": "2019-08-24", "availableTo": "2019-08-24", "acceptOverridesFromParents": true, "rentalRates": [ {} ], "supplierAccountId": 1 }

Update a rental rate card

Request

Security
bearerAuth
Path
rental_rate_card_idinteger(int64)(IdParam)>= 1required

Rental rate card identifier

Example: 1
Headers
summarystring(BooleanFilterParam)

If true, returns a lightweight summary of rental rate card instead of the full object. Use this to reduce payload size and improve performance when only basic information is needed.

Example: true | false
Bodyapplication/json-patch+jsonrequired

A set of JSONPatch operations to be performed. Note that rental rates can only be added here. To update or delete a rate, use /rental-rates/ PATCH or DELETE method

Array [
opstringrequired

The JSON Patch operation to be performed

Enum"add""remove""replace""move""copy""test"
pathstringrequired

A JSON-Pointer

valueobject

The value to be used within the operations

fromstring

A string containing a JSON Pointer value

]
curl -i -X PATCH \
  https://rest.elevatebilling.com/v2/rental-rate-cards/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -H 'summary: true | false' \
  -d '[
    {
      "op": "add",
      "path": "/rentalRates/-",
      "value": {
        "rentalProductId": 1963,
        "rentalRateType": "ADVANCE",
        "periodsInAdvance": "STANDARD",
        "rentalRatePriceType": "RENTAL",
        "price": 111,
        "rentalRateFrequency": "QUARTERLY",
        "startDate": "2023-04-02",
        "endDate": "2023-04-02"
      }
    }
  ]'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Rental rate card identifier

Example: 1
contractOwnerIdsArray of integers(int32)

The billing entity or entities that are required for SELL/TEMPLATE rental rate card and have access to this item. This is a multi-select field. If there is only one existing contractOwnerId, you can replace it with another regardless of currency. However, if there are multiple contractOwnerIds, any new or replacement contractOwnerIds must use the same currency as the existing contractOwnerId(s). Different currencies cannot be mixed

Example: [1]
namestring[ 1 .. 255 ] characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...required

Rental rate card name

rentalProductCategoryIdinteger(int64)required

Rental product category identifier

Example: 1
rentalRateCardTypestring(RentalRateCardType)required

Rental rate card type. Buy = used to price rental products purchased from the supplier, Sell = used to price rental products sold to customers, Template = is a rate card to which other rate cards can be linked

Enum"SELL""TEMPLATE""BUY"
basedOnTemplateIdinteger(int64)

Based on rental rate card identifier. Sell rental rate cards can be linked to a template. Typically the template would contain the more obscure products that are less subject to price variations meaning the sell rate card can contain fewer products and be easier to maintain

Example: 1
availableFromstring(date)required

Available from

availableTostring(date)

Available to

acceptOverridesFromParentsboolean

Accept overrides from parents. Pricing can be assigned at customer, site or product inventory levels and could be a rate card assignment or override assignment. If selected, this property allows overrides assigned at a higher point in the hierarchy to override prices set within this rate card

Default true
rentalRatesArray of objects(RentalRate)
supplierAccountIdinteger(int64)

The supplier account associated with BUY rate card only

Example: 1
Response
application/json
{ "id": 1, "contractOwnerIds": [ 1 ], "name": "string", "rentalProductCategoryId": 1, "rentalRateCardType": "SELL", "basedOnTemplateId": 1, "availableFrom": "2019-08-24", "availableTo": "2019-08-24", "acceptOverridesFromParents": true, "rentalRates": [ {} ], "supplierAccountId": 1 }

rental-rates

Rental rates represent the pricing rates for a rental product

Operations

inclusive-usage-plans

Inclusive usage plans represent an inclusive bundle that can be sold to Customers

Operations

inclusive-usage-balances

Inclusive usage balances represent the current balance of an inclusive usage plan for a Customer, Site or Inventory

Operations