Skip to content

Elevate Contract Management (1.11)

Contract Management

Provides read & write access to manage contract profiles and to allocate contracts to customers

Definitions

  • Contract Profile - used to define the contract terms including early termination charges and contract term length
  • Customer Contract - a contract profile that has been assigned to a customer
Languages
Servers
https://rest.elevatebilling.com/v1

contract-profiles

Contract profiles are used to define early termination charges and contract term length

Operations

customer-contracts

Contract profiles that are assigned to customer and sites

Operations

Get a list of customer contracts

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
idstring(IdFilterParam)

Filter by id

Example: id=0
namestring(StringFilterParam)

Filter by customer contract name

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

Filter by customer

Example: customerId=0
siteIdstring(IdFilterParam)

Filter by site

Example: siteId=0
contractProfileIdstring(IdFilterParam)

Filter by contract profile

Example: contractProfileId=0
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
rolloverContractProfileIdstring(IdFilterParam)

Filter by rollover contract profile

Example: rolloverContractProfileId=0
renewalAlertstring(BooleanFilterParam)

Filter by contracts within renewal alert day(s)

Example: renewalAlert=true | false
noticePeriodstring(BooleanFilterParam)

Filter by contracts within notice period alert day(s)

Example: noticePeriod=true | false
filterstring(StringFilterParam)

Filter by text (Name, Assignment Level, Profile Name or Roll-over Profile Name)

Example: filter=xyz | in:x,y | like:xyz
includeSupersededVersionsstring(BooleanFilterParam)

Filter to include superseded i.e. old versions of the customer contract

Example: includeSupersededVersions=true | false
recentWithRPIsOrFuturestring(BooleanFilterParam)

If true, then return only customer contracts associated to RPIs that are 'recent', or customer contracts starting in the future

Example: recentWithRPIsOrFuture=true | false
curl -i -X GET \
  'https://rest.elevatebilling.com/v1/customer-contracts?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&fields=id%2Cname&id=0&name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&customerId=0&siteId=0&contractProfileId=0&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&rolloverContractProfileId=0&renewalAlert=true+%2C+false&noticePeriod=true+%2C+false&filter=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&includeSupersededVersions=true+%2C+false&recentWithRPIsOrFuture=true+%2C+false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Customer contract identifier

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

Generated contract Name

customerIdinteger(int64)required

Customer identifier

siteIdinteger(int64)

Site identifier to restrict contract to a particular site (optional)

contractProfileIdinteger(int64)required

Contract profile for this customer contract

startDatestring(date)required

Effective start date of the customer contract

endDatestring(date)

Date when this customer contract ends based on start date and contract profile term

createdDatestring(date-time)read-only

Date when this customer contract was created

rolloverContractProfileIdinteger(int64)

Once term of this contract ends, contract will auto-renew as this contract

renewalAlertDaysinteger(int32)[ 0 .. 28 ]

Renewal alert will be given this many days before the contract ends

noticePeriodDaysinteger(int32)[ 0 .. 2147483647 ]

Notice period alert will be given this many days before the contract ends

previousCustomerContractIdinteger(int64)read-only

Where this contract had rolled-over from a previous contract, contains the previous contract

renewedCustomerContractIdinteger(int64)read-only

