Edit this page

The following listed example errors do not claim to be a complete list of all available and possible error responses.
Also, their texts and error codes might be outdated.

In order to find out all currently available errors, please inspect Ditto’s codebase and look at all implementations of the ThingException interface.

things:attribute.notmodifiable

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:attribute.notmodifiable",
    "message": " The Attribute with name '/location' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:attributes.notfound",
    "message": "The Attributes of the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:attributes.notmodifiable",
    "message": "The Attributes on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:feature.notfound",
    "message": "The Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:feature.notmodifiable",
    "message": "The Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:feature.properties.notfound",
    "message": "The Properties of the Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:feature.properties.notmodifiable",
    "message": "The Properties of the Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "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 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "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 'org.eclipse.ditto:fancy-thing' 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:feature.desiredProperties.notfound

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:feature.desiredProperties.notfound",
    "message": "The desired properties of the Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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.desiredProperties.notmodifiable

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:feature.desiredProperties.notmodifiable",
    "message": "The desired properties of the Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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.desiredProperty.notfound

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:feature.desiredProperty.notfound",
    "message": "The desired property with JSON Pointer '/x' of the Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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 desired property was correct and you have sufficient permissions."
  },
  "status": 404
}

things:feature.desiredProperty.notmodifiable

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:feature.desiredProperty.notmodifiable",
    "message": "The desired property with JSON Pointer '/x' of the Feature with ID 'accelerometer' on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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 desired property was correct and you have sufficient permissions."
  },
  "status": 403
}

things:features.notfound

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:features.notfound",
    "message": "The Features on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:features.notmodifiable",
    "message": "The Features on the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:id.invalid",
    "message": "Thing ID 'invalid id' is not valid!",
    "description": "It must conform to the namespaced entity ID notation (see Ditto documentation)",
    "url": "https://www.eclipse.dev/ditto/basic-namespaces-and-names.html#namespaced-id"
  },
  "status": 400
}

things:id.notsettable

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:policy.notallowed",
    "message": "The Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:policyId.notmodifiable",
    "message": "The Policy ID of the Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 409,
    "error": "things:thing.conflict",
    "message": "The Thing with ID 'org.eclipse.ditto:fancy-thing' already exists",
    "description": "Choose another Thing ID"
  },
  "status": 409
}

things:thing.notcreatable

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:thing.notcreatable",
    "message": "The Thing with ID 'org.eclipse.ditto:fancy-thing' could not be created as the Policy with ID 'org.eclipse.ditto: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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:thing.notdeletable",
    "message": "The Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 404,
    "error": "things:thing.notfound",
    "message": "The Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 403,
    "error": "things:thing.notmodifiable",
    "message": "The Thing with ID 'org.eclipse.ditto:fancy-thing' 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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 429,
    "error": "things:thing.toomanymodifyingrequests",
    "message": "Too many modifying requests are already outstanding to the Thing with ID 'org.eclipse.ditto:fancy-thing'.",
    "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": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "correlation-id": "<preserved-command-correlation-id>"
  },
  "path": "/",
  "value": {
    "status": 503,
    "error": "things:thing.unavailable",
    "message": "The Thing with ID 'org.eclipse.ditto:fancy-thing' is not available, please try again later.",
    "description": "The requested Thing is temporarily not available."
  },
  "status": 503
}

things:id.notdeletable

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "response-required": false,
    "content-type": "application/json"
  },
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:id.notdeletable",
    "message": "The Thing ID of a Thing cannot be deleted.",
    "description": "Remove the Thing ID entry from the request body and retry the request."
  },
  "status": 400
}

things:policyId.notdeletable

{
  "topic": "org.eclipse.ditto/fancy-thing/things/twin/errors",
  "headers": {
    "response-required": false,
    "content-type": "application/json"
  },
  "path": "/",
  "value": {
    "status": 400,
    "error": "things:policyId.notdeletable",
    "message": "The Policy ID of a Thing cannot be deleted.",
    "description": "Remove Policy ID entry from the request body and retry the request."
  },
  "status": 400
}