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

Get a list of available contract profiles

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

Filter by contract owner

Example: contractOwnerId=0
namestring(StringFilterParam)

Filter by contract profile name

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

Filter by rollover contract profile

Example: rolloverContractProfileId=0
includeSupersededVersionsstring(BooleanFilterParam)

Filter to include superseded i.e. old versions of the profile

Example: includeSupersededVersions=true | false
curl -i -X GET \
  'https://rest.elevatebilling.com/v1/contract-profiles?page=1&pageSize=100&sort=id%2Cname+%7C+name%3Adesc&fields=id%2Cname&id=0&contractOwnerId=0&name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz&rolloverContractProfileId=0&includeSupersededVersions=true+%2C+false' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)read-only

Contract profile identifier

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

Contract profile Name

contractOwnerIdinteger(int32)required

Contract Owner Identifier

createdDatestring(date-time)read-only

Date when this contract profile was created

contractTerminteger(int32)required

Contract term in months

earlyTerminationFixedChargenumberrequired

Early termination fixed charge (in major currency)

earlyTerminationPercentageChargeinteger(int32)[ 0 .. 1000 ]required

Early termination charge as a percentage

rolloverContractProfileIdinteger(int64)

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

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

supersededByContractProfileIdinteger(int64)read-only

Where this contract profile has been updated and hence superseded by a new contract profile (this contract profile can no longer be assigned)

]
Response
application/json
[ { "id": 1, "name": "string", "contractOwnerId": 0, "createdDate": "2019-08-24T14:15:22Z", "contractTerm": 0, "earlyTerminationFixedCharge": 0, "earlyTerminationPercentageCharge": 1000, "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "supersededByContractProfileId": 0 } ]

Create a new contract profile

Request

Security
bearerAuth
Bodyapplication/jsonrequired

New contract profile

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

Contract profile Name

contractOwnerIdinteger(int32)required

Contract Owner Identifier

contractTerminteger(int32)required

Contract term in months

earlyTerminationFixedChargenumberrequired

Early termination fixed charge (in major currency)

earlyTerminationPercentageChargeinteger(int32)[ 0 .. 1000 ]required

Early termination charge as a percentage

rolloverContractProfileIdinteger(int64)

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

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/contract-profiles \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "string",
    "contractOwnerId": 0,
    "contractTerm": 0,
    "earlyTerminationFixedCharge": 0,
    "earlyTerminationPercentageCharge": 1000,
    "rolloverContractProfileId": 0,
    "renewalAlertDays": 28,
    "noticePeriodDays": 2147483647
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)read-only

Contract profile identifier

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

Contract profile Name

contractOwnerIdinteger(int32)required

Contract Owner Identifier

createdDatestring(date-time)read-only

Date when this contract profile was created

contractTerminteger(int32)required

Contract term in months

earlyTerminationFixedChargenumberrequired

Early termination fixed charge (in major currency)

earlyTerminationPercentageChargeinteger(int32)[ 0 .. 1000 ]required

Early termination charge as a percentage

rolloverContractProfileIdinteger(int64)

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

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

supersededByContractProfileIdinteger(int64)read-only

Where this contract profile has been updated and hence superseded by a new contract profile (this contract profile can no longer be assigned)

Response
application/json
{ "id": 1, "name": "string", "contractOwnerId": 0, "createdDate": "2019-08-24T14:15:22Z", "contractTerm": 0, "earlyTerminationFixedCharge": 0, "earlyTerminationPercentageCharge": 1000, "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "supersededByContractProfileId": 0 }

Check if contract profile exists

Request

Security
bearerAuth
Query
contractOwnerIdstring(IdFilterParam)

Filter by contract owner

Example: contractOwnerId=0
namestring(StringFilterParam)

Filter by contract profile name

Example: name=xyz | in:x,y | like:xyz
curl -i -X HEAD \
  'https://rest.elevatebilling.com/v1/contract-profiles?contractOwnerId=0&name=xyz+%7C+in%3Ax%2Cy+%7C+like%3Axyz' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

Exists

Body

Get a specific contract profile

Request

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

Contract profile identifier

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

Responses

Contract profile found

Bodyapplication/json
idinteger(int64)read-only

Contract profile identifier

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

Contract profile Name

contractOwnerIdinteger(int32)required

Contract Owner Identifier

createdDatestring(date-time)read-only

Date when this contract profile was created

contractTerminteger(int32)required

Contract term in months

earlyTerminationFixedChargenumberrequired

Early termination fixed charge (in major currency)

earlyTerminationPercentageChargeinteger(int32)[ 0 .. 1000 ]required

Early termination charge as a percentage

rolloverContractProfileIdinteger(int64)

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

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

supersededByContractProfileIdinteger(int64)read-only

Where this contract profile has been updated and hence superseded by a new contract profile (this contract profile can no longer be assigned)

Response
application/json
{ "id": 1, "name": "string", "contractOwnerId": 0, "createdDate": "2019-08-24T14:15:22Z", "contractTerm": 0, "earlyTerminationFixedCharge": 0, "earlyTerminationPercentageCharge": 1000, "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "supersededByContractProfileId": 0 }

Update a contract profile

Request

Note that changing contract term or early termination charges will create a new profile version

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

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

Responses

Success

Bodyapplication/json
idinteger(int64)read-only

Contract profile identifier

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

Contract profile Name

contractOwnerIdinteger(int32)required

Contract Owner Identifier

createdDatestring(date-time)read-only

Date when this contract profile was created

contractTerminteger(int32)required

Contract term in months

earlyTerminationFixedChargenumberrequired

Early termination fixed charge (in major currency)

earlyTerminationPercentageChargeinteger(int32)[ 0 .. 1000 ]required

Early termination charge as a percentage

rolloverContractProfileIdinteger(int64)

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

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

supersededByContractProfileIdinteger(int64)read-only

Where this contract profile has been updated and hence superseded by a new contract profile (this contract profile can no longer be assigned)

Response
application/json
{ "id": 1, "name": "string", "contractOwnerId": 0, "createdDate": "2019-08-24T14:15:22Z", "contractTerm": 0, "earlyTerminationFixedCharge": 0, "earlyTerminationPercentageCharge": 1000, "rolloverContractProfileId": 0, "renewalAlertDays": 28, "noticePeriodDays": 2147483647, "supersededByContractProfileId": 0 }

Delete a contract profile

Request

Can only be done if not in use in contract or as roll-over profile

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

Contract profile identifier

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

Responses

Success

Body

customer-contracts

Contract profiles that are assigned to customer and sites

Operations