Skip to content

Elevate Pricing API (2.28)

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

rental-rates

Rental rates represent the pricing rates for a rental product

Operations

Get a list of rental rates for a rate card

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
rentalRateCardIdstring(IdFilterParam)required

Filter by rental rate card - mandatory

Example: rentalRateCardId=0
rentalProductNamestring(StringFilterParam)

Filter by rental product name

Example: rentalProductName=xyz | in:x,y | like:xyz
pricestring(NumericFilterParam)

Filter by price

Example: price=1 | in:1,2 | gt:1 | lt:1 | ge:1 | le:1
rentalRatePriceTypestring(StringFilterParam)

Filter by rental rate price type

Example: rentalRatePriceType=xyz | in:x,y | like:xyz
rentalRateTypestring(StringFilterParam)

Filter by rental rate type

Example: rentalRateType=xyz | in:x,y | like:xyz
periodsInAdvancestring(StringFilterParam)

Filter by periods in advance

Example: periodsInAdvance=xyz | in:x,y | like:xyz
showOnInvoicestring(BooleanFilterParam)

Filter by show on invoice flag

Example: showOnInvoice=true | false
rentalRateFrequencystring(StringFilterParam)

Filter by rental rate frequency

Example: rentalRateFrequency=xyz | in:x,y | like:xyz
startDatestring(DateFilterParam)

Filter by start date

Example: startDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
endDatestring(DateFilterParam)

Filter by end date

Example: endDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
logicstring(StringFilterParam)

Logical operator used to combine filters. Accepted values AND (default), OR. When AND is used, only records matching all filters are returned. When OR is used, records matching any filter are returned

Example: logic=xyz | in:x,y | like:xyz
curl -i -X GET \
  'https://rest.elevatebilling.com/v2/rental-rates?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&rentalRateCardId=0&rentalProductName=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&price=1+%7C+in%3A1%2C2+%7C+gt%3A1+%7C+lt%3A1+%7C+ge%3A1+%7C+le%3A1&rentalRatePriceType=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&rentalRateType=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&periodsInAdvance=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&showOnInvoice=true+%2C+false&rentalRateFrequency=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&startDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&endDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&logic=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Rental rate identifier

Example: 1
rentalRateCardIdinteger(int64)

Rental rate card identifier - required when creating a new rental rate

Example: 1
rentalProductNamestring<= 255 charactersread-only

Display name of the rental product

rentalProductTypestringread-only

Type of the rental product (PRODUCT/FEATURE/EVENT) - used for display

Enum"PRODUCT""FEATURE""EVENT"
rentalProductParentNamestring<= 255 charactersread-only

Display name of the parent rental product - set for FEATURE and EVENT products

rentalProductGrandparentNamestring<= 255 charactersread-only

Display name of the grandparent rental product - set for EVENT products

rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
pricenumberrequired

Price

rentalRateTypestring(RentalRateType)

Rental rate type. Required when rentalRatePriceType is RENTAL

Enum"ADVANCE""ARREARS"
rentalRatePriceTypestring(RentalRatePriceType)required

Rental price type - recurring rental or one off?

Enum"RENTAL""ONEOFF"
periodsInAdvancestring(PeriodsInAdvance)

Number of periods in advance (i.e. Months) for rentals. Required when rentalRateType is ADVANCE

Enum"STANDARD""ADVANCEDPLUSONEMONTH"
rentalRateFrequencystring(RentalRateFrequency)

Frequency of rental. Required when rentalRatePriceType is RENTAL

Enum"DAILY""WEEKLY""MONTHLY""YEARLY""QUARTERLY""SIXMONTHS""TWENTYFOURMONTHS"
startDatestring(date)required

Start date

endDatestring(date)

End date

showOnInvoiceboolean

Show on invoice?

