Skip to content

Elevate Product Inventory API (2.24)

Management of usage and rental inventory items

Product inventory controls the products and services that are assigned to Sites.

Rental Product Inventory

A Rental Product Inventory (RPI) is the assignment of a Rental Product to a Site, for example, a broadband service or connection charge Where Rental Products are sold to a Customer the creation of a Rental Product Inventory notifies Elevate that there is a billable asset Properties of an RPI include start and end dates, i.e. between which dates should Elevate create a charge

Usage Product Inventory

A Usage Product Inventory (UPI) is the assignment of a Usage Product to a Site Where Usage Products are sold to a Customer the creation of a UPI notifies Elevate that there is a billable asset Properties of UPI include start and end dates, i.e. between which dates Elevate will create a charge for any usage associated with that UPI

Unlike RPIs, the creation of charges for UPIs is dependent upon Elevate processing usage records (typically referred to as Call Detail Records or CDR) that are delivered by suppliers as files or some other mechanism. The usage records are associated with the correct UPI within Elevate

Usage Product Reference

A Usage Product Reference (UPR) is an identifier for a UPI. This 'product reference' could be a telephone number or other identifier depending on the Usage Product. A single UPI can have many UPRs. Typically one of these UPRs is marked as the 'primary' (e.g. a main billing number) for the UPI. Properties of UPR include start and end dates when they are associated to the UPI

Adhoc Inventory

An Adhoc Inventory is used to represent a charge, discount or refund that will be applied on an adhoc basis, for example, a charge for equipment/upfront costs or a discretionary payment. These can be part of the standard billing cycle or, unlike other inventory items, can be part of a dedicated adhoc bill run at any time

Provisioning Details

Once a Rental Product Inventory has been created it can have a phone line provisioned with a number of settings. Provisioning Details serve as a representation of these settings, showing active/suspended lines, subscribed data bundles or add-ons, and smart/international-barred numbers

Languages
Servers
https://rest.elevatebilling.com/v2

usage-product-inventories

A Usage Product Inventory (UPI) is the assignment of a usage product to a Site. A UPI has 1 or more product reference (UPR)

Operations

rental-product-inventories

A Rental Product Inventory (RPI) is the assignment of a rental product to a Site

Operations

adhoc-inventories

An Adhoc Inventory is used to represent a charge, discount or refund that will be applied on an adhoc basis

Operations

Get a list of available adhoc inventories

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
namestring(StringFilterParam)

Filter by name

Example: name=xyz | in:x,y | like:xyz
siteIdstring(IdFilterParam)

Filter by site

Example: siteId=0
rentalProductCategoryIdstring(IdFilterParam)

Filter by rental product category

Example: rentalProductCategoryId=0
billRunIdstring(IdFilterParam)

Filter by billRunId

Example: billRunId=0
adhocBillRunIdstring(IdFilterParam)

Filter by adhocBillRunId

Example: adhocBillRunId=0
curl -i -X GET \
  'https://rest.elevatebilling.com/v2/adhoc-inventories?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&fields=id%2Cname&name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&siteId=0&rentalProductCategoryId=0&billRunId=0&adhocBillRunId=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Ad hoc inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

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

Name

supplierAccountIdinteger(int64)required

Supplier account identifier

buyPricenumber

Buy price

sellPricenumberrequired

Sell Price

billImmediatelyboolean

Bill immediately

Default false
isCreditboolean

Raise a credit note (requires billImmediately = true)

Default false
creditReasonstring<= 255 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Reason for credit

paidboolean

Is already paid?

Default false
paymentTermsinteger(int32)

Payment terms in days

paymentTypestring(PaymentMethod)

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
quantitynumberrequired

Quantity

rentalProductCategoryIdinteger(int64)required

Rental product category Id

Example: 1
taxBandIdinteger(int64)required

Tax band identifier

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

Nominal code

Example: "SALES-01QTR2"
billRunIdinteger(int64)read-only

Bill run identifier

Example: 1
adhocBillRunIdinteger(int64)read-only

