Global Message Codes

Error messages should never be shown 1:1 to the user, they should always at least be extended by an application specific message.

Message Placeholders

With the messages we will have place holders for values which would be injected into the message text at runtime. Within the output response of the ACK message we would also have an args section. The args section will contain an object map of key value pairs for the data injected into the message. The following list defines these keys so that it clear what should be used.

Place Holder Key Value

%endpointId%

endpointId

The ID of the endpoint. Depending on the message this could be a sender or a recipient

%externalId%

externalId

The ID provided by the external application to identify the endpoint

%reason%

reason

In some cases we would propagate a message from another system like IoT CF

%technicalMessageType%

technicalMsgType

The ID of the technical message type

%machineId%

machineId

The clientName provided within the device description (Also would be the ExternalID from the agrirouter Endpoint)

%attributeName%

attributeName

The name of a field within a message. Typically used in scenarios where field validations are failing

%messageId%

messageId

An agrirouter message ID

%teamSetContextId%

teamSetContextId

The ID of the teamset context provided

%deviceId%

deviceId

Machine Device ID from the device description message

System Messages

Message Code When/Why can it occur Service or Plugin where it is used Type Text Result/Action

ERR_000001

System error

Feed Service

Error

Issue occurred while processing message: %message%

ACK_WITH_FAILURE

ERR_000001

System error

Other

Error

System error

ACK_WITH_FAILURE

SYS_000001

VCU Offboarding (configuration module)

Registration Service

Error

Failed to remove endpoints %endpoints% from account %accountId%.

ACK_WITH_FAILURE

SYS_000001

VCU Offboarding

Registration Service

Error

Unable to offboard virtual CU endpoint with id %endpointId%.

ACK_WITH_FAILURE

SYS_000001

Unable to obtain details from configuration module

Other

Error

Unable to process message due to system error.

ACK_WITH_FAILURE

SYS_000002

Unable to retrieve requested feed information

Payload Management Service

Error

Failed to reach object store.

ACK_WITH_FAILURE

SYS_000003

Unable to process message

Message Processor

Error

Unable to process message due to internal failure. Try again later.

ACK_WITH_FAILURE

SYS_000004

Delayed messages

Inbound Transport

Error

Message accepted and will be processed with a delay

ACK_WITH_FAILURE

Validation Messages

Message Code When/Why can it occur Service or Plugin where it is used Type Text Result/Action

VAL_000000

Application Processing Error

Inbound Transport

Error

Application Processing Error.

ACK_WITH_FAILURE

VAL_000001

Missing Endpoint Capabilities

Endpoint Message Type Verification Plugin

Error

Capabilities for Endpoint %endpointId% are not known.

ACK_WITH_FAILURE

VAL_000002

Endpoint is not able to send technical message type

Endpoint Message Type Verification Plugin

Error

Endpoint cannot sent Technical Message type %technicalMessageType%.

ACK_WITH_FAILURE

VAL_000003

Missing Information Type assignment

Information Derivation Plugin

Error

Technical Message type %technicalMessageType% is not assigned to an information type.

ACK_WITH_FAILURE

VAL_000004

No recipients for this sender and info type

SRT Routing Rule Plugin

Error

No recipients have been identified for %technicalMessageType%.

ACK_WITH_FAILURE

VAL_000005

Recipient is not allowed from this sender

SRT Routing Rule Plugin

Warning

Recipient %endpointId% is not able to receive message type %technicalMessageType%.

ACK_WITH_MESSAGES

VAL_000006

Subscription contains invalid message type(s)

Subscription Plugin

Error

Subscription to %technicalMessageType% is not valid reported capabilities.

ACK_WITH_FAILURE

VAL_000007

Capabilities contains invalid message type(s)

Endpoint Capability Plugin

Warning

Capability for %technicalMessageType% was ignored as it is not known to the certification.

ACK_WITH_MESSAGES

VAL_000008

Certification validations do not pass

Certification Check Plugin

Error

Certification is not valid or the endpoint is blocked.

ACK_WITH_FAILURE

VAL_000009

Account does not exist

Inbound Transport

Error

Unable to determine account!!

ACK_WITH_FAILURE

VAL_000010

Account is not active

Inbound Transport

Error

Account is not active.

ACK_WITH_FAILURE

VAL_000011

Endpoint does not exist

Inbound Transport

Error

Endpoint is unknown.

ACK_WITH_FAILURE

VAL_000011

Endpoint does not exist

Registration Service

Error

Endpoint %endpointId% does not exist.

ACK_WITH_FAILURE

VAL_000012

Endpoint is not active

Inbound Transport

Error

Endpoint is not active within the account.

ACK_WITH_FAILURE

VAL_000013

Account is not a Test Account

Certification Check Plugin

Error

Account is not a test account and cannot use the certified application.

ACK_WITH_FAILURE

VAL_000014

Device Description Missing Information

Device Description Validation Plugin

Error

Device %machineId& is missing mandatory field %attributeName%.

ACK_WITH_FAILURE

VAL_000015

Device Descriptions Missing

Device Description Validation Plugin

Error

No devices provided within the device description.

ACK_WITH_FAILURE

VAL_000016

Team Set Context ID Missing

Device Description Validation Plugin

Error

No Team Set Context ID Provided.

ACK_WITH_FAILURE

VAL_000017

Message missing required information

Multiple

Error

%attributeName% information required to process message is missing or malformed.

ACK_WITH_FAILURE