Default true
]
Response
application/json
[ { "id": 1, "rentalRateCardId": 1, "rentalProductName": "string", "rentalProductType": "PRODUCT", "rentalProductParentName": "string", "rentalProductGrandparentName": "string", "rentalProductId": 1, "price": 0, "rentalRateType": "ADVANCE", "rentalRatePriceType": "RENTAL", "periodsInAdvance": "STANDARD", "rentalRateFrequency": "DAILY", "startDate": "2019-08-24", "endDate": "2019-08-24", "showOnInvoice": true } ]

Get the total count of rental rates for a rate card

Request

Security
bearerAuth
Query
rentalRateCardIdstring(IdFilterParam)required

Filter by rental rate card - mandatory

Example: rentalRateCardId=0
rentalProductNamestring(StringFilterParam)

Filter by rental product name

Example: rentalProductName=xyz | in:x,y | like:xyz
pricestring(NumericFilterParam)

Filter by price

Example: price=1 | in:1,2 | gt:1 | lt:1 | ge:1 | le:1
rentalRatePriceTypestring(StringFilterParam)

Filter by rental rate price type

Example: rentalRatePriceType=xyz | in:x,y | like:xyz
rentalRateTypestring(StringFilterParam)

Filter by rental rate type

Example: rentalRateType=xyz | in:x,y | like:xyz
periodsInAdvancestring(StringFilterParam)

Filter by periods in advance

Example: periodsInAdvance=xyz | in:x,y | like:xyz
showOnInvoicestring(BooleanFilterParam)

Filter by show on invoice flag

Example: showOnInvoice=true | false
rentalRateFrequencystring(StringFilterParam)

Filter by rental rate frequency

Example: rentalRateFrequency=xyz | in:x,y | like:xyz
startDatestring(DateFilterParam)

Filter by start date

Example: startDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
endDatestring(DateFilterParam)

Filter by end date

Example: endDate=yyyy-MM-dd | lt:yyyy-MM-dd | gt:yyyy-MM-dd | gtn:yyyy-MM-dd
logicstring(StringFilterParam)

Logical operator used to combine filters. Accepted values AND (default), OR. When AND is used, only records matching all filters are returned. When OR is used, records matching any filter are returned

Example: logic=xyz | in:x,y | like:xyz
curl -i -X HEAD \
  'https://rest.elevatebilling.com/v2/rental-rates?rentalRateCardId=0&rentalProductName=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&price=1+%7C+in%3A1%2C2+%7C+gt%3A1+%7C+lt%3A1+%7C+ge%3A1+%7C+le%3A1&rentalRatePriceType=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&rentalRateType=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&periodsInAdvance=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&showOnInvoice=true+%2C+false&rentalRateFrequency=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&startDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&endDate=yyyy-MM-dd+%2C+lt%3Ayyyy-MM-dd+%2C+gt%3Ayyyy-MM-dd+%2C+gtn%3Ayyyy-MM-dd&logic=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Exists

Headers
X-Total-Countinteger

Total number of rental rates for the specified rate card

Body

Create a new rental rate

Request

Security
bearerAuth
Bodyapplication/jsonrequired

New rental rate

rentalRateCardIdinteger(int64)

Rental rate card identifier - required when creating a new rental rate

Example: 1
rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
pricenumberrequired

Price

rentalRateTypestring(RentalRateType)

Rental rate type. Required when rentalRatePriceType is RENTAL

Enum"ADVANCE""ARREARS"
rentalRatePriceTypestring(RentalRatePriceType)required

Rental price type - recurring rental or one off?

Enum"RENTAL""ONEOFF"
periodsInAdvancestring(PeriodsInAdvance)

Number of periods in advance (i.e. Months) for rentals. Required when rentalRateType is ADVANCE

Enum"STANDARD""ADVANCEDPLUSONEMONTH"
rentalRateFrequencystring(RentalRateFrequency)

Frequency of rental. Required when rentalRatePriceType is RENTAL

Enum"DAILY""WEEKLY""MONTHLY""YEARLY""QUARTERLY""SIXMONTHS""TWENTYFOURMONTHS"
startDatestring(date)required

Start date

endDatestring(date)

