Call our help line: 1 866-787-2548

REST Reference

Assets

Behaviours

Billing

Companies

Dispatch

File Hosting

Maintenance

Providers and Configurations

Reports

Users and Groups

API Definitions

GET/timezones

Gets a list of Timezones.
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
timezonesArray.<Timezone>The list of valid system Timezones.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number,
	"timezones": [
		{
			"code": string,
			"dst": boolean,
			"name": string,
			"offset": number
		}
	]
}
Possible exceptions
HTTP StatusError CodeDescription
5002System Timezone list could not be retrieved.
If you receive this error, please contact technical support.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.

GET/timezones/{code}

Gets details of the specified Timezone.
URL Parameters
ParameterTypeRequiredDescription
codestringrequiredUnique identifier of the Timezone.
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
timezoneTimezoneThe requested Timezone.
timezone.codecodifiedUnique timezone code
timezone.dstbooleanIndicates whether this timezone abides by daylight savings
timezone.namestringCommon timezone name
timezone.offsetint16Minutes offset from GMT
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number,
	"timezone": {
		"code": string,
		"dst": boolean,
		"name": string,
		"offset": number
	}
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a timezone object, or it is invalid.
4003The timezone object does not contain a code, or it is invalid.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40462The Timezone was not found by its codified identifier.

Assets

GET/assets?includeSuspended=boolean&includeMessages=boolean&includeTasks=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets (when no additional query-string parameters are given) or /companies/{your-company-id}/assets?{keys=values} (when at least one additional query-string key/value is given).
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeMessagesbooleanoptionalfalseFalse by default, but when true will include Asset.messages..
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
includeTasksbooleanoptionalfalseFalse by default, but when true will include Asset.tasks..
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

PATCH/assets

