ThingErrorResponse

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:thing.notfound",
    "message": "The Thing with ID 'com.acme:xdk_53' could not be found or requester had insufficient permissions to access it.",
    "description": "Check if the ID of your requested Thing was correct and you have sufficient permissions."
  },
  "status": 404
}

things:acl.entry.invalid

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:acl.entry.invalid",
    "message": "The Access Control List Entry is invalid."
  },
  "status": 400
}

things:acl.invalid

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:acl.invalid",
    "message": "The Access Control List of the Thing with ID 'com.acme:xdk_53' is invalid.",
    "description": "There always has to be at least one ACL Entry with <READ, WRITE, ADMINISTRATE> permissions."
  },
  "status": 400
}

things:acl.modificationinvalid

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:acl.modificationinvalid",
    "message": "The modified Access Control List of the Thing with ID 'com.acme:xdk_53' is invalid.",
    "description": "There always has to be at least one ACL Entry with <READ, WRITE, ADMINISTRATE> permissions."
  },
  "status": 403
}

things:acl.not.allowed

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:acl.not.allowed",
    "message": "The schema version of the Thing with ID 'com.acme:xdk_53' does not allow Access Control List.",
    "description": "Things in schema version 2 and higher use policies for permission management."
  },
  "status": 400
}

things:acl.notfound

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:acl.notfound",
    "message": "The ACL Entry for the Authorization Subject 'the_acl_subject' on the Thing with ID 'com.acme:xdk_53' could not be found.",
    "description": "Check if the ID of the Thing and the authorized subject of your request was correct."
  },
  "status": 404
}

things:acl.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:acl.notmodifiable",
    "message": "The Access Control List of the Thing with ID 'com.acme:xdk_53' could not be modified.",
    "description": "Check if the ID of the thing was correct and you have sufficient permissions. If you wanted to modify the complete Thing, try modifying it without also changing the Access Control List ('acl')."
  },
  "status": 403
}

things:attribute.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:attribute.notmodifiable",
    "message": " The Attribute with name '/location' on the Thing with ID 'com.acme:xdk_53' could not be modified as the requester had insufficient permissions (WRITE is required).",
    "description": "Check if the ID of your requested Thing was correct and you have sufficient permissions."
  },
  "status": 403
}

things:attributes.notfound

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:attributes.notfound",
    "message": "The Attributes of the Thing with ID 'com.acme:xdk_53' could not be found or the requester had insufficient permissions to access it.",
    "description": "Check if the ID of the Thing was correct and you have sufficient permissions."
  },
  "status": 404
}

things:attributes.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:attributes.notmodifiable",
    "message": "The Attributes on the Thing with ID 'com.acme:xdk_53' could not be modified as the requester had insufficient permissions (WRITE is required).",
    "description": "Check if the ID of your requested Thing was correct and you have sufficient permissions."
  },
  "status": 403
}

things:feature.notfound

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:feature.notfound",
    "message": "The Feature with ID 'accelerometer' on the Thing with ID 'com.acme:xdk_53' could not be found or the requester had insufficient permissions to access it.",
    "description": "Check if the ID of the Thing and the ID of your requested Feature was correct and you have sufficient permissions."
  },
  "status": 404
}

things:feature.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:feature.notmodifiable",
    "message": "The Feature with ID 'accelerometer' on the Thing with ID 'com.acme:xdk_53' could not be modified as the requester had insufficient permissions to modify it (WRITE is required).",
    "description": "Check if the ID of the Thing and the ID of your requested Feature was correct and you have sufficient permissions."
  },
  "status": 403
}

things:feature.properties.notfound

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:feature.properties.notfound",
    "message": "The Properties of the Feature with ID 'accelerometer' on the Thing with ID 'com.acme:xdk_53' do not exist or the requester had insufficient permissions to access it.",
    "description": "Check if the ID of the Thing and the Feature ID was correct and you have sufficient permissions."
  },
  "status": 404
}

things:feature.properties.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:feature.properties.notmodifiable",
    "message": "The Properties of the Feature with ID 'accelerometer' on the Thing with ID 'com.acme:xdk_53' cannot be modified as the requester had insufficient permissions to modify it (WRITE is required).",
    "description": "Check if the ID of the Thing and the Feature ID was correct and you have sufficient permissions."
  },
  "status": 403
}

things:feature.property.notfound

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:feature.property.notfound",
    "message": "The Property with JSON Pointer '/x' of the Feature with ID 'accelerometer' on the Thing with ID 'com.acme:xdk_53' does not exist or the requester had insufficient permissions to access it.",
    "description": "Check if the ID of the Thing, the Feature ID and the key of your requested property was correct and you have sufficient permissions."
  },
  "status": 404
}