End date

showOnInvoiceboolean

Show on invoice?

Default true
curl -i -X POST \
  https://rest.elevatebilling.com/v2/rental-rates \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "rentalRateCardId": 1,
    "rentalProductId": 1,
    "price": 0,
    "rentalRateType": "ADVANCE",
    "rentalRatePriceType": "RENTAL",
    "periodsInAdvance": "STANDARD",
    "rentalRateFrequency": "DAILY",
    "startDate": "2019-08-24",
    "endDate": "2019-08-24",
    "showOnInvoice": true
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Rental rate identifier

Example: 1
rentalRateCardIdinteger(int64)

Rental rate card identifier - required when creating a new rental rate

Example: 1
rentalProductNamestring<= 255 charactersread-only

Display name of the rental product

rentalProductTypestringread-only

Type of the rental product (PRODUCT/FEATURE/EVENT) - used for display

Enum"PRODUCT""FEATURE""EVENT"
rentalProductParentNamestring<= 255 charactersread-only

Display name of the parent rental product - set for FEATURE and EVENT products

rentalProductGrandparentNamestring<= 255 charactersread-only

Display name of the grandparent rental product - set for EVENT products

rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
pricenumberrequired

Price

rentalRateTypestring(RentalRateType)

Rental rate type. Required when rentalRatePriceType is RENTAL

Enum"ADVANCE""ARREARS"
rentalRatePriceTypestring(RentalRatePriceType)required

Rental price type - recurring rental or one off?

Enum"RENTAL""ONEOFF"
periodsInAdvancestring(PeriodsInAdvance)

Number of periods in advance (i.e. Months) for rentals. Required when rentalRateType is ADVANCE

Enum"STANDARD""ADVANCEDPLUSONEMONTH"
rentalRateFrequencystring(RentalRateFrequency)

Frequency of rental. Required when rentalRatePriceType is RENTAL

Enum"DAILY""WEEKLY""MONTHLY""YEARLY""QUARTERLY""SIXMONTHS""TWENTYFOURMONTHS"
startDatestring(date)required

Start date

endDatestring(date)

End date

showOnInvoiceboolean

Show on invoice?

Default true
Response
application/json
{ "id": 1, "rentalRateCardId": 1, "rentalProductName": "string", "rentalProductType": "PRODUCT", "rentalProductParentName": "string", "rentalProductGrandparentName": "string", "rentalProductId": 1, "price": 0, "rentalRateType": "ADVANCE", "rentalRatePriceType": "RENTAL", "periodsInAdvance": "STANDARD", "rentalRateFrequency": "DAILY", "startDate": "2019-08-24", "endDate": "2019-08-24", "showOnInvoice": true }

Get a specific rental rate

Request

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

Rental rate identifier

Example: 1
curl -i -X GET \
  https://rest.elevatebilling.com/v2/rental-rates/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Rental rate identifier

Example: 1
rentalRateCardIdinteger(int64)

Rental rate card identifier - required when creating a new rental rate

Example: 1
rentalProductNamestring<= 255 charactersread-only

Display name of the rental product

rentalProductTypestringread-only

Type of the rental product (PRODUCT/FEATURE/EVENT) - used for display

Enum"PRODUCT""FEATURE""EVENT"
rentalProductParentNamestring<= 255 charactersread-only

Display name of the parent rental product - set for FEATURE and EVENT products

rentalProductGrandparentNamestring<= 255 charactersread-only

Display name of the grandparent rental product - set for EVENT products

rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
pricenumberrequired

Price

rentalRateTypestring(RentalRateType)

Rental rate type. Required when rentalRatePriceType is RENTAL

Enum"ADVANCE""ARREARS"
rentalRatePriceTypestring(RentalRatePriceType)required

Rental price type - recurring rental or one off?

Enum"RENTAL""ONEOFF"
periodsInAdvancestring(PeriodsInAdvance)

Number of periods in advance (i.e. Months) for rentals. Required when rentalRateType is ADVANCE