Creates a new, or updates an existing Asset.
HTTP Request body description
PropertyTypeRequiredDescription
assetObject.<string, ?>alwaysA simple object to contain the Asset parameters.
asset.attributesObject.<string, AssetAttribute>optionalAllows you to add, remove, and replace attributes. For each AssetAttribute in the attributes object, the value will be replaced on the Asset. If value is null, the attribute is removed from the Asset. If the key in the attributes object is different from the codified(AssetAttribute.name) in the object, the attribute of the key is removed from the Asset, and one of the codified name is added to the Asset. If a new value or null is not provided for a current attribute, no change is made.
asset.colourcolour
maximum-length: 22
optionalThe pretty-pretty colour of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.companyuint64?createThe identifier of the Company to which this Asset belongs. After creation, this value is read-only.
asset.contactuint64?create (for person)The contact card details for this Asset. Only applicable if asset.kind is AssetType.person.
asset.engineHoursdouble?optionalThe number of hours the engine has been running for this Vehicle. Only applicable if asset.kind is AssetType.vehicle.
asset.iconuint64?
see: Icon.id
createThe identifier of the Icon used to represent this Asset in the UI.
asset.iduint64?updateThe unique identifier of the Asset you want to update.
asset.kindAssetType?createThe kind of Asset being created. After creation, this value is read-only.
asset.labelsArray.<codified>
for values see: LabelStyle.code
optionalA list of codified label names to categorize/organize this Asset.
asset.makestringoptionalThe manufacturer of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.messagingAddressstringoptionalThe email address or phone number of this Asset when a Person's Contact card is blank, or the Provider's PND is not installed.
asset.modelstringoptionalThe model of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.namestring
maximum-length: 100
createName for the Asset.
asset.notesstringoptionalNotes for the Asset.
asset.odometerdouble?optionalThe distance travelled by this Asset. Can be a GPS odometer, OBD-II odometer, or other depending on scripts.
asset.picturesArray.<uint64>
for values see: Picture.id
optionalThe identifiers of Pictures of this Asset.
asset.platestringoptionalThe license plate of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.referencesObject.<string, string>optionalName/value collections of custom fields used to refer to external systems. If the value is null, the references are removed from the Asset.
asset.relationshipsArray.<uint64>
for values see: Asset.id
optionalA list of related asset identifiers like a driver for a Vehicle, or Trailer for a truck.
asset.serialstringoptionalThe manufacturer's identification number of this Trailer. Only applicable if asset.kind is AssetType.vehicle.
asset.tagsArray.<string>optionalReplaces the Asset's status tags with the given list of codified tags.
asset.vArray.<int32>optional
asset.vinstringoptionalThe Vehicle Identification Number of this Vehicle. Only applicable if asset.kind is AssetType.trailer.
asset.yearuint16?optionalThe year this Vehicle or Trailer was built. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"asset": {
		"attributes": {
			string: {
				"asset": number,
				"complex": string,
				"dts": string,
				"global": boolean,
				"name": string,
				"provider": string,
				"raw": Object,
				"simple": string,
				"unit": string
			}
		},
		"colour": string,
		"company": number,
		"contact": number,
		"engineHours": number,
		"icon": number,
		"id": number,
		"kind": string,
		"labels": [
			string
		],
		"make": string,
		"messagingAddress": string,
		"model": string,
		"name": string,
		"notes": string,
		"odometer": number,
		"pictures": [
			number
		],
		"plate": string,
		"references": {
			string: string
		},
		"relationships": [
			number
		],
		"serial": string,
		"tags": [
			string
		],
		"v": [
			number
		],
		"vin": string,
		"year": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
assetRespIdCompanyAn object which contains the "id" and "company" keys.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003No valid changes would be performed.
4003During create: When creating a new Asset, a name was not given.
4003During create: When creating a new Asset, a company was not given.
4003During create: When creating a new Asset, an icon was not given.
4003During create (for person): When creating a new Person, a contact was not given.
4003During update: When updating an Asset, the name was given as null or blank.
4003During update: When updating an Asset, the v was not an array, or contained too few numbers.
4003During create: The kind value is not a known AssetType.
Returns an ErrorDetailEnum as the errorDetails.
4003One of the asset.attributes names is invalid.
Returns an ErrorDetailInput as the errorDetails.
4003One of the asset.attributes values is not null or an object.
Returns an ErrorDetailInput as the errorDetails.
4003The asset.attributes object is given, but empty.
Returns an ErrorDetailInput as the errorDetails.
4003The asset.messagingAddress contains values that cannot be parsed as a phone number or email address.
Returns an ErrorDetailInput as the errorDetails.
4003One of the asset.pictures given in the array cannot be parsed, or is a value less than zero.
Returns an ErrorDetailInput as the errorDetails.
4003The asset.references were not provided as null or an object.
Returns an ErrorDetailInput as the errorDetails.
4003One of the asset.relationships given in the array cannot be parsed, or is a value less than zero.
Returns an ErrorDetailInput as the errorDetails.
4003During create: When creating a new Asset, too many asset.references were given as input.
Returns an ErrorDetailMinMax as the errorDetails.
4015You do not have permission to create a new Asset.
4015You do not have permission to update this Asset.
4006During update: When updating an Asset, an incorrect v value was given as input.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420During update: When updating, the Asset was not found by its unique identifier.
40422One of the Assets given as input in the asset.relationships array was not found.
Returns an ErrorDetailBadIds as the errorDetails.
40431The asset.contact given as input was not found.
40433The asset.icon given as input was not found.
40469One of the asset.pictures given as input in the pictures array was not found.
Returns an ErrorDetailBadIds as the errorDetails.
40171During update: Changing the labels on this Asset in the requested way would grant you elevated access to it.
Returns an ErrorDetailEscalation as the errorDetails.
40396During update: When updating, the Asset is suspended. Before making changes to an Asset, it must be reactivated.
409130During update: When updating an Asset, the asset.company can not be changed.
409130During update: When updating an Asset, the asset.kind can not be changed.
409130During update: When updating an Asset, the resulting number of asset.references would be too high.

DELETE/assets

Deletes an existing Asset.
Response description
PropertyTypeDescription
assetRespDeletedAn object which contains the Asset's id, owning Company id, and deleted status.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.deletedbooleanFlag showing if the object is deleted.
asset.iduint64?Identifier given as input for the command.
asset.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to delete this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

GET/assets/{assetId}?includeMessages=boolean&includeTasks=boolean&includeDeleted=boolean

Gets details of the specified Asset.
URL Parameters
ParameterTypeRequiredDefaultDescription
assetIduint64requiredUnique identifier of the Asset.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeMessagesbooleanoptionalfalseFalse by default, but when true, the command will also return AssetMessages for the asset.
includeTasksbooleanoptionalfalseFalse by default, but when true the command will also return the AssetDispatch for the asset.
Response description
PropertyTypeDescription
assetAssetThe requested Asset.
asset.attributesObject.<codified, AssetAttribute>
for keys see: AssetAttribute.name
A list of attributes given to this asset by the connection device such as wiring state, VBus, etc.
asset.companyuint64The company to which this asset belongs.
asset.dispatchAssetDispatchCurrent jobs dispatched and driving directions.
asset.dispatch.companyuint64The company to which this asset belongs.
asset.dispatch.directionsArray.<DispatchDirection>Driving directions and route path details.
asset.dispatch.iduint64Unique identifier of this asset.
asset.dispatch.jobsArray.<uint64>The current list of DispatchJobs assigned to the asset.
asset.dispatch.lastDispatcheddatetimeTimestamp from the last update to this AssetDispatch by a User, Machine, Asset, or an assigned DispatchJob.
asset.dispatch.processedUtcdatetimeWhen the was change procesed.
asset.dispatch.tasks
Deprecated
Array.<DispatchTask>The current list of tasks assigned to this asset.
asset.dispatch.updatedby: login, from: monster
asset.dispatch.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
asset.iconuint64
see: Icon.id
The icon that represents this asset on the map and in lists.
asset.iduint64Unique identifier of this asset.
asset.kindAssetTypeType of asset.
asset.labelsArray.<codified>
for values see: LabelStyle.code
Codified label names.
asset.messagesArray.<AssetMessage>A list of messages sent to or from this asset.
asset.messagingAddressstring
maximum-length: 254
The fall-back address which is used to send Messages if the asset is a Person and has no Contact phone or email.
asset.namestring
maximum-length: 100
This thing's name.
asset.notesstringNotes about it.
asset.odometerdoubleThe cumulative distance travelled in kilometres.
asset.picturesArray.<uint64>
for values see: Picture.id
A list of photos of this thing.
asset.placesObject.<uint64, AssetPlaceStatus>
for keys see: Place.id
The current state of this asset's interaction with known Places.
asset.positionPositionThe things GPS coordinates including speed, bearing, and street information.
asset.position.accuracyuint32?Threshold in meters for the accuracy of a position
asset.position.addressstringThe road segment description
asset.position.altitudedouble?Distance in meters from the sea level
asset.position.bearinguint16?Direction of travel
asset.position.dtsdatetimeThe Date/Time of the GPS reading
asset.position.latdouble?Latitude
asset.position.lngdouble?Longitude
asset.position.originstringProvider Identifier
asset.position.speeddouble?Speed
asset.position.speedLimitdouble?The posted speed limit for the road segment
asset.position.streetAddressStreetAddressA better description of the current road-segment
asset.position.streetAddress.citystringCity name.
asset.position.streetAddress.countrystring
fixed length: 2
Country code. Codes should be a value from ISO 3166-1 alpha-2.
asset.position.streetAddress.isTollbooleanIndicates that there is a toll for the current road segment.
asset.position.streetAddress.numberstringHouse number.
asset.position.streetAddress.postalstringPostal or zip code.
asset.position.streetAddress.provincestring
fixed length: 2
Province or state code. Codes should be a value from ISO 3166-2.
asset.position.streetAddress.regionstringRegion name.
asset.position.streetAddress.streetstringFull street name.
asset.processedUtcdatetimeWhen the was change procesed.
asset.providersArray.<string>
for values see: Provider.id
The list of devices providing events for this asset.
asset.reference
Deprecated
string
maximum-length: 100
A custom field used to refer to an external system.
Use asset.references[AssetGeneral.REFERENCE] instead.
asset.referencesObject.<string, string>
maximum-count: 10
maximum-length of keys: 20
maximum-length of values: 100
Name/value collections of custom fields used to refer to external systems.
asset.relationshipsArray.<uint64>
for values see: Asset.id
A list of assets related to this one; like a Person for a Vehicle (driver).
asset.tagsArray.<codified>
for values see: LabelStyle.code
The codified status tag names.
asset.updatedby: login, from: monster
asset.vArray.<int32>
fixed count: 3
Object version keys used to validate synchronization for all object properties.
asset.v[0]int32The first element is for the AssetGeneral properties.
asset.v[1]int32The second element is for the AssetAdvanced properties.
asset.v[2]int32The third element is for the Asset.dispatch properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"attributes": {
			string: {
				"asset": number,
				"complex": string,
				"dts": string,
				"global": boolean,
				"name": string,
				"provider": string,
				"raw": Object,
				"simple": string,
				"unit": string
			}
		},
		"company": number,
		"dispatch": {
			"company": number,
			"directions": [
				{
					"directions": [
						{ /* recursive DispatchDirection objects */ }
					],
					"distance": number,
					"duration": string,
					"instructions": string,
					"job": number,
					"path": string,
					"step": number
				}
			],
			"id": number,
			"jobs": [
				number
			],
			"lastDispatched": string,
			"processedUtc": string,
			"tasks": [
				{
					"address": string,
					"arrived": string,
					"asset": number,
					"attachments": [
						number
					],
					"company": number,
					"completed": string,
					"created": string,
					"duration": string,
					"eta": string,
					"id": number,
					"instructions": string,
					"latlng": {
						"lat": number,
						"lng": number
					},
					"name": string,
					"notes": string,
					"place": number,
					"processedUtc": string,
					"reference": string,
					"references": {
						string: string
					},
					"signatory": string,
					"signature": boolean,
					"status": string,
					"updated": {
					},
					"v": [
						number
					]
				}
			],
			"updated": {
			},
			"v": [
				number
			]
		},
		"icon": number,
		"id": number,
		"kind": string,
		"labels": [
			string
		],
		"messages": [
			{
				"asset": number,
				"body": string,
				"company": number,
				"delivered": string,
				"folder": string,
				"from": string,
				"id": number,
				"incoming": boolean,
				"kind": string,
				"processed": string,
				"processedUtc": string,
				"readBy": string,
				"status": string,
				"subject": string,
				"to": string,
				"updated": {
				},
				"user": string,
				"v": [
					number
				]
			}
		],
		"messagingAddress": string,
		"name": string,
		"notes": string,
		"odometer": number,
		"pictures": [
			number
		],
		"places": {
			string: {
				"enter": string,
				"kind": string,
				"latest": string
			}
		},
		"position": {
			"accuracy": number,
			"address": string,
			"altitude": number,
			"bearing": number,
			"dts": string,
			"lat": number,
			"lng": number,
			"origin": string,
			"speed": number,
			"speedLimit": number,
			"streetAddress": {
				"city": string,
				"country": string,
				"isToll": boolean,
				"number": string,
				"postal": string,
				"province": string,
				"region": string,
				"street": string
			}
		},
		"processedUtc": string,
		"providers": [
			string
		],
		"reference": string,
		"references": {
			string: string
		},
		"relationships": [
			number
		],
		"tags": [
			string
		],
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to view this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

POST/assets/{assetId}

Creates a new, or updates an existing Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64?optionalUnique identifier of the Asset. This value is optional, and ignored by the command.
HTTP Request body description
PropertyTypeRequiredDescription
assetObject.<string, ?>alwaysA simple object to contain the Asset parameters.
asset.attributesObject.<string, AssetAttribute>optionalAllows you to add, remove, and replace attributes. For each AssetAttribute in the attributes object, the value will be replaced on the Asset. If value is null, the attribute is removed from the Asset. If the key in the attributes object is different from the codified(AssetAttribute.name) in the object, the attribute of the key is removed from the Asset, and one of the codified name is added to the Asset. If a new value or null is not provided for a current attribute, no change is made.
asset.colourcolour
maximum-length: 22
optionalThe pretty-pretty colour of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.companyuint64?createThe identifier of the Company to which this Asset belongs. After creation, this value is read-only.
asset.contactuint64?create (for person)The contact card details for this Asset. Only applicable if asset.kind is AssetType.person.
asset.engineHoursdouble?optionalThe number of hours the engine has been running for this Vehicle. Only applicable if asset.kind is AssetType.vehicle.
asset.iconuint64?
see: Icon.id
createThe identifier of the Icon used to represent this Asset in the UI.
asset.iduint64?updateThe unique identifier of the Asset you want to update.
asset.kindAssetType?createThe kind of Asset being created. After creation, this value is read-only.
asset.labelsArray.<codified>
for values see: LabelStyle.code
optionalA list of codified label names to categorize/organize this Asset.
asset.makestringoptionalThe manufacturer of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.messagingAddressstringoptionalThe email address or phone number of this Asset when a Person's Contact card is blank, or the Provider's PND is not installed.
asset.modelstringoptionalThe model of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.namestring
maximum-length: 100
createName for the Asset.
asset.notesstringoptionalNotes for the Asset.
asset.odometerdouble?optionalThe distance travelled by this Asset. Can be a GPS odometer, OBD-II odometer, or other depending on scripts.
asset.picturesArray.<uint64>
for values see: Picture.id
optionalThe identifiers of Pictures of this Asset.
asset.platestringoptionalThe license plate of this Vehicle or Trailer. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
asset.referencesObject.<string, string>optionalName/value collections of custom fields used to refer to external systems. If the value is null, the references are removed from the Asset.
asset.relationshipsArray.<uint64>
for values see: Asset.id
optionalA list of related asset identifiers like a driver for a Vehicle, or Trailer for a truck.
asset.serialstringoptionalThe manufacturer's identification number of this Trailer. Only applicable if asset.kind is AssetType.vehicle.
asset.tagsArray.<string>optionalReplaces the Asset's status tags with the given list of codified tags.
asset.vArray.<int32>optional
asset.vinstringoptionalThe Vehicle Identification Number of this Vehicle. Only applicable if asset.kind is AssetType.trailer.
asset.yearuint16?optionalThe year this Vehicle or Trailer was built. Only applicable if asset.kind is AssetType.vehicle or AssetType.trailer.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"asset": {
		"attributes": {
			string: {
				"asset": number,
				"complex": string,
				"dts": string,
				"global": boolean,
				"name": string,
				"provider": string,
				"raw": Object,
				"simple": string,
				"unit": string
			}
		},
		"colour": string,
		"company": number,
		"contact": number,
		"engineHours": number,
		"icon": number,
		"id": number,
		"kind": string,
		"labels": [
			string
		],
		"make": string,
		"messagingAddress": string,
		"model": string,
		"name": string,
		"notes": string,
		"odometer": number,
		"pictures": [
			number
		],
		"plate": string,
		"references": {
			string: string
		},
		"relationships": [
			number
		],
		"serial": string,
		"tags": [
			string
		],
		"v": [
			number
		],
		"vin": string,
		"year": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
assetRespIdCompanyAn object which contains the "id" and "company" keys.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003No valid changes would be performed.
4003During create: When creating a new Asset, a name was not given.
4003During create: When creating a new Asset, a company was not given.
4003During create: When creating a new Asset, an icon was not given.
4003During create (for person): When creating a new Person, a contact was not given.
4003During update: When updating an Asset, the name was given as null or blank.
4003During update: When updating an Asset, the v was not an array, or contained too few numbers.
4003During create: The kind value is not a known AssetType.
Returns an ErrorDetailEnum as the errorDetails.
4003One of the asset.attributes names is invalid.
Returns an ErrorDetailInput as the errorDetails.
4003One of the asset.attributes values is not null or an object.
Returns an ErrorDetailInput as the errorDetails.
4003The asset.attributes object is given, but empty.
Returns an ErrorDetailInput as the errorDetails.
4003The asset.messagingAddress contains values that cannot be parsed as a phone number or email address.
Returns an ErrorDetailInput as the errorDetails.
4003One of the asset.pictures given in the array cannot be parsed, or is a value less than zero.
Returns an ErrorDetailInput as the errorDetails.
4003The asset.references were not provided as null or an object.
Returns an ErrorDetailInput as the errorDetails.
4003One of the asset.relationships given in the array cannot be parsed, or is a value less than zero.
Returns an ErrorDetailInput as the errorDetails.
4003During create: When creating a new Asset, too many asset.references were given as input.
Returns an ErrorDetailMinMax as the errorDetails.
4015You do not have permission to create a new Asset.
4015You do not have permission to update this Asset.
4006During update: When updating an Asset, an incorrect v value was given as input.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420During update: When updating, the Asset was not found by its unique identifier.
40422One of the Assets given as input in the asset.relationships array was not found.
Returns an ErrorDetailBadIds as the errorDetails.
40431The asset.contact given as input was not found.
40433The asset.icon given as input was not found.
40469One of the asset.pictures given as input in the pictures array was not found.
Returns an ErrorDetailBadIds as the errorDetails.
40171During update: Changing the labels on this Asset in the requested way would grant you elevated access to it.
Returns an ErrorDetailEscalation as the errorDetails.
40396During update: When updating, the Asset is suspended. Before making changes to an Asset, it must be reactivated.
409130During update: When updating an Asset, the asset.company can not be changed.
409130During update: When updating an Asset, the asset.kind can not be changed.
409130During update: When updating an Asset, the resulting number of asset.references would be too high.

DELETE/assets/{assetId}

Deletes an existing Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64requiredUnique identifier of the Asset.
Response description
PropertyTypeDescription
assetRespDeletedAn object which contains the Asset's id, owning Company id, and deleted status.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.deletedbooleanFlag showing if the object is deleted.
asset.iduint64?Identifier given as input for the command.
asset.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to delete this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

GET/assets/{assetId}/advanceds?includeDeleted=boolean

Gets details of the specified Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64requiredUnique identifier of the AssetAdvanced.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
Response description
PropertyTypeDescription
assetAdvancedAssetAdvancedThe requested Asset.
assetAdvanced.attributesObject.<codified, AssetAttribute>
for keys see: AssetAttribute.name
A list of attributes given to this asset by the connection device such as wiring state, VBus, etc.
assetAdvanced.companyuint64The company to which this asset belongs.
assetAdvanced.iduint64Unique identifier of this asset.
assetAdvanced.odometerdoubleThe cumulative distance travelled in kilometres.
assetAdvanced.placesObject.<uint64, AssetPlaceStatus>
for keys see: Place.id
The current state of this asset's interaction with known Places.
assetAdvanced.positionPositionThe things GPS coordinates including speed, bearing, and street information.
assetAdvanced.position.accuracyuint32?Threshold in meters for the accuracy of a position
assetAdvanced.position.addressstringThe road segment description
assetAdvanced.position.altitudedouble?Distance in meters from the sea level
assetAdvanced.position.bearinguint16?Direction of travel
assetAdvanced.position.dtsdatetimeThe Date/Time of the GPS reading
assetAdvanced.position.latdouble?Latitude
assetAdvanced.position.lngdouble?Longitude
assetAdvanced.position.originstringProvider Identifier
assetAdvanced.position.speeddouble?Speed
assetAdvanced.position.speedLimitdouble?The posted speed limit for the road segment
assetAdvanced.position.streetAddressStreetAddressA better description of the current road-segment
assetAdvanced.position.streetAddress.citystringCity name.
assetAdvanced.position.streetAddress.countrystring
fixed length: 2
Country code. Codes should be a value from ISO 3166-1 alpha-2.
assetAdvanced.position.streetAddress.isTollbooleanIndicates that there is a toll for the current road segment.
assetAdvanced.position.streetAddress.numberstringHouse number.
assetAdvanced.position.streetAddress.postalstringPostal or zip code.
assetAdvanced.position.streetAddress.provincestring
fixed length: 2
Province or state code. Codes should be a value from ISO 3166-2.
assetAdvanced.position.streetAddress.regionstringRegion name.
assetAdvanced.position.streetAddress.streetstringFull street name.
assetAdvanced.processedUtcdatetimeWhen the was change procesed.
assetAdvanced.providersArray.<string>
for values see: Provider.id
The list of devices providing events for this asset.
assetAdvanced.relationshipsArray.<uint64>
for values see: Asset.id
A list of assets related to this one; like a Person for a Vehicle (driver).
assetAdvanced.tagsArray.<codified>
for values see: LabelStyle.code
The codified status tag names.
assetAdvanced.updatedby: login, from: monster
assetAdvanced.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetAdvanced": {
		"attributes": {
			string: {
				"asset": number,
				"complex": string,
				"dts": string,
				"global": boolean,
				"name": string,
				"provider": string,
				"raw": Object,
				"simple": string,
				"unit": string
			}
		},
		"company": number,
		"id": number,
		"odometer": number,
		"places": {
			string: {
				"enter": string,
				"kind": string,
				"latest": string
			}
		},
		"position": {
			"accuracy": number,
			"address": string,
			"altitude": number,
			"bearing": number,
			"dts": string,
			"lat": number,
			"lng": number,
			"origin": string,
			"speed": number,
			"speedLimit": number,
			"streetAddress": {
				"city": string,
				"country": string,
				"isToll": boolean,
				"number": string,
				"postal": string,
				"province": string,
				"region": string,
				"street": string
			}
		},
		"processedUtc": string,
		"providers": [
			string
		],
		"relationships": [
			number
		],
		"tags": [
			string
		],
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to view this Asset.
4015You do not have permission to view this Asset's advanced details.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

GET/assets/{assetId}/dispatches?includeDeleted=boolean

Gets details of the specified Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64requiredUnique identifier of the AssetDispatch.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
Response description
PropertyTypeDescription
assetDispatchAssetDispatchThe requested AssetDispatch.
assetDispatch.companyuint64The company to which this asset belongs.
assetDispatch.directionsArray.<DispatchDirection>Driving directions and route path details.
assetDispatch.iduint64Unique identifier of this asset.
assetDispatch.jobsArray.<uint64>The current list of DispatchJobs assigned to the asset.
assetDispatch.lastDispatcheddatetimeTimestamp from the last update to this AssetDispatch by a User, Machine, Asset, or an assigned DispatchJob.
assetDispatch.processedUtcdatetimeWhen the was change procesed.
assetDispatch.tasks
Deprecated
Array.<DispatchTask>The current list of tasks assigned to this asset.
assetDispatch.updatedby: login, from: monster
assetDispatch.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetDispatch": {
		"company": number,
		"directions": [
			{
				"directions": [
					{ /* recursive DispatchDirection objects */ }
				],
				"distance": number,
				"duration": string,
				"instructions": string,
				"job": number,
				"path": string,
				"step": number
			}
		],
		"id": number,
		"jobs": [
			number
		],
		"lastDispatched": string,
		"processedUtc": string,
		"tasks": [
			{
				"address": string,
				"arrived": string,
				"asset": number,
				"attachments": [
					number
				],
				"company": number,
				"completed": string,
				"created": string,
				"duration": string,
				"eta": string,
				"id": number,
				"instructions": string,
				"latlng": {
					"lat": number,
					"lng": number
				},
				"name": string,
				"notes": string,
				"place": number,
				"processedUtc": string,
				"reference": string,
				"references": {
					string: string
				},
				"signatory": string,
				"signature": boolean,
				"status": string,
				"updated": {
				},
				"v": [
					number
				]
			}
		],
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to view this Asset.
4015You do not have permission to view this Asset's dispatch details.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

GET/assets/{assetId}/generals?includeDeleted=boolean

Gets details of the specified Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64requiredUnique identifier of the AssetGeneral.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
Response description
PropertyTypeDescription
assetGeneralAssetGeneralThe requested Asset.
assetGeneral.companyuint64The company to which this asset belongs.
assetGeneral.iconuint64
see: Icon.id
The icon that represents this asset on the map and in lists.
assetGeneral.iduint64Unique identifier of this asset.
assetGeneral.kindAssetTypeType of asset.
assetGeneral.labelsArray.<codified>
for values see: LabelStyle.code
Codified label names.
assetGeneral.messagingAddressstring
maximum-length: 254
The fall-back address which is used to send Messages if the asset is a Person and has no Contact phone or email.
assetGeneral.namestring
maximum-length: 100
This thing's name.
assetGeneral.notesstringNotes about it.
assetGeneral.picturesArray.<uint64>
for values see: Picture.id
A list of photos of this thing.
assetGeneral.processedUtcdatetimeWhen the was change procesed.
assetGeneral.reference
Deprecated
string
maximum-length: 100
A custom field used to refer to an external system.
Use asset.references[AssetGeneral.REFERENCE] instead.
assetGeneral.referencesObject.<string, string>
maximum-count: 10
maximum-length of keys: 20
maximum-length of values: 100
Name/value collections of custom fields used to refer to external systems.
assetGeneral.updatedby: login, from: monster
assetGeneral.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetGeneral": {
		"company": number,
		"icon": number,
		"id": number,
		"kind": string,
		"labels": [
			string
		],
		"messagingAddress": string,
		"name": string,
		"notes": string,
		"pictures": [
			number
		],
		"processedUtc": string,
		"reference": string,
		"references": {
			string: string
		},
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to view this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

PATCH/assets/{assetId}/restore

Restores the specified Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64requiredUnique identifier of the Asset.
HTTP Request body description
PropertyTypeRequiredDescription
assetParamIdalwaysAn object to contain the "id" of the Asset.
asset.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"asset": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
assetRespDeletedAn object which contains the Asset's id, owning Company id, and deleted status.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.deletedbooleanFlag showing if the object is deleted.
asset.iduint64?Identifier given as input for the command.
asset.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to restore this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.
40021The Asset was found, but is not marked as deleted.

PATCH/assets/{assetId}/revive

Revives (disables suspension on) an existing Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64requiredUnique identifier of the Asset.
HTTP Request body description
PropertyTypeRequiredDescription
assetParamIdalwaysAn object to contain the "id" of the Asset.
asset.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"asset": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
assetRespSuspendedAn object which contains the Asset's unique identifier and suspended status.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
asset.suspendedbooleanFlag showing if the object is suspended.
asset.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number,
		"suspended": boolean,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to revive this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.
40397The Asset was found, but is not marked as suspended.

PATCH/assets/{assetId}/suspend

Suspends an existing Asset.
URL Parameters
ParameterTypeRequiredDescription
assetIduint64requiredUnique identifier of the Asset.
HTTP Request body description
PropertyTypeRequiredDescription
assetParamIdalwaysAn object to contain the "id" of the Asset.
asset.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"asset": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
assetRespSuspendedAn object which contains the Asset's unique identifier and suspended status.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
asset.suspendedbooleanFlag showing if the object is suspended.
asset.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number,
		"suspended": boolean,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to suspended this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.
40396The Asset was not found, but it is already marked as suspended.
40397The Asset was previously revived within the minimum period.
Returns an ErrorDetailLocked as the errorDetails.

GET/assets/advanceds?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets/advanceds (when no additional query-string parameters are given) or /companies/{your-company-id}/assets/advanceds?{keys=values} (when at least one additional query-string key/value is given).
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

GET/assets/advanceds?labels={string}&includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets/advanceds?labels={labels}.
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
labelsstringoptionalLabels to match the DispatchJob.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

GET/assets/dispatches?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets/dispatches (when no additional query-string parameters are given) or /companies/{your-company-id}/assets/dispatches?{keys=values} (when at least one additional query-string key/value is given).
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

GET/assets/dispatches?labels={string}&includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets/dispatches?labels={labels}.
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
labelsstringoptionalLabels to match the DispatchJob.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

GET/assets/generals?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets/generals (when no additional query-string parameters are given) or /companies/{your-company-id}/assets/generals?{keys=values} (when at least one additional query-string key/value is given).
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

GET/assets/generals?labels={string}&includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets/generals?labels={labels}.
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
labelsstringoptionalLabels to match the DispatchJob.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

PATCH/assets/revive

Revives (disables suspension on) an existing Asset.
HTTP Request body description
PropertyTypeRequiredDescription
assetParamIdalwaysAn object to contain the "id" of the Asset.
asset.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"asset": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
assetRespSuspendedAn object which contains the Asset's unique identifier and suspended status.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
asset.suspendedbooleanFlag showing if the object is suspended.
asset.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number,
		"suspended": boolean,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to revive this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.
40397The Asset was found, but is not marked as suspended.

PATCH/assets/suspend

Suspends an existing Asset.
HTTP Request body description
PropertyTypeRequiredDescription
assetParamIdalwaysAn object to contain the "id" of the Asset.
asset.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"asset": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
assetRespSuspendedAn object which contains the Asset's unique identifier and suspended status.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
asset.suspendedbooleanFlag showing if the object is suspended.
asset.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number,
		"suspended": boolean,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to suspended this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.
40396The Asset was not found, but it is already marked as suspended.
40397The Asset was previously revived within the minimum period.
Returns an ErrorDetailLocked as the errorDetails.

GET/assets?labels={string}&includeSuspended=boolean&includeMessages=boolean&includeTasks=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/assets?labels={labels}.
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
includeMessagesbooleanoptionalfalseFalse by default, but when true will include Asset.messages..
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
includeTasksbooleanoptionalfalseFalse by default, but when true will include Asset.tasks..
labelsstringoptionalLabels to match the DispatchJob.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

GET/companies/{companyId}/assets?includeSuspended=boolean&includeMessages=boolean&includeTasks=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
includeMessagesbooleanoptionalfalseFalse by default, but when true, the command will also return AssetMessages for the asset.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
includeTasksbooleanoptionalfalseFalse by default, but when true, the command will also return the DispatchTasks for the asset.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetsArray.<Asset>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assets": [
		{
			"attributes": {
				string: {
					"asset": number,
					"complex": string,
					"dts": string,
					"global": boolean,
					"name": string,
					"provider": string,
					"raw": Object,
					"simple": string,
					"unit": string
				}
			},
			"company": number,
			"dispatch": {
				"company": number,
				"directions": [
					{
						"directions": [
							{ /* recursive DispatchDirection objects */ }
						],
						"distance": number,
						"duration": string,
						"instructions": string,
						"job": number,
						"path": string,
						"step": number
					}
				],
				"id": number,
				"jobs": [
					number
				],
				"lastDispatched": string,
				"processedUtc": string,
				"tasks": [
					{
						"address": string,
						"arrived": string,
						"asset": number,
						"attachments": [
							number
						],
						"company": number,
						"completed": string,
						"created": string,
						"duration": string,
						"eta": string,
						"id": number,
						"instructions": string,
						"latlng": {
							"lat": number,
							"lng": number
						},
						"name": string,
						"notes": string,
						"place": number,
						"processedUtc": string,
						"reference": string,
						"references": {
							string: string
						},
						"signatory": string,
						"signature": boolean,
						"status": string,
						"updated": {
						},
						"v": [
							number
						]
					}
				],
				"updated": {
				},
				"v": [
					number
				]
			},
			"icon": number,
			"id": number,
			"kind": string,
			"labels": [
				string
			],
			"messages": [
				{
					"asset": number,
					"body": string,
					"company": number,
					"delivered": string,
					"folder": string,
					"from": string,
					"id": number,
					"incoming": boolean,
					"kind": string,
					"processed": string,
					"processedUtc": string,
					"readBy": string,
					"status": string,
					"subject": string,
					"to": string,
					"updated": {
					},
					"user": string,
					"v": [
						number
					]
				}
			],
			"messagingAddress": string,
			"name": string,
			"notes": string,
			"odometer": number,
			"pictures": [
				number
			],
			"places": {
				string: {
					"enter": string,
					"kind": string,
					"latest": string
				}
			},
			"position": {
				"accuracy": number,
				"address": string,
				"altitude": number,
				"bearing": number,
				"dts": string,
				"lat": number,
				"lng": number,
				"origin": string,
				"speed": number,
				"speedLimit": number,
				"streetAddress": {
					"city": string,
					"country": string,
					"isToll": boolean,
					"number": string,
					"postal": string,
					"province": string,
					"region": string,
					"street": string
				}
			},
			"processedUtc": string,
			"providers": [
				string
			],
			"reference": string,
			"references": {
				string: string
			},
			"relationships": [
				number
			],
			"tags": [
				string
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets?{keys=values}?includeSuspended=boolean&includeMessages=boolean&includeTasks=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number&{keys=values}

Gets the list of Assets for the specified Company only if one of the specified Asset.references fields match. If no references are specified, it will match any Asset with no references. If a reference value is null, it will match any Asset without that reference key.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
includeMessagesbooleanoptionalfalseFalse by default, but when true, the command will also return AssetMessages for the asset.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
includeTasksbooleanoptionalfalseFalse by default, but when true, the command will also return the DispatchTasks for the asset.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetsArray.<Asset>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
referencesObject.<string, string>The reference string given as input.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assets": [
		{
			"attributes": {
				string: {
					"asset": number,
					"complex": string,
					"dts": string,
					"global": boolean,
					"name": string,
					"provider": string,
					"raw": Object,
					"simple": string,
					"unit": string
				}
			},
			"company": number,
			"dispatch": {
				"company": number,
				"directions": [
					{
						"directions": [
							{ /* recursive DispatchDirection objects */ }
						],
						"distance": number,
						"duration": string,
						"instructions": string,
						"job": number,
						"path": string,
						"step": number
					}
				],
				"id": number,
				"jobs": [
					number
				],
				"lastDispatched": string,
				"processedUtc": string,
				"tasks": [
					{
						"address": string,
						"arrived": string,
						"asset": number,
						"attachments": [
							number
						],
						"company": number,
						"completed": string,
						"created": string,
						"duration": string,
						"eta": string,
						"id": number,
						"instructions": string,
						"latlng": {
							"lat": number,
							"lng": number
						},
						"name": string,
						"notes": string,
						"place": number,
						"processedUtc": string,
						"reference": string,
						"references": {
							string: string
						},
						"signatory": string,
						"signature": boolean,
						"status": string,
						"updated": {
						},
						"v": [
							number
						]
					}
				],
				"updated": {
				},
				"v": [
					number
				]
			},
			"icon": number,
			"id": number,
			"kind": string,
			"labels": [
				string
			],
			"messages": [
				{
					"asset": number,
					"body": string,
					"company": number,
					"delivered": string,
					"folder": string,
					"from": string,
					"id": number,
					"incoming": boolean,
					"kind": string,
					"processed": string,
					"processedUtc": string,
					"readBy": string,
					"status": string,
					"subject": string,
					"to": string,
					"updated": {
					},
					"user": string,
					"v": [
						number
					]
				}
			],
			"messagingAddress": string,
			"name": string,
			"notes": string,
			"odometer": number,
			"pictures": [
				number
			],
			"places": {
				string: {
					"enter": string,
					"kind": string,
					"latest": string
				}
			},
			"position": {
				"accuracy": number,
				"address": string,
				"altitude": number,
				"bearing": number,
				"dts": string,
				"lat": number,
				"lng": number,
				"origin": string,
				"speed": number,
				"speedLimit": number,
				"streetAddress": {
					"city": string,
					"country": string,
					"isToll": boolean,
					"number": string,
					"postal": string,
					"province": string,
					"region": string,
					"street": string
				}
			},
			"processedUtc": string,
			"providers": [
				string
			],
			"reference": string,
			"references": {
				string: string
			},
			"relationships": [
				number
			],
			"tags": [
				string
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"references": {
		string: string
	},
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The references is not an object, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/advanceds?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetAdvancedsArray.<AssetAdvanced>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetAdvanceds": [
		{
			"attributes": {
				string: {
					"asset": number,
					"complex": string,
					"dts": string,
					"global": boolean,
					"name": string,
					"provider": string,
					"raw": Object,
					"simple": string,
					"unit": string
				}
			},
			"company": number,
			"id": number,
			"odometer": number,
			"places": {
				string: {
					"enter": string,
					"kind": string,
					"latest": string
				}
			},
			"position": {
				"accuracy": number,
				"address": string,
				"altitude": number,
				"bearing": number,
				"dts": string,
				"lat": number,
				"lng": number,
				"origin": string,
				"speed": number,
				"speedLimit": number,
				"streetAddress": {
					"city": string,
					"country": string,
					"isToll": boolean,
					"number": string,
					"postal": string,
					"province": string,
					"region": string,
					"street": string
				}
			},
			"processedUtc": string,
			"providers": [
				string
			],
			"relationships": [
				number
			],
			"tags": [
				string
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/advanceds?{keys=values}?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number&{keys=values}

Gets the list of Assets for the specified Company only if one of the specified Asset.references fields match. If no references are specified, it will match any Asset with no references. If a reference value is null, it will match any Asset without that reference key.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetAdvancedsArray.<AssetAdvanced>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
referencesObject.<string, string>The reference string given as input.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetAdvanceds": [
		{
			"attributes": {
				string: {
					"asset": number,
					"complex": string,
					"dts": string,
					"global": boolean,
					"name": string,
					"provider": string,
					"raw": Object,
					"simple": string,
					"unit": string
				}
			},
			"company": number,
			"id": number,
			"odometer": number,
			"places": {
				string: {
					"enter": string,
					"kind": string,
					"latest": string
				}
			},
			"position": {
				"accuracy": number,
				"address": string,
				"altitude": number,
				"bearing": number,
				"dts": string,
				"lat": number,
				"lng": number,
				"origin": string,
				"speed": number,
				"speedLimit": number,
				"streetAddress": {
					"city": string,
					"country": string,
					"isToll": boolean,
					"number": string,
					"postal": string,
					"province": string,
					"region": string,
					"street": string
				}
			},
			"processedUtc": string,
			"providers": [
				string
			],
			"relationships": [
				number
			],
			"tags": [
				string
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"references": {
		string: string
	},
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The references is not an object, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/advanceds?labels={string}&includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company only if the Asset.labels matches all of the given labels.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
labelsstringrequiredLabels to match the DispatchJob.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetAdvancedsArray.<AssetAdvanced>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
labelsArray.<string>The labels given as input.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetAdvanceds": [
		{
			"attributes": {
				string: {
					"asset": number,
					"complex": string,
					"dts": string,
					"global": boolean,
					"name": string,
					"provider": string,
					"raw": Object,
					"simple": string,
					"unit": string
				}
			},
			"company": number,
			"id": number,
			"odometer": number,
			"places": {
				string: {
					"enter": string,
					"kind": string,
					"latest": string
				}
			},
			"position": {
				"accuracy": number,
				"address": string,
				"altitude": number,
				"bearing": number,
				"dts": string,
				"lat": number,
				"lng": number,
				"origin": string,
				"speed": number,
				"speedLimit": number,
				"streetAddress": {
					"city": string,
					"country": string,
					"isToll": boolean,
					"number": string,
					"postal": string,
					"province": string,
					"region": string,
					"street": string
				}
			},
			"processedUtc": string,
			"providers": [
				string
			],
			"relationships": [
				number
			],
			"tags": [
				string
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"labels": [
		string
	],
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The labels is not an array.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/dispatches?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetDispatchesArray.<AssetDispatch>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetDispatches": [
		{
			"company": number,
			"directions": [
				{
					"directions": [
						{ /* recursive DispatchDirection objects */ }
					],
					"distance": number,
					"duration": string,
					"instructions": string,
					"job": number,
					"path": string,
					"step": number
				}
			],
			"id": number,
			"jobs": [
				number
			],
			"lastDispatched": string,
			"processedUtc": string,
			"tasks": [
				{
					"address": string,
					"arrived": string,
					"asset": number,
					"attachments": [
						number
					],
					"company": number,
					"completed": string,
					"created": string,
					"duration": string,
					"eta": string,
					"id": number,
					"instructions": string,
					"latlng": {
						"lat": number,
						"lng": number
					},
					"name": string,
					"notes": string,
					"place": number,
					"processedUtc": string,
					"reference": string,
					"references": {
						string: string
					},
					"signatory": string,
					"signature": boolean,
					"status": string,
					"updated": {
					},
					"v": [
						number
					]
				}
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/dispatches?{keys=values}?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number&{keys=values}

Gets the list of Assets for the specified Company only if one of the specified Asset.references fields match. If no references are specified, it will match any Asset with no references. If a reference value is null, it will match any Asset without that reference key.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetDispatchesArray.<AssetDispatch>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
referencesObject.<string, string>The reference string given as input.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetDispatches": [
		{
			"company": number,
			"directions": [
				{
					"directions": [
						{ /* recursive DispatchDirection objects */ }
					],
					"distance": number,
					"duration": string,
					"instructions": string,
					"job": number,
					"path": string,
					"step": number
				}
			],
			"id": number,
			"jobs": [
				number
			],
			"lastDispatched": string,
			"processedUtc": string,
			"tasks": [
				{
					"address": string,
					"arrived": string,
					"asset": number,
					"attachments": [
						number
					],
					"company": number,
					"completed": string,
					"created": string,
					"duration": string,
					"eta": string,
					"id": number,
					"instructions": string,
					"latlng": {
						"lat": number,
						"lng": number
					},
					"name": string,
					"notes": string,
					"place": number,
					"processedUtc": string,
					"reference": string,
					"references": {
						string: string
					},
					"signatory": string,
					"signature": boolean,
					"status": string,
					"updated": {
					},
					"v": [
						number
					]
				}
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"references": {
		string: string
	},
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The references is not an object, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/dispatches?labels={string}&includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company only if the Asset.labels matches all of the given labels.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
labelsstringrequiredLabels to match the DispatchJob.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetDispatchesArray.<AssetDispatch>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
labelsArray.<string>The labels given as input.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetDispatches": [
		{
			"company": number,
			"directions": [
				{
					"directions": [
						{ /* recursive DispatchDirection objects */ }
					],
					"distance": number,
					"duration": string,
					"instructions": string,
					"job": number,
					"path": string,
					"step": number
				}
			],
			"id": number,
			"jobs": [
				number
			],
			"lastDispatched": string,
			"processedUtc": string,
			"tasks": [
				{
					"address": string,
					"arrived": string,
					"asset": number,
					"attachments": [
						number
					],
					"company": number,
					"completed": string,
					"created": string,
					"duration": string,
					"eta": string,
					"id": number,
					"instructions": string,
					"latlng": {
						"lat": number,
						"lng": number
					},
					"name": string,
					"notes": string,
					"place": number,
					"processedUtc": string,
					"reference": string,
					"references": {
						string: string
					},
					"signatory": string,
					"signature": boolean,
					"status": string,
					"updated": {
					},
					"v": [
						number
					]
				}
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"labels": [
		string
	],
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The labels is not an array.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/generals?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetGeneralsArray.<AssetGeneral>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetGenerals": [
		{
			"company": number,
			"icon": number,
			"id": number,
			"kind": string,
			"labels": [
				string
			],
			"messagingAddress": string,
			"name": string,
			"notes": string,
			"pictures": [
				number
			],
			"processedUtc": string,
			"reference": string,
			"references": {
				string: string
			},
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/generals?{keys=values}?includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number&{keys=values}

Gets the list of Assets for the specified Company only if one of the specified Asset.references fields match. If no references are specified, it will match any Asset with no references. If a reference value is null, it will match any Asset without that reference key.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetGeneralsArray.<AssetGeneral>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
referencesObject.<string, string>The reference string given as input.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetGenerals": [
		{
			"company": number,
			"icon": number,
			"id": number,
			"kind": string,
			"labels": [
				string
			],
			"messagingAddress": string,
			"name": string,
			"notes": string,
			"pictures": [
				number
			],
			"processedUtc": string,
			"reference": string,
			"references": {
				string: string
			},
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"references": {
		string: string
	},
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The references is not an object, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets/generals?labels={string}&includeSuspended=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company only if the Asset.labels matches all of the given labels.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
labelsstringrequiredLabels to match the DispatchJob.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetGeneralsArray.<AssetGeneral>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
labelsArray.<string>The labels given as input.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assetGenerals": [
		{
			"company": number,
			"icon": number,
			"id": number,
			"kind": string,
			"labels": [
				string
			],
			"messagingAddress": string,
			"name": string,
			"notes": string,
			"pictures": [
				number
			],
			"processedUtc": string,
			"reference": string,
			"references": {
				string: string
			},
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"labels": [
		string
	],
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The labels is not an array.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets?labels={string}&includeSuspended=boolean&includeMessages=boolean&includeTasks=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company only if the Asset.labels matches all of the given labels.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeMessagesbooleanoptionalfalseFalse by default, but when true the command will also return AssetMessages for the asset.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
includeTasksbooleanoptionalfalseFalse by default, but when true the command will also return the DispatchTasks for the asset.
labelsstringrequiredLabels to match the DispatchJob.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetsArray.<Asset>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
labelsArray.<string>The labels given as input.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assets": [
		{
			"attributes": {
				string: {
					"asset": number,
					"complex": string,
					"dts": string,
					"global": boolean,
					"name": string,
					"provider": string,
					"raw": Object,
					"simple": string,
					"unit": string
				}
			},
			"company": number,
			"dispatch": {
				"company": number,
				"directions": [
					{
						"directions": [
							{ /* recursive DispatchDirection objects */ }
						],
						"distance": number,
						"duration": string,
						"instructions": string,
						"job": number,
						"path": string,
						"step": number
					}
				],
				"id": number,
				"jobs": [
					number
				],
				"lastDispatched": string,
				"processedUtc": string,
				"tasks": [
					{
						"address": string,
						"arrived": string,
						"asset": number,
						"attachments": [
							number
						],
						"company": number,
						"completed": string,
						"created": string,
						"duration": string,
						"eta": string,
						"id": number,
						"instructions": string,
						"latlng": {
							"lat": number,
							"lng": number
						},
						"name": string,
						"notes": string,
						"place": number,
						"processedUtc": string,
						"reference": string,
						"references": {
							string: string
						},
						"signatory": string,
						"signature": boolean,
						"status": string,
						"updated": {
						},
						"v": [
							number
						]
					}
				],
				"updated": {
				},
				"v": [
					number
				]
			},
			"icon": number,
			"id": number,
			"kind": string,
			"labels": [
				string
			],
			"messages": [
				{
					"asset": number,
					"body": string,
					"company": number,
					"delivered": string,
					"folder": string,
					"from": string,
					"id": number,
					"incoming": boolean,
					"kind": string,
					"processed": string,
					"processedUtc": string,
					"readBy": string,
					"status": string,
					"subject": string,
					"to": string,
					"updated": {
					},
					"user": string,
					"v": [
						number
					]
				}
			],
			"messagingAddress": string,
			"name": string,
			"notes": string,
			"odometer": number,
			"pictures": [
				number
			],
			"places": {
				string: {
					"enter": string,
					"kind": string,
					"latest": string
				}
			},
			"position": {
				"accuracy": number,
				"address": string,
				"altitude": number,
				"bearing": number,
				"dts": string,
				"lat": number,
				"lng": number,
				"origin": string,
				"speed": number,
				"speedLimit": number,
				"streetAddress": {
					"city": string,
					"country": string,
					"isToll": boolean,
					"number": string,
					"postal": string,
					"province": string,
					"region": string,
					"street": string
				}
			},
			"processedUtc": string,
			"providers": [
				string
			],
			"reference": string,
			"references": {
				string: string
			},
			"relationships": [
				number
			],
			"tags": [
				string
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"labels": [
		string
	],
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The labels is not an array.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/assets?reference={string}&includeSuspended=boolean&includeMessages=boolean&includeTasks=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Assets for the specified Company only if one of the specified Asset.references fields match. If no references are specified, it will match any Asset with no references. If a reference value is null, it will match any Asset without that reference key.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
includeMessagesbooleanoptionalfalseFalse by default, but when true the command will also return AssetMessages for the asset.
includeSuspendedbooleanoptionaltrueWhen true (default), the command will also return Assets marked as Asset.suspended.
includeTasksbooleanoptionalfalseFalse by default, but when true the command will also return the DispatchTasks for the asset.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
referencestringrequiredValue to search in the asset.reference["Reference"] field
Response description
PropertyTypeDescription
assetsArray.<Asset>The list of requested Assets.
companyRespIdAn object to contain the "id" of the Company to which the array of Assets belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
referencesObject.<string, string>The reference string given as input.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"assets": [
		{
			"attributes": {
				string: {
					"asset": number,
					"complex": string,
					"dts": string,
					"global": boolean,
					"name": string,
					"provider": string,
					"raw": Object,
					"simple": string,
					"unit": string
				}
			},
			"company": number,
			"dispatch": {
				"company": number,
				"directions": [
					{
						"directions": [
							{ /* recursive DispatchDirection objects */ }
						],
						"distance": number,
						"duration": string,
						"instructions": string,
						"job": number,
						"path": string,
						"step": number
					}
				],
				"id": number,
				"jobs": [
					number
				],
				"lastDispatched": string,
				"processedUtc": string,
				"tasks": [
					{
						"address": string,
						"arrived": string,
						"asset": number,
						"attachments": [
							number
						],
						"company": number,
						"completed": string,
						"created": string,
						"duration": string,
						"eta": string,
						"id": number,
						"instructions": string,
						"latlng": {
							"lat": number,
							"lng": number
						},
						"name": string,
						"notes": string,
						"place": number,
						"processedUtc": string,
						"reference": string,
						"references": {
							string: string
						},
						"signatory": string,
						"signature": boolean,
						"status": string,
						"updated": {
						},
						"v": [
							number
						]
					}
				],
				"updated": {
				},
				"v": [
					number
				]
			},
			"icon": number,
			"id": number,
			"kind": string,
			"labels": [
				string
			],
			"messages": [
				{
					"asset": number,
					"body": string,
					"company": number,
					"delivered": string,
					"folder": string,
					"from": string,
					"id": number,
					"incoming": boolean,
					"kind": string,
					"processed": string,
					"processedUtc": string,
					"readBy": string,
					"status": string,
					"subject": string,
					"to": string,
					"updated": {
					},
					"user": string,
					"v": [
						number
					]
				}
			],
			"messagingAddress": string,
			"name": string,
			"notes": string,
			"odometer": number,
			"pictures": [
				number
			],
			"places": {
				string: {
					"enter": string,
					"kind": string,
					"latest": string
				}
			},
			"position": {
				"accuracy": number,
				"address": string,
				"altitude": number,
				"bearing": number,
				"dts": string,
				"lat": number,
				"lng": number,
				"origin": string,
				"speed": number,
				"speedLimit": number,
				"streetAddress": {
					"city": string,
					"country": string,
					"isToll": boolean,
					"number": string,
					"postal": string,
					"province": string,
					"region": string,
					"street": string
				}
			},
			"processedUtc": string,
			"providers": [
				string
			],
			"reference": string,
			"references": {
				string: string
			},
			"relationships": [
				number
			],
			"tags": [
				string
			],
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"references": {
		string: string
	},
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4003The references is not an object, or it is invalid.
4015You do not have permission to view any Assets for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

Behaviours

GET/behaviours?includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/behaviours/.
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

PATCH/behaviours

Creates a new or updates an existing Behaviour.
HTTP Request body description
PropertyTypeRequiredDescription
behaviourObject.<string, ?>alwaysA simple object to contain the Behaviour parameters.
behaviour.companyuint64?create
behaviour.filtersexpressionoptionalA search pattern used to select the assets which will embed this Behaviour in their execution context.
behaviour.iduint64?updateThe unique identifier of the Behaviour you want to update.
behaviour.namestring
maximum-length: 100
createName for the Behaviour.
behaviour.notesstringoptionalNotes for the Behaviour.
behaviour.parametersObject.<string, BehaviourParameter>optionalThe values needed to implement the script. Each key in this object is the name of a required script argument.
behaviour.prioritybyte?optionalThe order in which this Behaviour is executed.
behaviour.scriptuint64?createIdentifier of the BehaviourScript to which this Behaviour belongs. After creation, this value is read-only.
behaviour.targetsexpressionoptionalA search pattern used to select the providers which can implement this Behaviour.
behaviour.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"behaviour": {
		"company": number,
		"filters": string,
		"id": number,
		"name": string,
		"notes": string,
		"parameters": {
			string: {
				"context": string,
				"notes": string,
				"type": string,
				"value": string
			}
		},
		"priority": number,
		"script": number,
		"targets": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
behaviourRespIdScriptAn object which contains the "id", "company", and "script" keys when there is no error.
behaviour.companyuint64Identifier of the Company to which this object belongs.
behaviour.iduint64?Identifier given as input for the command.
behaviour.scriptuint64Identifier of the script to which this object belongs.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"id": number,
		"script": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviour object, or it is invalid.
4003Not enough keys exist in the behaviour object.
4003During create: When creating a new Behaviour, a name was not given, or it is invalid.
4003During create: When creating a new Behaviour, a script was not given.
4003During create: When creating a new Behaviour, a company was not given.
4003During update: When updating a Behaviour, the id was invalid.
4003During update: When updating a Behaviour, the name was given as blank.
4003During update: When updating a Behaviour, the v was not an array, or contained too few numbers.
4003The targets was given as null or blank. The targets must always have a value, or you can not send the targets key.
Returns an ErrorDetailInput as the errorDetails.
4003One of the behaviour.parameters was invalid.
Returns an ErrorDetailInput as the errorDetails.
4003One of the behaviour.parameters keys was blank or white-space.
Returns an ErrorDetailInput as the errorDetails.
4015You do not have permission to create a new Behaviour.
4015You do not have permission to update this Behaviour.
4006During update: When updating a Behaviour, an incorrect v value was given as input.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423During update: The BehaviourScript was not found by its unique identifier.
40426During update: The Behaviour was not found by its unique identifier.
409130There is one or more missing or invalid parameters required by the BehaviourScript.
Returns an ErrorDetailBadKeys as the errorDetails.
409130During update: When updating a Behaviour, the behaviour.script can not be changed.
Returns an ErrorDetailBadKeys as the errorDetails.
409130During update: When updating a Behaviour, the behaviour.company can not be changed.
Returns an ErrorDetailBadKeys as the errorDetails.

DELETE/behaviours

Deletes a Behaviour.
Response description
PropertyTypeDescription
behaviourRespDeletedAn object which contains the Behaviour's id, owning Company id, and deleted status.
behaviour.companyuint64Identifier of the Company to which this object belongs.
behaviour.deletedbooleanFlag showing if the object is deleted.
behaviour.iduint64?Identifier given as input for the command.
behaviour.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviour object, or it is invalid.
4003The behaviour object does not contain an id, or it is invalid.
4015You do not have permission to delete this Behaviour.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40426The Behaviour was not found by its unique identifier.

GET/behaviours/{behaviourId}?includeDeleted=boolean

Gets details of the specified Behaviour.
URL Parameters
ParameterTypeRequiredDescription
behaviourIduint64requiredUnique identifier of the Behaviour.
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
Response description
PropertyTypeDescription
behaviourBehaviourThe requested Behaviour.
behaviour.companyuint64The company to which this behaviour belongs.
behaviour.filtersexpressionA search pattern used to filter the providers which can implement this behaviour.
behaviour.iduint64Unique identifier of this behaviour.
behaviour.namestring
maximum-length: 100
The name of this behaviour.
behaviour.notesstringNotes.
behaviour.parametersObject.<string, BehaviourParameter>The list of defined variable name/value pairs for the script requires.
behaviour.prioritybyteThe priority flag allows you to define an execution order for all behaviours for a provider.
behaviour.processedUtcdatetimeWhen the was change procesed.
behaviour.scriptuint64The script which this behaviour implements.
behaviour.targetsexpressionThe search pattern used to target the assets which will embed this behaviour in their execution context.
behaviour.updatedby: login, from: monster
behaviour.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"filters": string,
		"id": number,
		"name": string,
		"notes": string,
		"parameters": {
			string: {
				"context": string,
				"notes": string,
				"type": string,
				"value": string
			}
		},
		"priority": number,
		"processedUtc": string,
		"script": number,
		"targets": string,
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a behaviour object, or it is invalid.
4003The behaviour object does not contain an id, or it is invalid.
4015You do not have permission to view this Behaviour.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40426The Behaviour was not found by its unique identifier.

POST/behaviours/{behaviourId}

Creates a new or updates an existing Behaviour.
URL Parameters
ParameterTypeRequiredDescription
behaviourIduint64?optionalUnique identifier of the Behaviour. This value is optional, and ignored by the command.
HTTP Request body description
PropertyTypeRequiredDescription
behaviourObject.<string, ?>alwaysA simple object to contain the Behaviour parameters.
behaviour.companyuint64?create
behaviour.filtersexpressionoptionalA search pattern used to select the assets which will embed this Behaviour in their execution context.
behaviour.iduint64?updateThe unique identifier of the Behaviour you want to update.
behaviour.namestring
maximum-length: 100
createName for the Behaviour.
behaviour.notesstringoptionalNotes for the Behaviour.
behaviour.parametersObject.<string, BehaviourParameter>optionalThe values needed to implement the script. Each key in this object is the name of a required script argument.
behaviour.prioritybyte?optionalThe order in which this Behaviour is executed.
behaviour.scriptuint64?createIdentifier of the BehaviourScript to which this Behaviour belongs. After creation, this value is read-only.
behaviour.targetsexpressionoptionalA search pattern used to select the providers which can implement this Behaviour.
behaviour.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"behaviour": {
		"company": number,
		"filters": string,
		"id": number,
		"name": string,
		"notes": string,
		"parameters": {
			string: {
				"context": string,
				"notes": string,
				"type": string,
				"value": string
			}
		},
		"priority": number,
		"script": number,
		"targets": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
behaviourRespIdScriptAn object which contains the "id", "company", and "script" keys when there is no error.
behaviour.companyuint64Identifier of the Company to which this object belongs.
behaviour.iduint64?Identifier given as input for the command.
behaviour.scriptuint64Identifier of the script to which this object belongs.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"id": number,
		"script": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviour object, or it is invalid.
4003Not enough keys exist in the behaviour object.
4003During create: When creating a new Behaviour, a name was not given, or it is invalid.
4003During create: When creating a new Behaviour, a script was not given.
4003During create: When creating a new Behaviour, a company was not given.
4003During update: When updating a Behaviour, the id was invalid.
4003During update: When updating a Behaviour, the name was given as blank.
4003During update: When updating a Behaviour, the v was not an array, or contained too few numbers.
4003The targets was given as null or blank. The targets must always have a value, or you can not send the targets key.
Returns an ErrorDetailInput as the errorDetails.
4003One of the behaviour.parameters was invalid.
Returns an ErrorDetailInput as the errorDetails.
4003One of the behaviour.parameters keys was blank or white-space.
Returns an ErrorDetailInput as the errorDetails.
4015You do not have permission to create a new Behaviour.
4015You do not have permission to update this Behaviour.
4006During update: When updating a Behaviour, an incorrect v value was given as input.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423During update: The BehaviourScript was not found by its unique identifier.
40426During update: The Behaviour was not found by its unique identifier.
409130There is one or more missing or invalid parameters required by the BehaviourScript.
Returns an ErrorDetailBadKeys as the errorDetails.
409130During update: When updating a Behaviour, the behaviour.script can not be changed.
Returns an ErrorDetailBadKeys as the errorDetails.
409130During update: When updating a Behaviour, the behaviour.company can not be changed.
Returns an ErrorDetailBadKeys as the errorDetails.

DELETE/behaviours/{behaviourId}

Deletes a Behaviour.
URL Parameters
ParameterTypeRequiredDescription
behaviourIduint64requiredUnique identifier of the Behaviour.
Response description
PropertyTypeDescription
behaviourRespDeletedAn object which contains the Behaviour's id, owning Company id, and deleted status.
behaviour.companyuint64Identifier of the Company to which this object belongs.
behaviour.deletedbooleanFlag showing if the object is deleted.
behaviour.iduint64?Identifier given as input for the command.
behaviour.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviour object, or it is invalid.
4003The behaviour object does not contain an id, or it is invalid.
4015You do not have permission to delete this Behaviour.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40426The Behaviour was not found by its unique identifier.

GET/behaviours/{behaviourId}/logs?includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of BehaviourLog for the specified Behaviour.
URL Parameters
ParameterTypeRequiredDescription
behaviourIduint64requiredUnique identifier of the Behaviour.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
behaviourRespIdScriptAn object to contain the "id" of the Behaviour to which the array of BehaviourLogs belong.
behaviour.companyuint64Identifier of the Company to which this object belongs.
behaviour.iduint64?Identifier given as input for the command.
behaviour.scriptuint64Identifier of the script to which this object belongs.
behaviourLogsArray.<BehaviourLog>The list of requested BehaviourLogs.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"id": number,
		"script": number
	},
	"behaviourLogs": [
		{
			"asset": number,
			"behaviour": number,
			"character": number,
			"company": number,
			"dts": string,
			"id": number,
			"kind": string,
			"line": number,
			"message": string,
			"processedUtc": string,
			"script": number,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviour object, or it is invalid.
4003The behaviour object does not contain an id, or it is invalid.
4015You do not have permission to view BehaviourLogs for this Behaviour.
4015You do not have permission to view Behaviours for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40426The Behaviour was not found by its unique identifier.

DELETE/behaviours/{behaviourId}/logs

Gets the list of BehaviourLogs for the specified Behaviour.
URL Parameters
ParameterTypeRequiredDescription
behaviourIduint64requiredUnique identifier of the Behaviour.
Response description
PropertyTypeDescription
behaviourRespIdScriptAn object to contain the "id" of the Behaviour to which the array of BehaviourLogs belong.
behaviour.companyuint64Identifier of the Company to which this object belongs.
behaviour.iduint64?Identifier given as input for the command.
behaviour.scriptuint64Identifier of the script to which this object belongs.
countint32The total number of behaviour logs cleared.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"id": number,
		"script": number
	},
	"count": number,
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviour object, or it is invalid.
4003The behaviour object does not contain an id, or it is invalid.
4015You do not have permission to view BehaviourLogs for this Behaviour.
4015You do not have permission to clear Behaviours for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40426The Behaviour was not found by its unique identifier.

PATCH/behaviours/{behaviourId}/restore

Restores a deleted Behaviour.
URL Parameters
ParameterTypeRequiredDescription
behaviourIduint64requiredUnique identifier of the Behaviour.
HTTP Request body description
PropertyTypeRequiredDescription
behaviourParamIdalwaysAn object to contain the "id" key.
behaviour.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"behaviour": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
behaviourRespDeletedAn object which contains the Behaviour's id, owning Company id, and deleted status.
behaviour.companyuint64Identifier of the Company to which this object belongs.
behaviour.deletedbooleanFlag showing if the object is deleted.
behaviour.iduint64?Identifier given as input for the command.
behaviour.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviour": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviour object, or it is invalid.
4003The behaviour object does not contain an id, or it is invalid.
4015You do not have permission to restore this Behaviour.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40426The Behaviour was not found by its unique identifier.
40027The Behaviour was found, but is not marked as deleted.

GET/behaviours/logs?asset={uint64}&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of BehaviourLogs for the specified Asset.
URL Parameters
ParameterTypeRequiredDescription
assetuint64requiredUnique identifier of the Asset.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
assetRespIdCompanyAn object to contain the "id" of the Asset to which the array of BehaviourLogs relates.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
behaviourLogsArray.<BehaviourLog>The list of requested BehaviourLogs.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number
	},
	"behaviourLogs": [
		{
			"asset": number,
			"behaviour": number,
			"character": number,
			"company": number,
			"dts": string,
			"id": number,
			"kind": string,
			"line": number,
			"message": string,
			"processedUtc": string,
			"script": number,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to view this Asset.
4015You do not have permission to view BehaviourLogs for this Asset's Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

DELETE/behaviours/logs?asset={uint64}

Gets the list of BehaviourLogs for the specified Asset.
URL Parameters
ParameterTypeRequiredDescription
assetuint64requiredUnique identifier of the Asset.
Response description
PropertyTypeDescription
assetRespIdCompanyAn object to contain the "id" of the Asset to which the array of BehaviourLogs relates.
asset.companyuint64Identifier of the Company to which this object belongs.
asset.iduint64?Identifier given as input for the command.
countint32The total number of behaviour logs cleared.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"asset": {
		"company": number,
		"id": number
	},
	"count": number,
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a asset object, or it is invalid.
4003The asset object does not contain an id, or it is invalid.
4015You do not have permission to view this Asset.
4015You do not have permission to clear Behaviours for this Asset.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40420The Asset was not found by its unique identifier.

GET/behaviours/scripts?tree=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/behaviours/scripts?tree=true.
URL Parameters
ParameterTypeRequiredDefaultDescription
highestuint64optionalWhen using , sets the maximum id when listing from the database.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
limituint16optionalWhen using , sets the maximum number of objects in this response.
lowestuint64optionalWhen using , sets the minimum id when listing from the database.
treebooleanoptionaltrueDefaults to true for this alias.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

PATCH/behaviours/scripts

Creates a new or updates an existing BehaviourScript.
HTTP Request body description
PropertyTypeRequiredDescription
behaviourScriptObject.<string, ?>alwaysA simple object to contain the BehaviourScript parameters.
behaviourScript.companyuint64?createIdentifier of the Company to which this BehaviourScript belongs. After creation, this value is read-only.
behaviourScript.fillstringoptionalBackground and fill colour in the UI.
behaviourScript.filtersexpressionoptionalA search pattern used to select the providers.
behaviourScript.globalbooleanoptionalWhen set to true, this Company as well as all child companies will be able to implement this BehaviourScript for that companies assets.
behaviourScript.graphicstringoptionalThe name of the symbol shown in the UI.
behaviourScript.iduint64?updateThe unique identifier of the BehaviourScript you want to update.
behaviourScript.namestring
maximum-length: 100
createName for the BehaviourScript.
behaviourScript.notesstringoptionalNotes for the BehaviourScript.
behaviourScript.parametersObject.<string, BehaviourParameter>optionalThe defined arguments for this BehaviourScript. Each key in the object is the name of an argument.
behaviourScript.sourcestringcreateSource code of the BehaviourScript.
behaviourScript.strokestringoptionalText and outline colour in the UI.
behaviourScript.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"behaviourScript": {
		"company": number,
		"fill": string,
		"filters": string,
		"global": boolean,
		"graphic": string,
		"id": number,
		"name": string,
		"notes": string,
		"parameters": {
			string: {
				"context": string,
				"notes": string,
				"type": string,
				"value": string
			}
		},
		"source": string,
		"stroke": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
behaviourScriptRespIdCompanyAn object which contains the "id" and "company" keys when there is no error.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScript": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003Not enough keys exist in the behaviourScript object.
4003During create: When creating a new BehaviourScript, a name was not given, or it is invalid.
4003During create: When creating a new BehaviourScript, a company was not given.
4003During create: When creating a new BehaviourScript, the source was not given, or it is blank.
4003During update: When updating a BehaviourScript, the id was invalid.
4003During update: When updating a BehaviourScript, the name was given as blank.
4003During update: When updating a BehaviourScript, the v was not an array, or contained too few numbers.
4003One of the behaviourScript.parameters default values' was not valid.
Returns an ErrorDetailBadKeys as the errorDetails.
4003One of the behaviourScript.parameters was invalid.
Returns an ErrorDetailInput as the errorDetails.
4003One of the behaviourScript.parameters keys was blank or white-space.
Returns an ErrorDetailInput as the errorDetails.
4015You do not have permission to create a new BehaviourScript.
4015You do not have permission to update this BehaviourScript.
4006During update: When updating a BehaviourScript, an incorrect v value was given as input.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423During update: The BehaviourScript was not found by its unique identifier.
40925During update: When updating a BehaviourScript which is marked as global, but is being set as private, but is implemented by Behaviours from child companies..
Returns an ErrorDetailCount as the errorDetails.
409130During update: When updating a BehaviourScript, the behaviourScript.company can not be changed.

DELETE/behaviours/scripts

Deletes an existing BehaviourScript.
Response description
PropertyTypeDescription
behaviourScriptRespDeletedAn object which contains the BehaviourScript's id, owning Company id, and deleted status.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.deletedbooleanFlag showing if the object is deleted.
behaviourScript.iduint64?Identifier given as input for the command.
behaviourScript.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScript": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003The behaviourScript object does not contain an id, or it is invalid.
4015You do not have permission to delete this BehaviourScript.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423The BehaviourScript was not found by its unique identifier.
40925This BehaviourScript is still being used by one of more Behaviours.
Returns an ErrorDetailCount as the errorDetails.

GET/behaviours/scripts/{scriptId}?includeDeleted=boolean

Gets details of the specified BehaviourScript.
URL Parameters
ParameterTypeRequiredDescription
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
scriptIduint64requiredUnique identifier of the BehaviourScript.
Response description
PropertyTypeDescription
behaviourScriptBehaviourScriptThe requested BehaviourScript.
behaviourScript.companyuint64The company to which this script belongs.
behaviourScript.compilesbooleanFlag set by the compiler if this code compiles
behaviourScript.fillcolour
maximum-length: 22
The background colour given to this script for easy visual identification.
behaviourScript.filtersexpressionA list of targeting expressions. These expressions are defaults for derived Behaviours.
behaviourScript.globalbooleanIndicates whether this script is available to child companies.
behaviourScript.graphiccodified
maximum-length: 22
The codified graphic name given to this script for easy visual identification.
behaviourScript.iduint64Unique identifier of this script.
behaviourScript.namestring
maximum-length: 100
The nickname given to this script.
behaviourScript.notesstringUsage notes and instructions for users on how best to setup this script.
behaviourScript.parametersObject.<string, BehaviourParameter>Listed parameters for the Behaviour function.
behaviourScript.processedUtcdatetimeWhen the was change procesed.
behaviourScript.sourcestring
maximum-length: 8060
The source code.
behaviourScript.strokecolour
maximum-length: 22
The text/graphic colour given to this script for easy visual identification.
behaviourScript.updatedby: login, from: monster
behaviourScript.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScript": {
		"company": number,
		"compiles": boolean,
		"fill": string,
		"filters": string,
		"global": boolean,
		"graphic": string,
		"id": number,
		"name": string,
		"notes": string,
		"parameters": {
			string: {
				"context": string,
				"notes": string,
				"type": string,
				"value": string
			}
		},
		"processedUtc": string,
		"source": string,
		"stroke": string,
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a behaviourScript object, or it is invalid.
4003The behaviourScript object does not contain an id, or it is invalid.
4015You do not have permission to view this BehaviourScript.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423The BehaviourScript was not found by its unique identifier.

POST/behaviours/scripts/{scriptId}

Creates a new or updates an existing BehaviourScript.
URL Parameters
ParameterTypeRequiredDescription
scriptIduint64?optionalUnique identifier of the BehaviourScript. This value is optional, and ignored by the command.
HTTP Request body description
PropertyTypeRequiredDescription
behaviourScriptObject.<string, ?>alwaysA simple object to contain the BehaviourScript parameters.
behaviourScript.companyuint64?createIdentifier of the Company to which this BehaviourScript belongs. After creation, this value is read-only.
behaviourScript.fillstringoptionalBackground and fill colour in the UI.
behaviourScript.filtersexpressionoptionalA search pattern used to select the providers.
behaviourScript.globalbooleanoptionalWhen set to true, this Company as well as all child companies will be able to implement this BehaviourScript for that companies assets.
behaviourScript.graphicstringoptionalThe name of the symbol shown in the UI.
behaviourScript.iduint64?updateThe unique identifier of the BehaviourScript you want to update.
behaviourScript.namestring
maximum-length: 100
createName for the BehaviourScript.
behaviourScript.notesstringoptionalNotes for the BehaviourScript.
behaviourScript.parametersObject.<string, BehaviourParameter>optionalThe defined arguments for this BehaviourScript. Each key in the object is the name of an argument.
behaviourScript.sourcestringcreateSource code of the BehaviourScript.
behaviourScript.strokestringoptionalText and outline colour in the UI.
behaviourScript.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"behaviourScript": {
		"company": number,
		"fill": string,
		"filters": string,
		"global": boolean,
		"graphic": string,
		"id": number,
		"name": string,
		"notes": string,
		"parameters": {
			string: {
				"context": string,
				"notes": string,
				"type": string,
				"value": string
			}
		},
		"source": string,
		"stroke": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
behaviourScriptRespIdCompanyAn object which contains the "id" and "company" keys when there is no error.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScript": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003Not enough keys exist in the behaviourScript object.
4003During create: When creating a new BehaviourScript, a name was not given, or it is invalid.
4003During create: When creating a new BehaviourScript, a company was not given.
4003During create: When creating a new BehaviourScript, the source was not given, or it is blank.
4003During update: When updating a BehaviourScript, the id was invalid.
4003During update: When updating a BehaviourScript, the name was given as blank.
4003During update: When updating a BehaviourScript, the v was not an array, or contained too few numbers.
4003One of the behaviourScript.parameters default values' was not valid.
Returns an ErrorDetailBadKeys as the errorDetails.
4003One of the behaviourScript.parameters was invalid.
Returns an ErrorDetailInput as the errorDetails.
4003One of the behaviourScript.parameters keys was blank or white-space.
Returns an ErrorDetailInput as the errorDetails.
4015You do not have permission to create a new BehaviourScript.
4015You do not have permission to update this BehaviourScript.
4006During update: When updating a BehaviourScript, an incorrect v value was given as input.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423During update: The BehaviourScript was not found by its unique identifier.
40925During update: When updating a BehaviourScript which is marked as global, but is being set as private, but is implemented by Behaviours from child companies..
Returns an ErrorDetailCount as the errorDetails.
409130During update: When updating a BehaviourScript, the behaviourScript.company can not be changed.

DELETE/behaviours/scripts/{scriptId}

Deletes an existing BehaviourScript.
URL Parameters
ParameterTypeRequiredDescription
scriptIduint64requiredUnique identifier of the BehaviourScript.
Response description
PropertyTypeDescription
behaviourScriptRespDeletedAn object which contains the BehaviourScript's id, owning Company id, and deleted status.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.deletedbooleanFlag showing if the object is deleted.
behaviourScript.iduint64?Identifier given as input for the command.
behaviourScript.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScript": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003The behaviourScript object does not contain an id, or it is invalid.
4015You do not have permission to delete this BehaviourScript.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423The BehaviourScript was not found by its unique identifier.
40925This BehaviourScript is still being used by one of more Behaviours.
Returns an ErrorDetailCount as the errorDetails.

GET/behaviours/scripts/{scriptId}/logs?includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of BehaviourLogs for the specified BehaviourScript.
URL Parameters
ParameterTypeRequiredDescription
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
scriptIduint64requiredUnique identifier of the BehaviourScript.
Response description
PropertyTypeDescription
behaviourLogsArray.<BehaviourLog>The list of requested BehaviourLogs.
behaviourScriptRespIdCompanyAn object to contain the "id" of the BehaviourScript to which the array of BehaviourLogs belong.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourLogs": [
		{
			"asset": number,
			"behaviour": number,
			"character": number,
			"company": number,
			"dts": string,
			"id": number,
			"kind": string,
			"line": number,
			"message": string,
			"processedUtc": string,
			"script": number,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"behaviourScript": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003The behaviourScript object does not contain an id, or it is invalid.
4015You do not have permission to view BehaviourLogs for the BehaviourScript's Company.
4015You do not have permission to view BehaviourScripts for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423The BehaviourScript was not found by its unique identifier.

DELETE/behaviours/scripts/{scriptId}/logs

Gets the list of BehaviourLogs for the specified BehaviourScript.
URL Parameters
ParameterTypeRequiredDescription
scriptIduint64requiredUnique identifier of the BehaviourScript.
Response description
PropertyTypeDescription
behaviourScriptRespIdCompanyAn object to contain the "id" of the BehaviourScript to which the array of BehaviourLogs belong.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.iduint64?Identifier given as input for the command.
countint32The total number of behaviour logs cleared.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScript": {
		"company": number,
		"id": number
	},
	"count": number,
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003The behaviourScript object does not contain an id, or it is invalid.
4015You do not have permission to view BehaviourLogs for the BehaviourScript's Company.
4015You do not have permission to clear behaviours for this BehaviourScript.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423The BehaviourScript was not found by its unique identifier.

PATCH/behaviours/scripts/{scriptId}/restore

Restores the specified BehaviourScript.
URL Parameters
ParameterTypeRequiredDescription
scriptIduint64requiredUnique identifier of the BehaviourScript.
HTTP Request body description
PropertyTypeRequiredDescription
behaviourScriptParamIdalwaysAn object to contain the "id" key.
behaviourScript.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"behaviourScript": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
behaviourScriptRespDeletedAn object which contains the BehaviourScript's id, owning Company id, and deleted status.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.deletedbooleanFlag showing if the object is deleted.
behaviourScript.iduint64?Identifier given as input for the command.
behaviourScript.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScript": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003The behaviourScript object does not contain an id, or it is invalid.
4015You do not have permission to restore this BehaviourScript.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423The BehaviourScript was not found by its unique identifier.
40024The BehaviourScript was found, but is not marked as deleted.

GET/behaviours?script={uint64}&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Behaviours for the specified Company.
URL Parameters
ParameterTypeRequiredDescription
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
scriptuint64requiredUnique identifier of the BehaviourScript.
Response description
PropertyTypeDescription
behavioursArray.<Behaviour>The list of reqested Behaviours.
behaviourScriptRespIdCompanyAn object to contain the "id" of the Company to which the array of Behaviours belong.
behaviourScript.companyuint64Identifier of the Company to which this object belongs.
behaviourScript.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviours": [
		{
			"company": number,
			"filters": string,
			"id": number,
			"name": string,
			"notes": string,
			"parameters": {
				string: {
					"context": string,
					"notes": string,
					"type": string,
					"value": string
				}
			},
			"priority": number,
			"processedUtc": string,
			"script": number,
			"targets": string,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"behaviourScript": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a behaviourScript object, or it is invalid.
4003The behaviourScript object does not contain an id, or it is invalid.
4015You do not have permission to view Behaviours for this Company.
4015You do not have permission to view BehaviourScripts for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40423The BehaviourScript was not found by its unique identifier.

GET/companies/{companyId}/behaviours?includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of Behaviours for the specified Company.
URL Parameters
ParameterTypeRequiredDescription
companyIduint64requiredUnique identifier of the Company.
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
Response description
PropertyTypeDescription
behavioursArray.<Behaviour>The list of reqested Behaviours.
companyRespIdAn object to contain the "id" of the Company to which the array of Behaviours belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviours": [
		{
			"company": number,
			"filters": string,
			"id": number,
			"name": string,
			"notes": string,
			"parameters": {
				string: {
					"context": string,
					"notes": string,
					"type": string,
					"value": string
				}
			},
			"priority": number,
			"processedUtc": string,
			"script": number,
			"targets": string,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4015You do not have permission to view this Company.
4015You do not have permission to view Behaviours for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

GET/companies/{companyId}/behaviours/scripts?tree=boolean&includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of BehaviourScripts for the specified Company.
URL Parameters
ParameterTypeRequiredDefaultDescription
companyIduint64requiredUnique identifier of the Company
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
treebooleanoptionaltrueWhen true (default) the getter to retrieve the given Company's list of BehaviourScripts as well as any publicly available BehaviourScripts for the Company's parent(s).
Response description
PropertyTypeDescription
behaviourScriptsArray.<BehaviourScript>The list of requested BehaviourScripts.
companyRespIdAn object to contain the "id" of the Company to which the array of BehaviourScripts belong.
company.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"behaviourScripts": [
		{
			"company": number,
			"compiles": boolean,
			"fill": string,
			"filters": string,
			"global": boolean,
			"graphic": string,
			"id": number,
			"name": string,
			"notes": string,
			"parameters": {
				string: {
					"context": string,
					"notes": string,
					"type": string,
					"value": string
				}
			},
			"processedUtc": string,
			"source": string,
			"stroke": string,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"company": {
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a company object, or it is invalid.
4003The company object does not contain an id, or it is invalid.
4015You do not have permission to view BehaviourScripts for this Company.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.

Billing

GET/billing/profiles?includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

This request is an alias of /companies/{your-company-id}/billing/profiles.
URL Parameters
ParameterTypeRequiredDefaultDescription
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

PATCH/billing/profiles

Creates new or updates an existing BillingProfile.
HTTP Request body description
PropertyTypeRequiredDescription
billingProfileObject.<string, ?>alwaysA simple object to contain the BillingProfile parameters.
billingProfile.billeeuint64?optionalUnique identifier of the Company receiving the bill.
billingProfile.companyuint64?optionalUnique identifier of the Company that owns this BillingProfile and is sending the bill.
billingProfile.currencyBillingCurrency?optionalKind of money.
billingProfile.cycleBillingCycle?optionalRepeating cycle used for generating bills.
billingProfile.cycleEnddatetimeoptionalWhen should the cycle end (customer cancelled); null means it never ends.
billingProfile.cyclePostDatedbooleanoptionalPro-rated, or post-dated.
billingProfile.cycleStartdatetimeoptionalWhen is the first day of the billing cycle.
billingProfile.googleServicesEnabledbooleanoptionalAre the Google services available to be proxied by the service?
billingProfile.iduint64?optionalUnique identifier of the BillingProfile you want to update.
billingProfile.messagesArray.<BillableSmsProfile>optionalSMS messaging tiers.
billingProfile.namestringoptionalName for the BillingProfile
billingProfile.notesstringoptionalNotes about the BillingProfile for the billee or target.
billingProfile.targetuint64?optionalUnique identifier of the Company to which this rule pertains.
billingProfile.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"billingProfile": {
		"billee": number,
		"company": number,
		"currency": string,
		"cycle": string,
		"cycleEnd": string,
		"cyclePostDated": boolean,
		"cycleStart": string,
		"googleServicesEnabled": boolean,
		"id": number,
		"messages": [
			{
				"amount": number,
				"limit": number
			}
		],
		"name": string,
		"notes": string,
		"target": number,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
billingProfileRespIdCompanyAn object which contains the "id", "company", and "profile" keys.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003Not enough keys exist in the billingProfile object.
4003The messages are invalid.
4003The cycle is invalid.
4003The currency is invalid.
4003The cycleStart date is invalid.
4003The cycleEnd date is invalid.
4003During create: When creating a new BillingProfile, start date is invalid.
4003During create: When creating a new BillingProfile, end date is invalid.
4003During create: When creating a new BillingProfile, kind is invalid.
4003During create: When creating a new BillingProfile, a name was not given, or it is invalid.
4003During create: When creating a new BillingProfile, company is invalid.
4003During create: When creating a new BillingProfile, target is invalid.
4003During create: When creating a new BillingProfile, billee is invalid.
4003During update: When updating a BillingProfile, the name was invalid.
4003During update: When updating a BillingProfile, the v was invalid.
4015During create: You do not have permission to create new BillingProfile.
4015During update: You do not have permission to update BillingProfile.
4006During update: When updating a BillingProfile, the v was not an array, or contained too few numbers.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The company was not found by its unique identifier.
40428The target was not found by its unique identifier.
40428The billee was not found by its unique identifier.
404111The BillingProfile was not found by its unique identifier.
If you receive this error, please contact technical support.
409130During update: When updating a BillingProfile, the billingProfile.company can not be changed.

DELETE/billing/profiles

Deletes an existing BillingProfile.
Response description
PropertyTypeDescription
billingProfileRespDeletedAn object which contains the BillingProfile's unique identifier and deleted status.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.deletedbooleanFlag showing if the object is deleted.
billingProfile.iduint64?Identifier given as input for the command.
billingProfile.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred, the BillingProfile was not deleted.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003The requested billingProfile id was invalid.
4015You do not have permission to delete this Company's BillingProfiles.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404111The BillingProfile was not found by its unique identifier.

GET/billing/profiles/{profileId}?includeDeleted=boolean

Gets details of the specified BillingProfile.
URL Parameters
ParameterTypeRequiredDescription
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
profileIduint64requiredUnique identifier of the BillingProfile.
Response description
PropertyTypeDescription
billingProfileBillingProfileThe requested BillingProfile.
billingProfile.billeeuint64Unique identifier of the Company receiving the bill. Most of the time, this value is the same as the target.
billingProfile.companyuint64Unique identifier of the Company that owns this profile and is sending the bill.
billingProfile.currencyBillingCurrencykind of money
billingProfile.cycleBillingCycleRepeating cycle used for generating bills
billingProfile.cycleEnddatetimeWhen should the cycle end (customer cancelled)
billingProfile.cyclePostDatedbooleanPro-rated, or post-dated.
billingProfile.cycleStartdatetimeWhen is the first day of the billing cycle
billingProfile.googleServicesEnabledbooleanAre the Google services available to be proxied by the service?
billingProfile.iduint64Unique identifier of this billing profile
billingProfile.messagesArray.<BillableSmsProfile>SMS messaging tiers
billingProfile.namestring
maximum-length: 254
The name for this profile
billingProfile.notesstring
maximum-length: 1000
Notes about the billing profile for the billee or target.
billingProfile.processedUtcdatetimeWhen the was change procesed.
billingProfile.targetuint64Unique identifier of the Company to which this rule pertains.
billingProfile.updatedby: login, from: monster
billingProfile.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"billee": number,
		"company": number,
		"currency": string,
		"cycle": string,
		"cycleEnd": string,
		"cyclePostDated": boolean,
		"cycleStart": string,
		"googleServicesEnabled": boolean,
		"id": number,
		"messages": [
			{
				"amount": number,
				"limit": number
			}
		],
		"name": string,
		"notes": string,
		"processedUtc": string,
		"target": number,
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a billingProfile object, or it is invalid.
4003The requested billingProfile id was invalid.
4015You do not have permission to view this Company's BillingProfiles.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404111The BillingProfile was not found by its unique identifier.

POST/billing/profiles/{profileId}

Creates new or updates an existing BillingProfile.
URL Parameters
ParameterTypeRequiredDescription
profileIduint64?optionalUnique identifier of the BillingProfile. This value is optional, and ignored by the command.
HTTP Request body description
PropertyTypeRequiredDescription
billingProfileObject.<string, ?>alwaysA simple object to contain the BillingProfile parameters.
billingProfile.billeeuint64?optionalUnique identifier of the Company receiving the bill.
billingProfile.companyuint64?optionalUnique identifier of the Company that owns this BillingProfile and is sending the bill.
billingProfile.currencyBillingCurrency?optionalKind of money.
billingProfile.cycleBillingCycle?optionalRepeating cycle used for generating bills.
billingProfile.cycleEnddatetimeoptionalWhen should the cycle end (customer cancelled); null means it never ends.
billingProfile.cyclePostDatedbooleanoptionalPro-rated, or post-dated.
billingProfile.cycleStartdatetimeoptionalWhen is the first day of the billing cycle.
billingProfile.googleServicesEnabledbooleanoptionalAre the Google services available to be proxied by the service?
billingProfile.iduint64?optionalUnique identifier of the BillingProfile you want to update.
billingProfile.messagesArray.<BillableSmsProfile>optionalSMS messaging tiers.
billingProfile.namestringoptionalName for the BillingProfile
billingProfile.notesstringoptionalNotes about the BillingProfile for the billee or target.
billingProfile.targetuint64?optionalUnique identifier of the Company to which this rule pertains.
billingProfile.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"billingProfile": {
		"billee": number,
		"company": number,
		"currency": string,
		"cycle": string,
		"cycleEnd": string,
		"cyclePostDated": boolean,
		"cycleStart": string,
		"googleServicesEnabled": boolean,
		"id": number,
		"messages": [
			{
				"amount": number,
				"limit": number
			}
		],
		"name": string,
		"notes": string,
		"target": number,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
billingProfileRespIdCompanyAn object which contains the "id", "company", and "profile" keys.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003Not enough keys exist in the billingProfile object.
4003The messages are invalid.
4003The cycle is invalid.
4003The currency is invalid.
4003The cycleStart date is invalid.
4003The cycleEnd date is invalid.
4003During create: When creating a new BillingProfile, start date is invalid.
4003During create: When creating a new BillingProfile, end date is invalid.
4003During create: When creating a new BillingProfile, kind is invalid.
4003During create: When creating a new BillingProfile, a name was not given, or it is invalid.
4003During create: When creating a new BillingProfile, company is invalid.
4003During create: When creating a new BillingProfile, target is invalid.
4003During create: When creating a new BillingProfile, billee is invalid.
4003During update: When updating a BillingProfile, the name was invalid.
4003During update: When updating a BillingProfile, the v was invalid.
4015During create: You do not have permission to create new BillingProfile.
4015During update: You do not have permission to update BillingProfile.
4006During update: When updating a BillingProfile, the v was not an array, or contained too few numbers.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The company was not found by its unique identifier.
40428The target was not found by its unique identifier.
40428The billee was not found by its unique identifier.
404111The BillingProfile was not found by its unique identifier.
If you receive this error, please contact technical support.
409130During update: When updating a BillingProfile, the billingProfile.company can not be changed.

DELETE/billing/profiles/{profileId}

Deletes an existing BillingProfile.
URL Parameters
ParameterTypeRequiredDescription
profileIduint64requiredUnique identifier of the BillingProfile.
Response description
PropertyTypeDescription
billingProfileRespDeletedAn object which contains the BillingProfile's unique identifier and deleted status.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.deletedbooleanFlag showing if the object is deleted.
billingProfile.iduint64?Identifier given as input for the command.
billingProfile.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred, the BillingProfile was not deleted.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003The requested billingProfile id was invalid.
4015You do not have permission to delete this Company's BillingProfiles.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404111The BillingProfile was not found by its unique identifier.

GET/billing/profiles/{profileId}/licenses?includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of BillableHostingLicenses for the specified BillingProfile.
URL Parameters
ParameterTypeRequiredDescription
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
profileIduint64requiredUnique identifier of the BillingProfile.
Response description
PropertyTypeDescription
billingProfileRespIdCompanyAn object to contain the "id" of the BillingProfile to which the array of BillableHostingLicenses belong.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingLicensesArray.<BillableHostingLicense>The list of BillableHostingLicenses.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingLicenses": [
		{
			"amount": number,
			"company": number,
			"end": string,
			"id": number,
			"kind": string,
			"limit": number,
			"name": string,
			"notes": string,
			"processedUtc": string,
			"profile": number,
			"reference": string,
			"sku": string,
			"start": string,
			"suspended": boolean,
			"targets": string,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003The billingProfile object does not contain an id, or it is invalid.
4015You do not have permission to view this Company's BillableHostingLicenses.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.
If you receive this error, please contact technical support.
404111The BillingProfile was not found by its unique identifier.

GET/billing/profiles/{profileId}/reports?includeDeleted=boolean&includeArchive=boolean&limit=number&after=string&before=string

Gets the list of BillingReports for the specified BillingProfile.
URL Parameters
ParameterTypeRequiredDescription
afterdatetimeoptionalWhen using , sets the earliest objects (by dts) to retrieve from the archive.
beforedatetimeoptionalWhen using , sets the most recent objects (by dts) to retrieve from the archive.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
profileIduint64requiredUnique identifier of the BillingProfile.
Response description
PropertyTypeDescription
billingProfileRespIdCompanyAn object to contain the "id" of the BillingProfile to which the array of BillableHostingRules belong.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.iduint64?Identifier given as input for the command.
billingReportsArray.<BillingReport>The list of requested BillingReports.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"id": number
	},
	"billingReports": [
		{
			"billee": number,
			"breakdown": [
				{
					"licenses": [
						{
							"billableDays": number,
							"cost": number,
							"created": string,
							"deleted": string,
							"firmware": string,
							"kind": string,
							"name": string,
							"notes": string,
							"phoneNumber": number,
							"provider": string,
							"total": number
						}
					],
					"services": [
						{
							"asset": number,
							"billableDays": number,
							"cost": number,
							"created": string,
							"deleted": string,
							"kind": string,
							"labels": [
								string
							],
							"name": string,
							"notes": string,
							"phoneNumbers": [
								number
							],
							"providers": [
								string
							],
							"restored": string,
							"revived": string,
							"suspended": string,
							"suspendedCost": number,
							"suspendedDays": number,
							"total": number,
							"updatedDts": string
						}
					],
					"target": number
				}
			],
			"company": number,
			"currency": string,
			"endDate": string,
			"error": string,
			"id": number,
			"name": string,
			"notes": string,
			"processedUtc": string,
			"profile": number,
			"startDate": string,
			"status": string,
			"summary": [
				{
					"hosting": [
						{
							"cost": number,
							"count": number,
							"sku": string,
							"total": number
						}
					],
					"name": string,
					"notes": string,
					"parent": number,
					"target": number
				}
			],
			"total": number,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003The billingProfile object does not contain an id, or it is invalid.
4015You do not have permission to view this Company's BillingReports.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.
404111The BillingProfile was not found by its unique identifier.

PATCH/billing/profiles/{profileId}/restore

Restores the specified BillingProfile to its previous version.
URL Parameters
ParameterTypeRequiredDescription
profileIduint64requiredUnique identifier of the BillingProfile.
HTTP Request body description
PropertyTypeRequiredDescription
billingProfileParamIdalwaysAn object to contain the "id" of the BillingProfile.
billingProfile.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"billingProfile": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
billingProfileRespDeletedAn object which contains the BillingProfile's unique identifier and deleted status.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.deletedbooleanFlag showing if the object is deleted.
billingProfile.iduint64?Identifier given as input for the command.
billingProfile.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003The requested billingProfile id was invalid.
4015You do not have permission to restore BillingProfiles.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404111The BillingProfile was not found by its unique identifier.
400112The BillingProfile was found, but is not marked as deleted.

GET/billing/profiles/{profileId}/rules?includeDeleted=boolean&includeArchive=boolean&limit=number&lowest=number&highest=number

Gets the list of BillableHostingRule for the specified BillingProfile.
URL Parameters
ParameterTypeRequiredDescription
highestuint64?optionalWhen using , sets the largest valued id objects to retrieve.
includeArchivebooleanoptionalSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalFalse by default, but when true, the command will also return deleted objects.
limituint16?optionalWhen using , sets the maximum number of objects retrieved from the archive.
lowestuint64?optionalWhen using , sets the smallest valued id objects to retrieve.
profileIduint64requiredUnique identifier of the BillingProfile.
Response description
PropertyTypeDescription
billingProfileRespIdCompanyAn object to contain the "id" of the BillingProfile to which the array of BillableHostingRules belong.
billingProfile.companyuint64Identifier of the Company to which this object belongs.
billingProfile.iduint64?Identifier given as input for the command.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingRulesArray.<BillableHostingRule>The list of requested BillableHostingRules.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingProfile": {
		"company": number,
		"id": number
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingRules": [
		{
			"amount": number,
			"company": number,
			"end": string,
			"id": number,
			"limit": number,
			"name": string,
			"notes": string,
			"processedUtc": string,
			"profile": number,
			"reference": string,
			"service": string,
			"sku": string,
			"start": string,
			"suspended": boolean,
			"targets": string,
			"updated": {
			},
			"v": [
				number
			]
		}
	],
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a billingProfile object, or it is invalid.
4003The billingProfile object does not contain an id, or it is invalid.
4015You do not have permission to view this Company's BillableHostingRules.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
40428The Company was not found by its unique identifier.
If you receive this error, please contact technical support.
404111The BillingProfile was not found by its unique identifier.

PATCH/billing/profiles/licenses

Creates new or updates an existing BillableHostingLicense.
HTTP Request body description
PropertyTypeRequiredDescription
hostingLicenseObject.<string, ?>alwaysA simple object to contain the BillableHostingLicense parameters.
hostingLicense.amountdouble?optionalCost per cycle for this plan
hostingLicense.enddatetimeoptionalDate this BillableHostingLicense is applied until; null means it never ends.
hostingLicense.iduint64?updateUnique identifier of the BillableHostingLicense you want to update.
hostingLicense.kindBillableLicenseType?createThe type of hardware BillableLicenseType.
hostingLicense.limituint32?optionalThe number of units to which this BillableHostingLicense applies. Should be a non-zero value; null means unlimited
hostingLicense.namestringcreateName for the BillableHostingLicense
hostingLicense.notesstringoptionalNotes about the BillableHostingLicense.
hostingLicense.profileuint64?createUnique identifier of this BillableHostingLicense's BillingProfile.
hostingLicense.referencestringoptionalA custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingLicense.startdatetimeoptionalDate this BillableHostingLicense takes effect.
hostingLicense.suspendedbooleanoptionalDoes this BillableHostingLicense apply to suspended resources
hostingLicense.targetsexpressionoptionalWhich assets are targetted by this BillableHostingLicense
hostingLicense.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"hostingLicense": {
		"amount": number,
		"end": string,
		"id": number,
		"kind": string,
		"limit": number,
		"name": string,
		"notes": string,
		"profile": number,
		"reference": string,
		"start": string,
		"suspended": boolean,
		"targets": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingLicenseRespIdBillingProfileAn object which contains the "id", "company", and "profile" keys.
hostingLicense.companyuint64Identifier of the Company to which this object belongs.
hostingLicense.iduint64?Identifier given as input for the command.
hostingLicense.profileuint64Identifier of the BillingProfile to which this object belongs
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingLicense": {
		"company": number,
		"id": number,
		"profile": number
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a hostingLicense object, or it is invalid.
4003Not enough keys exist in the hostingLicense object.
4003During create: When creating a new BillableHostingLicense, start date is invalid.
4003During create: When creating a new BillableHostingLicense, end date is invalid.
4003During create: When creating a new BillableHostingLicense, kind is invalid.
4003During create: When creating a new BillableHostingLicense, a name was not given, or it is invalid.
4003During create: When creating a new BillableHostingLicense, profile is invalid.
4003During update: When updating a BillableHostingLicense, the name was invalid.
4003During update: When updating a BillableHostingLicense, the v was invalid.
4015During create: You do not have permission to create new BillableHostingLicenses.
4015During update: You do not have permission to update BillableHostingLicenses.
4006During update: When updating a BillableHostingLicense, the v was not an array, or contained too few numbers.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404111The BillingProfile was not found by its unique identifier.
If you receive this error, please contact technical support.
404117During update: The BillableHostingLicense was not found by its unique identifier.
409130During update: When updating a BillableHostingLicense, the hostingLicense.profile can not be changed.

DELETE/billing/profiles/licenses

Deletes an existing BillableHostingLicense.
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingLicenseRespDeletedAn object which contains the BillableHostingLicense's unique identifier and deleted status.
hostingLicense.companyuint64Identifier of the Company to which this object belongs.
hostingLicense.deletedbooleanFlag showing if the object is deleted.
hostingLicense.iduint64?Identifier given as input for the command.
hostingLicense.vArray.<uint32>
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingLicense": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred, the BillableHostingLicense was not deleted.
If you receive this error, please contact technical support.
4003The request does not contain a hostingLicense object, or it is invalid.
4003The requested hostingLicense id was invalid.
4015You do not have permission to delete this Company's BillableHostingLicenses.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404117The BillableHostingLicense was not found by its unique identifier.

GET/billing/profiles/licenses/{licenseId}?includeDeleted=boolean

Gets details of the specified BillableHostingLicense.
URL Parameters
ParameterTypeRequiredDescription
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
licenseIduint64requiredUnique identifier of the BillableHostingLicense.
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingLicenseBillableHostingLicenseThe requested BillableHostingLicense.
hostingLicense.amountdoubleCost per cycle for this plan
hostingLicense.companyuint64Unique identifier of the Company that owns this hosting rule.
hostingLicense.enddatetimeDate this billing rule is applied until; null means it never ends. These dates are used to determine how much of the cycle is billed.
hostingLicense.iduint64Unique identifier of this hosting rule.
hostingLicense.kindBillableLicenseTypeThe type of hardware license
hostingLicense.limituint32?The number of units to which this billing rule applies. Should be a non-zero value; null means unlimited
hostingLicense.namestring
maximum-length: 254
The name of this billing rule.
hostingLicense.notesstringNotes about billing this rule.
hostingLicense.processedUtcdatetimeWhen the was change procesed.
hostingLicense.profileuint64Unique identifier of this rule's billing profile.
hostingLicense.referencestring
maximum-length: 100
A custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingLicense.skustring
maximum-length: 20
SKU or SOC code
hostingLicense.startdatetimeDate this billing rule takes effect. These dates are used to determine how much of the cycle is billed.
hostingLicense.suspendedbooleanDoes this hosting rule apply to suspended resources
hostingLicense.targetsexpressionWhich assets are targeted by this hosting rule
hostingLicense.updatedby: login, from: monster
hostingLicense.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingLicense": {
		"amount": number,
		"company": number,
		"end": string,
		"id": number,
		"kind": string,
		"limit": number,
		"name": string,
		"notes": string,
		"processedUtc": string,
		"profile": number,
		"reference": string,
		"sku": string,
		"start": string,
		"suspended": boolean,
		"targets": string,
		"updated": {
		},
		"v": [
			number
		]
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a hostingLicense object, or it is invalid.
4003The requested hostingLicense id was invalid.
4015You do not have permission to view this Company's BillableHostingLicenses.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404117The BillableHostingLicense was not found by its unique identifier.

POST/billing/profiles/licenses/{licenseId}

Creates new or updates an existing BillableHostingLicense.
URL Parameters
ParameterTypeRequiredDescription
licenseIduint64?optionalUnique identifier of the BillableHostingLicense. This value is optional, and ignored by the command.
HTTP Request body description
PropertyTypeRequiredDescription
hostingLicenseObject.<string, ?>alwaysA simple object to contain the BillableHostingLicense parameters.
hostingLicense.amountdouble?optionalCost per cycle for this plan
hostingLicense.enddatetimeoptionalDate this BillableHostingLicense is applied until; null means it never ends.
hostingLicense.iduint64?updateUnique identifier of the BillableHostingLicense you want to update.
hostingLicense.kindBillableLicenseType?createThe type of hardware BillableLicenseType.
hostingLicense.limituint32?optionalThe number of units to which this BillableHostingLicense applies. Should be a non-zero value; null means unlimited
hostingLicense.namestringcreateName for the BillableHostingLicense
hostingLicense.notesstringoptionalNotes about the BillableHostingLicense.
hostingLicense.profileuint64?createUnique identifier of this BillableHostingLicense's BillingProfile.
hostingLicense.referencestringoptionalA custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingLicense.startdatetimeoptionalDate this BillableHostingLicense takes effect.
hostingLicense.suspendedbooleanoptionalDoes this BillableHostingLicense apply to suspended resources
hostingLicense.targetsexpressionoptionalWhich assets are targetted by this BillableHostingLicense
hostingLicense.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"hostingLicense": {
		"amount": number,
		"end": string,
		"id": number,
		"kind": string,
		"limit": number,
		"name": string,
		"notes": string,
		"profile": number,
		"reference": string,
		"start": string,
		"suspended": boolean,
		"targets": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingLicenseRespIdBillingProfileAn object which contains the "id", "company", and "profile" keys.
hostingLicense.companyuint64Identifier of the Company to which this object belongs.
hostingLicense.iduint64?Identifier given as input for the command.
hostingLicense.profileuint64Identifier of the BillingProfile to which this object belongs
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingLicense": {
		"company": number,
		"id": number,
		"profile": number
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a hostingLicense object, or it is invalid.
4003Not enough keys exist in the hostingLicense object.
4003During create: When creating a new BillableHostingLicense, start date is invalid.
4003During create: When creating a new BillableHostingLicense, end date is invalid.
4003During create: When creating a new BillableHostingLicense, kind is invalid.
4003During create: When creating a new BillableHostingLicense, a name was not given, or it is invalid.
4003During create: When creating a new BillableHostingLicense, profile is invalid.
4003During update: When updating a BillableHostingLicense, the name was invalid.
4003During update: When updating a BillableHostingLicense, the v was invalid.
4015During create: You do not have permission to create new BillableHostingLicenses.
4015During update: You do not have permission to update BillableHostingLicenses.
4006During update: When updating a BillableHostingLicense, the v was not an array, or contained too few numbers.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404111The BillingProfile was not found by its unique identifier.
If you receive this error, please contact technical support.
404117During update: The BillableHostingLicense was not found by its unique identifier.
409130During update: When updating a BillableHostingLicense, the hostingLicense.profile can not be changed.

DELETE/billing/profiles/licenses/{licenseId}

Deletes an existing BillableHostingLicense.
URL Parameters
ParameterTypeRequiredDescription
licenseIduint64requiredUnique identifier of the BillableHostingLicense.
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingLicenseRespDeletedAn object which contains the BillableHostingLicense's unique identifier and deleted status.
hostingLicense.companyuint64Identifier of the Company to which this object belongs.
hostingLicense.deletedbooleanFlag showing if the object is deleted.
hostingLicense.iduint64?Identifier given as input for the command.
hostingLicense.vArray.<uint32>
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingLicense": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred, the BillableHostingLicense was not deleted.
If you receive this error, please contact technical support.
4003The request does not contain a hostingLicense object, or it is invalid.
4003The requested hostingLicense id was invalid.
4015You do not have permission to delete this Company's BillableHostingLicenses.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404117The BillableHostingLicense was not found by its unique identifier.

PATCH/billing/profiles/licenses/{licenseId}/restore

Restores the specified BillableHostingLicense to its previous version.
URL Parameters
ParameterTypeRequiredDescription
licenseIduint64requiredUnique identifier of the BillableHostingLicense.
HTTP Request body description
PropertyTypeRequiredDescription
hostingLicenseParamIdalwaysAn object to contain the "id" of the BillableHostingLicense.
hostingLicense.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"hostingLicense": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingLicenseRespDeletedAn object which contains the BillableHostingLicense's unique identifier and deleted status.
hostingLicense.companyuint64Identifier of the Company to which this object belongs.
hostingLicense.deletedbooleanFlag showing if the object is deleted.
hostingLicense.iduint64?Identifier given as input for the command.
hostingLicense.vArray.<uint32>
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingLicense": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a hostingLicense object, or it is invalid.
4003The requested hostingLicense id was invalid.
4015You do not have permission to delete BillableHostingLicenses.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404117The BillableHostingLicense was not found by its unique identifier.
400118The BillableHostingLicense was found, but is not marked as deleted.

GET/billing/profiles/reports?includeDeleted=boolean&includeArchive=boolean&limit=number&after=string&before=string

This request is an alias of /companies/{your-company-id}/billing/profiles/reports.
URL Parameters
ParameterTypeRequiredDefaultDescription
afterdatetimeoptionalWhen using , sets the earliest objects (by dts) to retrieve from the archive.
beforedatetimeoptionalWhen using , sets the most recent objects (by dts) to retrieve from the archive.
includeArchivebooleanoptionalfalseSame as by default, when true the command will also return archived objects.
includeDeletedbooleanoptionalfalseFalse by default, but when true the command will also return deleted objects.
limituint16optionalWhen using , sets the maximum number of objects retrieved from the archive.
your-company-iduint64aliased{your-company-id}Your own Company's identifier.

DELETE/billing/profiles/reports

Deletes an existing BillingReport.
Response description
PropertyTypeDescription
billingReportRespDeletedAn object which contains the BillingReport's unique identifier and deleted status.
billingReport.companyuint64Identifier of the Company to which this object belongs.
billingReport.deletedbooleanFlag showing if the object is deleted.
billingReport.iduint64?Identifier given as input for the command.
billingReport.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingReport": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred, the BillingReport was not deleted.
If you receive this error, please contact technical support.
4003The request does not contain a billingReport object, or it is invalid.
4003The requested billingReport id was invalid.
4015You do not have permission to delete this Company's BillingReports.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404119The BillingReport was not found by its unique identifier.

GET/billing/profiles/reports/{reportId}?includeDeleted=boolean

Gets details of the specified BillingReport.
URL Parameters
ParameterTypeRequiredDescription
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
reportIduint64requiredUnique identifier of the BillingReport.
Response description
PropertyTypeDescription
billingReportBillingReportThe requested BillingReport.
billingReport.billeeuint64Unique identifier of the Company receiving the bill.
billingReport.breakdownArray.<BillingReportBreakdown>Individual amounts per company, used to calculate the results of the report.
billingReport.companyuint64The company to which this report belongs and is sending the bill.
billingReport.currencyBillingCurrencyCurrency being billed in
billingReport.endDatedatetimeLast day of the billing cycle
billingReport.errorstring
maximum-length: 250
A field which contains report error details if the BillingReport.status is BillingReportStatus.failed.
billingReport.iduint64Unique identifier
billingReport.namestring
maximum-length: 100
Name of this report.
billingReport.notesstringNotes about this report.
billingReport.processedUtcdatetimeWhen the was change procesed.
billingReport.profileuint64The profile to which this report belongs
billingReport.startDatedatetimeFirst day of the billing cycle
billingReport.statusBillingReportStatusThe processing status of this report.
billingReport.summaryArray.<BillingReportSummary>Summary contains totals per target for this billee
billingReport.totaldoubleTotal amount being billed.
billingReport.updatedby: login, from: monster
billingReport.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingReport": {
		"billee": number,
		"breakdown": [
			{
				"licenses": [
					{
						"billableDays": number,
						"cost": number,
						"created": string,
						"deleted": string,
						"firmware": string,
						"kind": string,
						"name": string,
						"notes": string,
						"phoneNumber": number,
						"provider": string,
						"total": number
					}
				],
				"services": [
					{
						"asset": number,
						"billableDays": number,
						"cost": number,
						"created": string,
						"deleted": string,
						"kind": string,
						"labels": [
							string
						],
						"name": string,
						"notes": string,
						"phoneNumbers": [
							number
						],
						"providers": [
							string
						],
						"restored": string,
						"revived": string,
						"suspended": string,
						"suspendedCost": number,
						"suspendedDays": number,
						"total": number,
						"updatedDts": string
					}
				],
				"target": number
			}
		],
		"company": number,
		"currency": string,
		"endDate": string,
		"error": string,
		"id": number,
		"name": string,
		"notes": string,
		"processedUtc": string,
		"profile": number,
		"startDate": string,
		"status": string,
		"summary": [
			{
				"hosting": [
					{
						"cost": number,
						"count": number,
						"sku": string,
						"total": number
					}
				],
				"name": string,
				"notes": string,
				"parent": number,
				"target": number
			}
		],
		"total": number,
		"updated": {
		},
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a billingReport object, or it is invalid.
4003The requested billingReport id was invalid.
4015You do not have permission to view this Company's BillingReports.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404119The BillingReport was not found by its unique identifier.

DELETE/billing/profiles/reports/{reportId}

Deletes an existing BillingReport.
URL Parameters
ParameterTypeRequiredDescription
reportIduint64requiredUnique identifier of the BillingReport.
Response description
PropertyTypeDescription
billingReportRespDeletedAn object which contains the BillingReport's unique identifier and deleted status.
billingReport.companyuint64Identifier of the Company to which this object belongs.
billingReport.deletedbooleanFlag showing if the object is deleted.
billingReport.iduint64?Identifier given as input for the command.
billingReport.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingReport": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred, the BillingReport was not deleted.
If you receive this error, please contact technical support.
4003The request does not contain a billingReport object, or it is invalid.
4003The requested billingReport id was invalid.
4015You do not have permission to delete this Company's BillingReports.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404119The BillingReport was not found by its unique identifier.

PATCH/billing/profiles/reports/{reportId}/restore

Restores the specified BillingReport to its previous version.
URL Parameters
ParameterTypeRequiredDescription
reportIduint64requiredUnique identifier of the BillingReport.
HTTP Request body description
PropertyTypeRequiredDescription
billingReportParamIdalwaysAn object to contain the "id" of the BillingReport.
billingReport.iduint64alwaysIdentifier given as input for the command.
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"billingReport": {
		"id": number
	},
	"reqId": number
}
Response description
PropertyTypeDescription
billingReportRespDeletedAn object which contains the BillingReport's unique identifier and deleted status.
billingReport.companyuint64Identifier of the Company to which this object belongs.
billingReport.deletedbooleanFlag showing if the object is deleted.
billingReport.iduint64?Identifier given as input for the command.
billingReport.vArray.<uint32>
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"billingReport": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a billingReport object, or it is invalid.
4003The requested billingReport id was invalid.
4015You do not have permission to restore BillingReports.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404119The BillingReport was not found by its unique identifier.
400120The BillingReport was found, but is not marked as deleted.

PATCH/billing/profiles/rules

Creates new or updates an existing BillableHostingRule.
HTTP Request body description
PropertyTypeRequiredDescription
hostingRuleObject.<string, ?>alwaysA simple object to contain the BillableHostingRule parameters.
hostingRule.amountdouble?optionalCost per cycle for this plan
hostingRule.enddatetimecreateDate this BillableHostingRule is applied until; null means it never ends.
hostingRule.iduint64?updateUnique identifier of the BillableHostingRule you want to update.
hostingRule.limituint32?optionalThe number of units to which this BillableHostingRule applies. Should be a non-zero value; null means unlimited
hostingRule.namestringcreateName for the BillableHostingRule
hostingRule.notesstringoptionalNotes about the BillableHostingRule.
hostingRule.profileuint64?createUnique identifier of this BillableHostingRule's BillingProfile.
hostingRule.referencestringoptionalA custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingRule.serviceBillableHostingType?createThe type of service being billed.
hostingRule.startdatetimecreateDate this BillableHostingRule takes effect.
hostingRule.suspendedbooleanoptionalDoes this BillableHostingRule apply to suspended resources
hostingRule.targetsexpressionoptionalWhich assets are targetted by this BillableHostingRule
hostingRule.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"hostingRule": {
		"amount": number,
		"end": string,
		"id": number,
		"limit": number,
		"name": string,
		"notes": string,
		"profile": number,
		"reference": string,
		"service": string,
		"start": string,
		"suspended": boolean,
		"targets": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingRuleRespIdBillingProfileAn object which contains the "id", "company", and "profile" keys.
hostingRule.companyuint64Identifier of the Company to which this object belongs.
hostingRule.iduint64?Identifier given as input for the command.
hostingRule.profileuint64Identifier of the BillingProfile to which this object belongs
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingRule": {
		"company": number,
		"id": number,
		"profile": number
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a hostingRule object, or it is invalid.
4003Not enough keys exist in the hostingRule object.
4003During create: When creating a new BillableHostingRule, start date is invalid.
4003During create: When creating a new BillableHostingRule, end date is invalid.
4003During create: When creating a new BillableHostingRule, a name was not given, or it is invalid.
4003During create: When creating a new BillableHostingRule, profile is invalid.
4003During create: When creating a new BillableHostingRule, service is invalid.
4003During update: When updating a BillableHostingRule, the name was invalid.
4003During update: When updating a BillableHostingRule, the v was invalid.
4015During create: You do not have permission to create new BillableHostingRules.
4015During update: You do not have permission to update BillableHostingRules.
4006During update: When updating a BillableHostingRule, the v was not an array, or contained too few numbers.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404111The BillingProfile was not found by its unique identifier.
If you receive this error, please contact technical support.
404113During update: The BillableHostingRule was not found by its unique identifier.
409130During update: When updating a BillableHostingRule, the hostingRule.profile can not be changed.

DELETE/billing/profiles/rules

Deletes an existing BillableHostingRule.
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingRuleRespDeletedAn object which contains the BillableHostingRule's unique identifier and deleted status.
hostingRule.companyuint64Identifier of the Company to which this object belongs.
hostingRule.deletedbooleanFlag showing if the object is deleted.
hostingRule.iduint64?Identifier given as input for the command.
hostingRule.vArray.<uint32>
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingRule": {
		"company": number,
		"deleted": boolean,
		"id": number,
		"v": [
			number
		]
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred, the BillableHostingRule was not deleted.
If you receive this error, please contact technical support.
4003The request does not contain a hostingRule object, or it is invalid.
4003The requested hostingRule id was invalid.
4015You do not have permission to delete this Company's BillableHostingRules.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404113The BillableHostingRule was not found by its unique identifier.

GET/billing/profiles/rules/{ruleId}?includeDeleted=boolean

Gets details of the specified BillableHostingRule.
URL Parameters
ParameterTypeRequiredDescription
includeDeletedbooleanoptionalFalse by default, but when true the command will also return deleted objects.
ruleIduint64requiredUnique identifier of the BillableHostingRule.
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingRuleBillableHostingRuleThe requested BillableHostingRule.
hostingRule.amountdoubleCost per cycle for this plan
hostingRule.companyuint64Unique identifier of the Company that owns this hosting rule.
hostingRule.enddatetimeDate this billing rule is applied until; null means it never ends. These dates are used to determine how much of the cycle is billed.
hostingRule.iduint64Unique identifier of this hosting rule.
hostingRule.limituint32?The number of units to which this billing rule applies. Should be a non-zero value; null means unlimited
hostingRule.namestring
maximum-length: 254
The name of this billing rule.
hostingRule.notesstringNotes about billing this rule.
hostingRule.processedUtcdatetimeWhen the was change procesed.
hostingRule.profileuint64Unique identifier of this rule's billing profile.
hostingRule.referencestring
maximum-length: 100
A custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingRule.serviceBillableHostingTypeThe type of service being billed.
hostingRule.skustring
maximum-length: 20
SKU or SOC code
hostingRule.startdatetimeDate this billing rule takes effect. These dates are used to determine how much of the cycle is billed.
hostingRule.suspendedbooleanDoes this hosting rule apply to suspended resources
hostingRule.targetsexpressionWhich assets are targeted by this hosting rule
hostingRule.updatedby: login, from: monster
hostingRule.vArray.<uint32>Object version keys used to validate synchronization for all object properties.
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingRule": {
		"amount": number,
		"company": number,
		"end": string,
		"id": number,
		"limit": number,
		"name": string,
		"notes": string,
		"processedUtc": string,
		"profile": number,
		"reference": string,
		"service": string,
		"sku": string,
		"start": string,
		"suspended": boolean,
		"targets": string,
		"updated": {
		},
		"v": [
			number
		]
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
4003The request does not contain a hostingRule object, or it is invalid.
4003The requested hostingRule id was invalid.
4015You do not have permission to view this Company's BillableHostingRules.
4017You cannot execute this command because your session has expired.
4018You cannot execute this command because you are not logged in.
40316You cannot execute this command because your password has expired.
404113The BillableHostingRule was not found by its unique identifier.

POST/billing/profiles/rules/{ruleId}

Creates new or updates an existing BillableHostingRule.
URL Parameters
ParameterTypeRequiredDescription
ruleIduint64?optionalUnique identifier of the BillableHostingRule. This value is optional, and ignored by the command.
HTTP Request body description
PropertyTypeRequiredDescription
hostingRuleObject.<string, ?>alwaysA simple object to contain the BillableHostingRule parameters.
hostingRule.amountdouble?optionalCost per cycle for this plan
hostingRule.enddatetimecreateDate this BillableHostingRule is applied until; null means it never ends.
hostingRule.iduint64?updateUnique identifier of the BillableHostingRule you want to update.
hostingRule.limituint32?optionalThe number of units to which this BillableHostingRule applies. Should be a non-zero value; null means unlimited
hostingRule.namestringcreateName for the BillableHostingRule
hostingRule.notesstringoptionalNotes about the BillableHostingRule.
hostingRule.profileuint64?createUnique identifier of this BillableHostingRule's BillingProfile.
hostingRule.referencestringoptionalA custom field used to refer to an external system. Examples are a cost codes, SOCs, discount plans...
hostingRule.serviceBillableHostingType?createThe type of service being billed.
hostingRule.startdatetimecreateDate this BillableHostingRule takes effect.
hostingRule.suspendedbooleanoptionalDoes this BillableHostingRule apply to suspended resources
hostingRule.targetsexpressionoptionalWhich assets are targetted by this BillableHostingRule
hostingRule.vArray.<int32>optional
reqIdint32?optionalIdentifier used by external system to correlate requests to responses.
HTTP Request body structure
{
	"hostingRule": {
		"amount": number,
		"end": string,
		"id": number,
		"limit": number,
		"name": string,
		"notes": string,
		"profile": number,
		"reference": string,
		"service": string,
		"start": string,
		"suspended": boolean,
		"targets": string,
		"v": [
			number
		]
	},
	"reqId": number
}
Response description
PropertyTypeDescription
errorCodeErrorCodeThe unique, numeric error code when processing this request.
errorDetailsErrorDetailAn object to provide developers with a hint about the nature of the error. The key is not always present, and only available for some errors.
hostingRuleRespIdBillingProfileAn object which contains the "id", "company", and "profile" keys.
hostingRule.companyuint64Identifier of the Company to which this object belongs.
hostingRule.iduint64?Identifier given as input for the command.
hostingRule.profileuint64Identifier of the BillingProfile to which this object belongs
messagestringAn English description of the error.
reqIdint32?Identifier used by external system to correlate requests to responses.
Response structure
{
	"errorCode": number,
	"errorDetails": {
		"kind": string
	},
	"hostingRule": {
		"company": number,
		"id": number,
		"profile": number
	},
	"message": string,
	"reqId": number
}
Possible exceptions
HTTP StatusError CodeDescription
5002A communication error occurred.
If you receive this error, please contact technical support.
4003The request does not contain a hostingRule object, or it is invalid.
4003Not enough keys exist in the hostingRule object.
4003During create: When creating a new BillableHostingRule, start date is invalid.
4003During create: When creating a new BillableHostingRule, end date is invalid.
4003During create: When creating a new BillableHostingRule, a name was not given, or it is invalid.
4003During create: When creating a new BillableHostingRule, profile is invalid.
4003During create: When creating a new BillableHostingRule, service is invalid.
4003During update: When updating a BillableHostingRule, the name was invalid.
4003During update: When updating a