things:feature.property.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:feature.property.notmodifiable",
    "message": "The Property with JSON Pointer '/x' of the Feature with ID 'accelerometer' on the Thing with ID 'com.acme:xdk_53' could not be modified as the requester had insufficient permissions to modify it (WRITE is required).",
    "description": "Check if the ID of the Thing, the Feature ID and the key of your requested property was correct and you have sufficient permissions."
  },
  "status": 403
}

things:features.notfound

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:features.notfound",
    "message": "The Features on the Thing with ID 'com.acme:xdk_53' do not exist or the requester had insufficient permissions to access it.",
    "description": "Check if the ID of the Thing was correct and you have sufficient permissions."
  },
  "status": 404
}

things:features.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:features.notmodifiable",
    "message": "The Features on the Thing with ID 'com.acme:xdk_53' cannot be modified as requester had insufficient permissions to modify it (WRITE is required).",
    "description": "Check if the ID of the Thing was correct and you have sufficient permissions."
  },
  "status": 403
}

things:id.invalid

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:id.invalid",
    "message": "Thing ID 'invalid id' is not valid!",
    "description": "It must contain a namespace prefix (java package notation + a colon ':') + ID and must be a valid URI path segment according to RFC-3986"
  },
  "status": 400
}

things:id.notsettable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:id.notsettable",
    "message": "The Thing ID in the request body is not equal to the Thing ID in the request URL.",
    "description": "Either delete the Thing ID from the request body or use the same Thing ID as in the request URL."
  },
  "status": 400
}

things:policy.notallowed

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:policy.notallowed",
    "message": "The Thing with ID 'com.acme:xdk_53' could not be modified as it contained an inline Policy",
    "description": "Once a Thing with inline Policy is created it can't be modified with another Policy. Use the Policy resources to modify the existing Policy."
  },
  "status": 400
}

things:policyId.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:policyId.notmodifiable",
    "message": "The Policy ID of the Thing with ID 'com.acme:xdk_53' could not be modified as the requester had insufficient permissions (WRITE is required).",
    "description": "Check if the ID of your requested Thing was correct and you have sufficient permissions."
  },
  "status": 403
}

things:thing.conflict

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 409,
    "error": "things:thing.conflict",
    "message": "The Thing with ID 'com.acme:xdk_53' already exists",
    "description": "Choose another Thing ID"
  },
  "status": 409
}

things:thing.notcreatable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:thing.notcreatable",
    "message": "The Thing with ID 'com.acme:xdk_53' could not be created as the Policy with ID 'com.acme:the_policy_id' is not existing.",
    "description": "Check if the ID of the Policy you created the Thing with is correct and that the Policy is existing."
  },
  "status": 400
}

things:thing.notdeletable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:thing.notdeletable",
    "message": "The Thing with ID 'com.acme:xdk_53' could not be deleted as the requester had insufficient permissions ( WRITE on root resource is required).",
    "description": "Check if the ID of your requested Thing was correct and you have sufficient permissions."
  },
  "status": 403
}

things:thing.notfound

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:thing.notfound",
    "message": "The Thing with ID 'com.acme:xdk_53' could not be found or requester had insufficient permissions to access it.",
    "description": "Check if the ID of your requested Thing was correct and you have sufficient permissions."
  },
  "status": 404
}

things:thing.notmodifiable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:thing.notmodifiable",
    "message": "The Thing with ID 'com.acme:xdk_53' could not be modified as the requester had insufficient permissions (WRITE is required).",
    "description": "Check if the ID of your requested Thing was correct and you have sufficient permissions."
  },
  "status": 403
}

things:thing.toomanymodifyingrequests

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 429,
    "error": "things:thing.toomanymodifyingrequests",
    "message": "Too many modifying requests are already outstanding to the Thing with ID 'com.acme:xdk_53'.",
    "description": "Throttle your modifying requests to the Thing or re-structure your Thing in multiple Things if you really need so many concurrent modifications."
  },
  "status": 429
}

things:thing.unavailable

{
  "topic": "unknown/unknown/things/twin/errors",
  "headers": {},
  "path": "/",
  "value": {
    "status": 503,
    "error": "things:thing.unavailable",
    "message": "The Thing with ID 'com.acme:xdk_53' is not available, please try again later.",
    "description": "The requested Thing is temporarily not available."
  },
  "status": 503
}