Adhoc bill run identifier (if billed immediately)

Example: 1
]
Response
application/json
[ { "id": 1, "siteId": 1, "name": "string", "supplierAccountId": 0, "buyPrice": 0, "sellPrice": 0, "billImmediately": false, "isCredit": false, "creditReason": "string", "paid": false, "paymentTerms": 0, "paymentType": "CHEQUE", "quantity": 0, "rentalProductCategoryId": 1, "taxBandId": 1, "nominalCode": "SALES-01QTR2", "billRunId": 1, "adhocBillRunId": 1 } ]

Check if adhoc inventory exists

Request

Security
bearerAuth
Query
namestring(StringFilterParam)

Filter by name

Example: name=xyz | in:x,y | like:xyz
siteIdstring(IdFilterParam)

Filter by site

Example: siteId=0
rentalProductCategoryIdstring(IdFilterParam)

Filter by rental product category

Example: rentalProductCategoryId=0
curl -i -X HEAD \
  'https://rest.elevatebilling.com/v2/adhoc-inventories?name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&siteId=0&rentalProductCategoryId=0' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Exists

Body

Create a new adhoc inventory

Request

Security
bearerAuth
Bodyapplication/jsonrequired

New adhoc inventory

siteIdinteger(int64)required

Site identifier

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

Name

supplierAccountIdinteger(int64)required

Supplier account identifier

buyPricenumber

Buy price

sellPricenumberrequired

Sell Price

billImmediatelyboolean

Bill immediately

Default false
isCreditboolean

Raise a credit note (requires billImmediately = true)

Default false
creditReasonstring<= 255 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Reason for credit

paidboolean

Is already paid?

Default false
paymentTermsinteger(int32)

Payment terms in days

paymentTypestring(PaymentMethod)

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
quantitynumberrequired

Quantity

rentalProductCategoryIdinteger(int64)required

Rental product category Id

Example: 1
taxBandIdinteger(int64)required

Tax band identifier

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

Nominal code

Example: "SALES-01QTR2"
curl -i -X POST \
  https://rest.elevatebilling.com/v2/adhoc-inventories \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "siteId": 1,
    "name": "string",
    "supplierAccountId": 0,
    "buyPrice": 0,
    "sellPrice": 0,
    "billImmediately": false,
    "isCredit": false,
    "creditReason": "string",
    "paid": false,
    "paymentTerms": 0,
    "paymentType": "CHEQUE",
    "quantity": 0,
    "rentalProductCategoryId": 1,
    "taxBandId": 1,
    "nominalCode": "SALES-01QTR2"
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Ad hoc inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

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

Name

supplierAccountIdinteger(int64)required

Supplier account identifier

buyPricenumber

Buy price

sellPricenumberrequired

Sell Price

billImmediatelyboolean

Bill immediately

Default false
isCreditboolean

Raise a credit note (requires billImmediately = true)

Default false
creditReasonstring<= 255 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Reason for credit

paidboolean

Is already paid?

Default false
paymentTermsinteger(int32)

Payment terms in days

paymentTypestring(PaymentMethod)

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
quantitynumberrequired

Quantity

rentalProductCategoryIdinteger(int64)required

Rental product category Id

Example: 1
taxBandIdinteger(int64)required

Tax band identifier

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

Nominal code

Example: "SALES-01QTR2"
billRunIdinteger(int64)read-only

Bill run identifier

Example: 1
adhocBillRunIdinteger(int64)read-only

Adhoc bill run identifier (if billed immediately)

Example: 1
Response
application/json
{ "id": 1, "siteId": 1, "name": "string", "supplierAccountId": 0, "buyPrice": 0, "sellPrice": 0, "billImmediately": false, "isCredit": false, "creditReason": "string", "paid": false, "paymentTerms": 0, "paymentType": "CHEQUE", "quantity": 0, "rentalProductCategoryId": 1, "taxBandId": 1, "nominalCode": "SALES-01QTR2", "billRunId": 1, "adhocBillRunId": 1 }