VAL_000018

Message missing required information

Multiple

Error

Information required to process message is missing or malformed. This usually indicates that at least one of the identifiers is malformed and not a valid UUID.

ACK_WITH_FAILURE

VAL_000019

Message cannot be chunked

Multiple

Error

%technicalMessageType% cannot be provided as part of a chunk context.

ACK_WITH_FAILURE

VAL_000020

Team Set Context ID is not known

TelemetryMessageValidation Plugin

Error

Teamset context ID %teamSetContextId% is not known.

ACK_WITH_FAILURE

VAL_000021

Invalid clientName for machine

SaveDeviceDescriptionToMAI Plugin

Error

Device %deviceId% uses an invalid client name: %clientName%.

ACK_WITH_FAILURE

VAL_000022

There are no capability changes

Message Processor

Warning

Skipping capabilities update because there are no differences

ACK_WITH_MESSAGES

VAL_000023

There are no subscription changes

Message Processor

Warning

Skipping subscriptions update because there are no differences

ACK_WITH_MESSAGES

VAL_000024

Endpoint Application Specification cannot change

Message Processor

Error

Endpoint cannot change application specification. Only version changes are allowed.

ACK_WITH_FAILURE

VAL_000025

Unable to inboard machines as quota has been exceeded

Machine onboarding through device description

Error

The new machine could not be added due to too many machines in the account already.

ACK_WITH_FAILURE

VAL_000027

The Device Description contains DDIs that are outside the valid range.

Machine onboarding through device description

Error

Device %deviceId% uses an invalid DDis: %ddiList%. Expected DDIs should be in range 1, 65534

ACK_WITH_FAILURE

VAL_000205

Feed message cannot be found

Feed Service: Confirm by ID Handler

Warning

Message %messageId% not found. This ID will be ignored.

ACK_WITH_MESSAGES

VAL_000206

Feed message confirmation confirmed

Feed Service: Confirm by ID Handler

Info

Message %messageId% delivery had been confirmed.

ACK_WITH_MESSAGES

VAL_000208

Feed does not contain any data to be deleted

Feed Service: Delete

Info

No data is currently available for requested query

ACK_WITH_MESSAGES

VAL_000209

Feed message deleted

Feed Service: Delete

Info

Message %messageId% deleted

ACK_WITH_MESSAGES

VAL_000211

Inbound payload size exceeded

Inbound Transport: Payload Size Checker

Error

Message with ID %messageId% contains a payload of size %payloadSize%. Max allowed size is %maxPayloadSizeConfigValue%

ACK_WITH_FAILURE

VAL_000300

Decoding error

Inbound Transport

Error

Error Occured while decoding.

ACK_WITH_FAILURE

VAL_000301

Unable to create cloud endpoint

Registration Service

Error

Cannot onboard virtualized application

CLOUD_REGISTRATIONS

VAL_000303

Sending endpoint is not a cloud application

Message Processor

Error

Not allowed to send message type %technicalMessageType%

ACK_WITH_FAILURE

VAL_000304

Unable to onboard into IoT CF for cloud application

Registration Service

Error

Failed to process virtualized application

ACK_WITH_FAILURE

VAL_000305

Sending an onboard request message without providing a list of endpoints

Registration Service

Error

The provided onboarding requests list cannot be empty

ACK_WITH_FAILURE

VAL_000306

Onboarding a VCU with an id that already exists

Registration Service

Error

There is already an existing VCU with the provided id

CLOUD_REGISTRATIONS

VAL_000307

exceeded onboarding quota

VCU Onboarding

Error

VCu could not be onboarded due to too many VCUs already onboarded

CLOUD_REGISTRATIONS

Onboarding ErrorCodes

Error Code Error Text Note

0010

The account is inactive

0011

Unknown account.

0020

The account is not approved for use with this application

0021

The provided application certification is not known

0022

The application certification version ID is not in the proper status for this request.

0023

The endpoint was previously onboarded and is blocked for use.

0024

The provided application certification is not accepted for this request as it does not allow onboarding CU endpoints.

0100

Invalid payload.

0101

The application certification version ID provided is not valid for this request.

0102

The gateway Id provided is not valid.The gateway ID cannot be changed when re-onboarding an endpoint.

0103

The certificated type provided is not valid.

0104

The gateway ID provided is not valid. The gateway ID cannot be changed when re-onboarding an endpoint.

0105

The application id provided is not valid for this request. Registration code is not generated for given application ID.

0106

Missing ${constants.Validation.SIGNATURE.APPLICATION_ID_HEADER_FIELD} or ${constants.Validation.SIGNATURE.AGRIROUTER_SIGNATURE_HEADER_FIELD} header(s)

0107

Invalid signature

0108

Application cannot be validated as application header is not the same as the application associated with the given registration code.

0109

Application header is not the same as the application associated with the given endpoints or multiple applications found for given endpoints.

Can also indicate that the endpoint does not exist anymore.

0110

Signing header is invalid. The request has timed out or UTCTimestamp is not provided

0111

The application ID provided is not valid. The application ID cannot be changed when re-onboarding an endpoint.

0112

You’ve made too many requests in a short period of time.

0113

You’ve made too many requests in a short period of time, please try again in X seconds.

0114

Endpoint has recently been revoked. Please wait X minutes before trying to onboard again.

0115

Application quota limit has been exceeded.

0401

Bearer not found.

The registration code that is retrieved from either the agrirouter UI or from the authorization process is invalid.