Enum"STANDARD""ADVANCEDPLUSONEMONTH"
rentalRateFrequencystring(RentalRateFrequency)

Frequency of rental. Required when rentalRatePriceType is RENTAL

Enum"DAILY""WEEKLY""MONTHLY""YEARLY""QUARTERLY""SIXMONTHS""TWENTYFOURMONTHS"
startDatestring(date)required

Start date

endDatestring(date)

End date

showOnInvoiceboolean

Show on invoice?

Default true
Response
application/json
{ "id": 1, "rentalRateCardId": 1, "rentalProductName": "string", "rentalProductType": "PRODUCT", "rentalProductParentName": "string", "rentalProductGrandparentName": "string", "rentalProductId": 1, "price": 0, "rentalRateType": "ADVANCE", "rentalRatePriceType": "RENTAL", "periodsInAdvance": "STANDARD", "rentalRateFrequency": "DAILY", "startDate": "2019-08-24", "endDate": "2019-08-24", "showOnInvoice": true }

Update a rental rate within a rental rate card

Request

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

Rental rate identifier

Example: 1
Bodyapplication/json-patch+jsonrequired

A set of JSONPatch operations to be performed. Note that rental rates can only be updated here. To add a new rate, use /rental-rate-cards/ PATCH 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-rates/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "op": "replace",
      "path": "/price",
      "value": 1.03
    }
  ]'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Rental rate identifier

Example: 1
rentalRateCardIdinteger(int64)

Rental rate card identifier - required when creating a new rental rate

Example: 1
rentalProductNamestring<= 255 charactersread-only

Display name of the rental product

rentalProductTypestringread-only

Type of the rental product (PRODUCT/FEATURE/EVENT) - used for display

Enum"PRODUCT""FEATURE""EVENT"
rentalProductParentNamestring<= 255 charactersread-only

Display name of the parent rental product - set for FEATURE and EVENT products

rentalProductGrandparentNamestring<= 255 charactersread-only

Display name of the grandparent rental product - set for EVENT products

rentalProductIdinteger(int64)required

Rental product identifier

Example: 1
pricenumberrequired

Price

rentalRateTypestring(RentalRateType)

Rental rate type. Required when rentalRatePriceType is RENTAL

Enum"ADVANCE""ARREARS"
rentalRatePriceTypestring(RentalRatePriceType)required

Rental price type - recurring rental or one off?

Enum"RENTAL""ONEOFF"
periodsInAdvancestring(PeriodsInAdvance)

Number of periods in advance (i.e. Months) for rentals. Required when rentalRateType is ADVANCE

Enum"STANDARD""ADVANCEDPLUSONEMONTH"
rentalRateFrequencystring(RentalRateFrequency)

Frequency of rental. Required when rentalRatePriceType is RENTAL

Enum"DAILY""WEEKLY""MONTHLY""YEARLY""QUARTERLY""SIXMONTHS""TWENTYFOURMONTHS"
startDatestring(date)required

Start date

endDatestring(date)

End date

showOnInvoiceboolean

Show on invoice?

Default true
Response
application/json
{ "id": 1, "rentalRateCardId": 1, "rentalProductName": "string", "rentalProductType": "PRODUCT", "rentalProductParentName": "string", "rentalProductGrandparentName": "string", "rentalProductId": 1, "price": 0, "rentalRateType": "ADVANCE", "rentalRatePriceType": "RENTAL", "periodsInAdvance": "STANDARD", "rentalRateFrequency": "DAILY", "startDate": "2019-08-24", "endDate": "2019-08-24", "showOnInvoice": true }

Delete rental rate

Request

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

Rental rate identifier

Example: 1
curl -i -X DELETE \
  https://rest.elevatebilling.com/v2/rental-rates/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Body

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

rental-discount-plans

Rental discount plans provide percentage-based discounts on rental products for Customers

Operations

rental-discount-plan-rules

Rental discount plan rules define the discount percentage for specific rental product categories

Operations