Get a specific adhoc inventory

Request

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

Adhoc inventory identifier

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

Responses

Adhoc inventory found

Bodyapplication/json
idinteger(int64)read-only

Ad hoc inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

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

Name

supplierAccountIdinteger(int64)required

Supplier account identifier

buyPricenumber

Buy price

sellPricenumberrequired

Sell Price

billImmediatelyboolean

Bill immediately

Default false
isCreditboolean

Raise a credit note (requires billImmediately = true)

Default false
creditReasonstring<= 255 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Reason for credit

paidboolean

Is already paid?

Default false
paymentTermsinteger(int32)

Payment terms in days

paymentTypestring(PaymentMethod)

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
quantitynumberrequired

Quantity

rentalProductCategoryIdinteger(int64)required

Rental product category Id

Example: 1
taxBandIdinteger(int64)required

Tax band identifier

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

Nominal code

Example: "SALES-01QTR2"
billRunIdinteger(int64)read-only

Bill run identifier

Example: 1
adhocBillRunIdinteger(int64)read-only

Adhoc bill run identifier (if billed immediately)

Example: 1
Response
application/json
{ "id": 1, "siteId": 1, "name": "string", "supplierAccountId": 0, "buyPrice": 0, "sellPrice": 0, "billImmediately": false, "isCredit": false, "creditReason": "string", "paid": false, "paymentTerms": 0, "paymentType": "CHEQUE", "quantity": 0, "rentalProductCategoryId": 1, "taxBandId": 1, "nominalCode": "SALES-01QTR2", "billRunId": 1, "adhocBillRunId": 1 }

Update an ad hoc inventory

Request

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

Adhoc inventory identifier

Example: 1
Bodyapplication/json-patch+jsonrequired

A set of JSONPatch operations to be performed

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/adhoc-inventories/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "op": "replace",
      "path": "/name",
      "value": "MyAdhoc1"
    }
  ]'

Responses

Success

Bodyapplication/json
idinteger(int64)read-only

Ad hoc inventory identifier

Example: 1
siteIdinteger(int64)required

Site identifier

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

Name

supplierAccountIdinteger(int64)required

Supplier account identifier

buyPricenumber

Buy price

sellPricenumberrequired

Sell Price

billImmediatelyboolean

Bill immediately

Default false
isCreditboolean

Raise a credit note (requires billImmediately = true)

Default false
creditReasonstring<= 255 characters[\w\p{L}\s%£@&#=':;`’,|!_—–\(\)\\/\-\+\.\?\*\...

Reason for credit

paidboolean

Is already paid?

Default false
paymentTermsinteger(int32)

Payment terms in days

paymentTypestring(PaymentMethod)

Payment method

Enum"CHEQUE""DIRECT_DEBIT""CANCELLED_DD""CANCELLED_CARD""CREDIT_CARD""PAYPAL""BACS""POST_OFFICE_PAYMENT_CARD""EZYPAY""GO_CARDLESS"
quantitynumberrequired

Quantity

rentalProductCategoryIdinteger(int64)required

Rental product category Id

Example: 1
taxBandIdinteger(int64)required

Tax band identifier

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

Nominal code

Example: "SALES-01QTR2"
billRunIdinteger(int64)read-only

Bill run identifier

Example: 1
adhocBillRunIdinteger(int64)read-only

Adhoc bill run identifier (if billed immediately)

Example: 1
Response
application/json
{ "id": 1, "siteId": 1, "name": "string", "supplierAccountId": 0, "buyPrice": 0, "sellPrice": 0, "billImmediately": false, "isCredit": false, "creditReason": "string", "paid": false, "paymentTerms": 0, "paymentType": "CHEQUE", "quantity": 0, "rentalProductCategoryId": 1, "taxBandId": 1, "nominalCode": "SALES-01QTR2", "billRunId": 1, "adhocBillRunId": 1 }

provisioning-details

A group of settings which detail the provisioning state of a rental product inventory

Operations