Where this contract rolled-over, contains the next contract that replaced this contract

]
Response
application/json
[ { "id": 1, "name": "string", "customerId": 0, "siteId": 0, "contractProfileId": 0, "startDate": "2019-08-24", "endDate": "2019-08-24", "createdDate": "2019-08-24T14:15:22Z", "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "previousCustomerContractId": 0, "renewedCustomerContractId": 0 } ]

Create a new customer contract

Request

Security
bearerAuth
Bodyapplication/jsonrequired

New customer contract

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

Generated contract Name

customerIdinteger(int64)required

Customer identifier

siteIdinteger(int64)

Site identifier to restrict contract to a particular site (optional)

contractProfileIdinteger(int64)required

Contract profile for this customer contract

startDatestring(date)required

Effective start date of the customer contract

endDatestring(date)

Date when this customer contract ends based on start date and contract profile term

rolloverContractProfileIdinteger(int64)

Once term of this contract ends, contract will auto-renew as this contract

renewalAlertDaysinteger(int32)[ 0 .. 28 ]

Renewal alert will be given this many days before the contract ends

noticePeriodDaysinteger(int32)[ 0 .. 2147483647 ]

Notice period alert will be given this many days before the contract ends

curl -i -X POST \
  https://rest.elevatebilling.com/v1/customer-contracts \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "customerId": 0,
    "siteId": 0,
    "contractProfileId": 0,
    "startDate": "2019-08-24",
    "endDate": "2019-08-24",
    "rolloverContractProfileId": 0,
    "renewalAlertDays": 28,
    "noticePeriodDays": 2147483647
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Customer contract identifier

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

Generated contract Name

customerIdinteger(int64)required

Customer identifier

siteIdinteger(int64)

Site identifier to restrict contract to a particular site (optional)

contractProfileIdinteger(int64)required

Contract profile for this customer contract

startDatestring(date)required

Effective start date of the customer contract

endDatestring(date)

Date when this customer contract ends based on start date and contract profile term

createdDatestring(date-time)read-only

Date when this customer contract was created

rolloverContractProfileIdinteger(int64)

Once term of this contract ends, contract will auto-renew as this contract

renewalAlertDaysinteger(int32)[ 0 .. 28 ]

Renewal alert will be given this many days before the contract ends

noticePeriodDaysinteger(int32)[ 0 .. 2147483647 ]

Notice period alert will be given this many days before the contract ends

previousCustomerContractIdinteger(int64)read-only

Where this contract had rolled-over from a previous contract, contains the previous contract

renewedCustomerContractIdinteger(int64)read-only

Where this contract rolled-over, contains the next contract that replaced this contract

Response
application/json
{ "id": 1, "name": "string", "customerId": 0, "siteId": 0, "contractProfileId": 0, "startDate": "2019-08-24", "endDate": "2019-08-24", "createdDate": "2019-08-24T14:15:22Z", "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "previousCustomerContractId": 0, "renewedCustomerContractId": 0 }

Check if customer contract exists

Request

Security
bearerAuth
Query
namestring(StringFilterParam)

Filter by customer contract name

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

Filter by customer

Example: customerId=0
siteIdstring(IdFilterParam)

Filter by site

Example: siteId=0
contractProfileIdstring(IdFilterParam)

Filter by contract profile

Example: contractProfileId=0
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
rolloverContractProfileIdstring(IdFilterParam)

Filter by rollover contract profile

Example: rolloverContractProfileId=0
recentWithRPIsOrFuturestring(BooleanFilterParam)

If true, then return only customer contracts associated to RPIs that are 'recent', or customer contracts starting in the future

Example: recentWithRPIsOrFuture=true | false
curl -i -X HEAD \
  'https://rest.elevatebilling.com/v1/customer-contracts?name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&customerId=0&siteId=0&contractProfileId=0&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&rolloverContractProfileId=0&recentWithRPIsOrFuture=true+%2C+false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Exists

Body

Get a specific customer contract

Request

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

Customer contract identifier

Example: 1
curl -i -X GET \
  https://rest.elevatebilling.com/v1/customer-contracts/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Customer contract found

Bodyapplication/json
idinteger(int64)read-only

Customer contract identifier

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

Generated contract Name

customerIdinteger(int64)required

Customer identifier

siteIdinteger(int64)

Site identifier to restrict contract to a particular site (optional)

contractProfileIdinteger(int64)required

Contract profile for this customer contract

startDatestring(date)required

Effective start date of the customer contract

endDatestring(date)

Date when this customer contract ends based on start date and contract profile term

createdDatestring(date-time)read-only

Date when this customer contract was created

rolloverContractProfileIdinteger(int64)

Once term of this contract ends, contract will auto-renew as this contract

renewalAlertDaysinteger(int32)[ 0 .. 28 ]

Renewal alert will be given this many days before the contract ends

noticePeriodDaysinteger(int32)[ 0 .. 2147483647 ]

Notice period alert will be given this many days before the contract ends

previousCustomerContractIdinteger(int64)read-only

Where this contract had rolled-over from a previous contract, contains the previous contract

renewedCustomerContractIdinteger(int64)read-only

Where this contract rolled-over, contains the next contract that replaced this contract

Response
application/json
{ "id": 1, "name": "string", "customerId": 0, "siteId": 0, "contractProfileId": 0, "startDate": "2019-08-24", "endDate": "2019-08-24", "createdDate": "2019-08-24T14:15:22Z", "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "previousCustomerContractId": 0, "renewedCustomerContractId": 0 }

Update a customer contract

Request

Note that once billing starts, only roll-over profile, renewal alert days, and notice period days can be edited. End date can be set to terminate and renew with a new contract prior to roll-over

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

Customer contract 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/v1/customer-contracts/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "op": "replace",
      "path": "/name",
      "value": "MyFavContractProfile"
    }
  ]'

Responses

Success

Bodyapplication/json
idinteger(int64)read-only

Customer contract identifier

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

Generated contract Name

customerIdinteger(int64)required

Customer identifier

siteIdinteger(int64)

Site identifier to restrict contract to a particular site (optional)

contractProfileIdinteger(int64)required

Contract profile for this customer contract

startDatestring(date)required

Effective start date of the customer contract

endDatestring(date)

Date when this customer contract ends based on start date and contract profile term

createdDatestring(date-time)read-only

Date when this customer contract was created

rolloverContractProfileIdinteger(int64)

Once term of this contract ends, contract will auto-renew as this contract

renewalAlertDaysinteger(int32)[ 0 .. 28 ]

Renewal alert will be given this many days before the contract ends

noticePeriodDaysinteger(int32)[ 0 .. 2147483647 ]

Notice period alert will be given this many days before the contract ends

previousCustomerContractIdinteger(int64)read-only

Where this contract had rolled-over from a previous contract, contains the previous contract

renewedCustomerContractIdinteger(int64)read-only

Where this contract rolled-over, contains the next contract that replaced this contract

Response
application/json
{ "id": 1, "name": "string", "customerId": 0, "siteId": 0, "contractProfileId": 0, "startDate": "2019-08-24", "endDate": "2019-08-24", "createdDate": "2019-08-24T14:15:22Z", "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "previousCustomerContractId": 0, "renewedCustomerContractId": 0 }

Delete a customer contract

Request

Delete a customer contract - can only be done if not used by any rental product inventories

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

Customer contract identifier

Example: 1
curl -i -X DELETE \
  https://rest.elevatebilling.com/v1/customer-contracts/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Success

Body

Get a list of RPI and Customer Contract assignments

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
idstring(IdFilterParam)

Filter by id

Example: id=0
customerContractIdstring(IdFilterParam)

Filter by customer contract

Example: customerContractId=0
rentalProductInventoryIdstring(IdFilterParam)

Filter by RPI

Example: rentalProductInventoryId=0
activestring(BooleanFilterParam)

Filter active contract assignments

Example: active=true | false
curl -i -X GET \
  'https://rest.elevatebilling.com/v1/customer-contract-assignments?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&fields=id%2Cname&id=0&customerContractId=0&rentalProductInventoryId=0&active=true+%2C+false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Customer contract identifier

Example: 1
rentalProductInventoryIdinteger(int64)required

Rental Product Inventory identifier

customerContractIdinteger(int64)required

Customer contract identifier to assign RPI - must be same customer (+ optionally site) as RPI

createdDatestring(date-time)read-only

Date when this customer contract assignment was created

activeboolean

is the customer contract assignment active

Default true
]
Response
application/json
[ { "id": 1, "rentalProductInventoryId": 0, "customerContractId": 0, "createdDate": "2019-08-24T14:15:22Z", "active": true } ]

Create a new customer contract RPI assignment

Request

Security
bearerAuth
Bodyapplication/jsonrequired

New customer contract assignment

rentalProductInventoryIdinteger(int64)required

Rental Product Inventory identifier

customerContractIdinteger(int64)required

Customer contract identifier to assign RPI - must be same customer (+ optionally site) as RPI

activeboolean

is the customer contract assignment active

Default true
curl -i -X POST \
  https://rest.elevatebilling.com/v1/customer-contract-assignments \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "rentalProductInventoryId": 0,
    "customerContractId": 0,
    "active": true
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Customer contract identifier

Example: 1
rentalProductInventoryIdinteger(int64)required

Rental Product Inventory identifier

customerContractIdinteger(int64)required

Customer contract identifier to assign RPI - must be same customer (+ optionally site) as RPI

createdDatestring(date-time)read-only

Date when this customer contract assignment was created

activeboolean

is the customer contract assignment active

Default true
Response
application/json
{ "id": 1, "rentalProductInventoryId": 0, "customerContractId": 0, "createdDate": "2019-08-24T14:15:22Z", "active": true }

Check if customer contract assignment exists

Request

Security
bearerAuth
Query
customerContractIdstring(IdFilterParam)

Filter by customer contract

Example: customerContractId=0
rentalProductInventoryIdstring(IdFilterParam)

Filter by RPI

Example: rentalProductInventoryId=0
activestring(BooleanFilterParam)

Filter active contract assignments

Example: active=true | false
curl -i -X HEAD \
  'https://rest.elevatebilling.com/v1/customer-contract-assignments?customerContractId=0&rentalProductInventoryId=0&active=true+%2C+false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Exists

Body

Get a specific customer contract assignment

Request

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

Customer contract assignment identifier

Example: 1
curl -i -X GET \
  https://rest.elevatebilling.com/v1/customer-contract-assignments/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Customer contract assignment found

Bodyapplication/json
idinteger(int64)read-only

Customer contract identifier

Example: 1
rentalProductInventoryIdinteger(int64)required

Rental Product Inventory identifier

customerContractIdinteger(int64)required

Customer contract identifier to assign RPI - must be same customer (+ optionally site) as RPI

createdDatestring(date-time)read-only

Date when this customer contract assignment was created

activeboolean

is the customer contract assignment active

Default true
Response
application/json
{ "id": 1, "rentalProductInventoryId": 0, "customerContractId": 0, "createdDate": "2019-08-24T14:15:22Z", "active": true }

Delete a customer contract RPI assignment

Request

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

Customer contract assignment identifier

Example: 1
curl -i -X DELETE \
  https://rest.elevatebilling.com/v1/customer-contract-assignments/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Success

Body

Update a customer contract RPI assignment

Request

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

Customer contract assignment 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/v1/customer-contract-assignments/1 \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json-patch+json' \
  -d '[
    {
      "op": "replace",
      "path": "/active",
      "value": "false"
    }
  ]'

Responses

Success

Bodyapplication/json
idinteger(int64)read-only

Customer contract identifier

Example: 1
rentalProductInventoryIdinteger(int64)required

Rental Product Inventory identifier

customerContractIdinteger(int64)required

Customer contract identifier to assign RPI - must be same customer (+ optionally site) as RPI

createdDatestring(date-time)read-only

Date when this customer contract assignment was created

activeboolean

is the customer contract assignment active

Default true
Response
application/json
{ "id": 1, "rentalProductInventoryId": 0, "customerContractId": 0, "createdDate": "2019-08-24T14:15:22Z", "active": true }