ACK Console Error Reference

The ACK console validates the capabilities that you enter. If there is an error, the console displays the error code, the path to the attribute that has the error, and information about the error.

For more details about each error code, see the following reference.

Capability errors

CONTAINS_INVALID_CHAR

The CONTAINS_INVALID_CHAR error occurs if a value contains a character that isn't valid.

The following shows an example where value.text has the value "hello!!!!", where the character ! isn't valid.

{
  "type": "AlexaInterface",
  "version": "3",
  "instance": 99,
  "capabilityResources": {
    "friendlyNames": [
      {
        "@type": "text",
        "value": {
          "text": "hello!!!!",
          "locale": "en-US"
        }
      }
    ]
  },
  ...
}

DUPLICATED_VALUE

The DUPLICATED_VALUE error occurs if an attribute has duplicate values.

The following shows an example where properties.supported has duplicate powerState values.

{
  "type": "AlexaInterface",
  "version": 3,
  "properties": {
    "supported": [
      {
        "name": "powerState"
      },
      {
        "name": "powerState"
      }
    ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true
  },
  "interface": "Alexa.PowerController"
}

EMPTY

The EMPTY error occurs if an attribute exists and contains no values where at least one value is required.

The following shows an example where properties.supported contains no values.

{
  "type": "AlexaInterface",
  "properties": {
    "supported": [
   ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true
  },
  "interface": "Alexa.PowerController"
}

INVALID

The INVALID error occurs if an attribute has a value that isn't valid.

The following shows an example where @type has the value "a_different_type_of_resource", which isn't valid.

{
  "interface": "Alexa.ModeController",
  ...,
  "configuration": {
    "ordered": false,
    "supportedModes": [
      {
        "value": 99,
        "modeResources": {
          "friendlyNames": [
            {
              "@type": "a_different_type_of_resource"
            },
            {
              "@type": "text",
              "value": {
                "text": "unmentionables",
                "locale": "es-ES"
              }
            }
          ]
        }
      }
    ]
  }
}

INVALID_DATA_TYPE

The INVALID_DATA_TYPE error occurs if you use an incorrect data type in a value.

The following shows an example where instance has the value "a text", where the value must be a number.

{
  "type": "AlexaInterface",
  "version": "3",
  "instance": "a text",
  "capabilityResources": {
    "friendlyNames": [
      {
        "@type": "asset",
        "value": {
        }
      }
    ]
  },
  ...
}

INVALID_INTERFACE

The INVALID_INTERFACE error occurs if you refer to an interface that Alexa doesn't support. For more details about the supported interfaces, see the List of Capability Interfaces and Supported Locales. The INVALID_INTERFACE error also occurs if you refer to an interface that ACK doesn't support, even if it is supported by Alexa generally.

The following shows an example that isn't valid because Alexa doesn't support the RandomController interface.

{
  "interface": "RandomController",
  "type": "AlexaInterface",
  "version": 3,
  "properties": {
    "supported": [
      {
        "name": "powerState"
      }
    ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true
  }
}

INVALID_JSON

The INVALID_JSON error occurs if the JSON isn't valid or if you specify a duplicate attribute.

The following shows an example where the type attribute is duplicated.

{
  "interface": "Alexa.PowerController",
  "type": "AlexaInterface",
  "type": "AlexaInterface",
  "version": 3,
  "properties": {
    "supported": [
      {
        "name": "powerState"
      }
    ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true
  }
}

MISSING

The MISSING error occurs if a required attribute is missing.

The following shows an example where the version attribute is missing.

{
  "type": "AlexaInterface",
  "properties": {
    "supported": [
      {
        "name": "powerState"
      }
    ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true
  },
  "interface": "Alexa.PowerController"
}

MISSING_REQUIRED_VALUE

The MISSING_REQUIRED_VALUE error occurs if a property is missing a required value.

The following shows an example where properties.supported is missing the required "powerState" value.

{
  "type": "AlexaInterface",
  "properties": {
    "supported": [
   ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true
  },
  "interface": "Alexa.PowerController"
}

NOT_ALLOWED

The NOT_ALLOWED error occurs if you specify a reserved value.

The following shows an example where value.text has the reserved value alarm.

{
  "type": "AlexaInterface",
  "version": "3",
  "instance": 99,
  "capabilityResources": {
    "friendlyNames": [
      {
        "@type": "text",
        "value": {
          "text": "alarm",
          "locale": "en-US"
        }
      }
    ]
  },
  ...
}

OUT_OF_RANGE_VALUE

The OUT_OF_RANGE_VALUE error occurs if an attribute has a value that is out of range.

The following shows an example where instance is 1000000000000, which is too large. The value for instance must be no more than 2^31.

{
  "instance": 1000000000000,
  ...
  "interface": "Alexa.RangeController",
  "configuration": {
    "unitOfMeasure": "alexa.unit.distance.meters",
    "supportedRange": {
      "minimumValue": 101.0,
      "maximumValue": 100.0,
      "precision": 1.0
    },
    "presets": [
      {
        "rangeValue": 10.5776767665567877656,
        "presetResources": {
          "friendlyNames": [
            {
              "@type": "text",
              "value": {
                 "text": "AAAAAAAAAAAAAAAAAA" (repeated 200 times),
                 "locale": "en-US"
              }
            }
          ]
        }
      }
    ]
  }
}

RANGE_NOT_SUPPORTED

The RANGE_NOT_SUPPORTED error occurs if you specify a range and specify a value that isn't in the range.

The following shows an example where the rangeValue of 3.141 isn't in the specified range.

{
  ...
  "interface": "Alexa.RangeController",
  "configuration": {
    "unitOfMeasure": "alexa.unit.distance.meters",
    "supportedRange": {
      "minimumValue": 1,
      "maximumValue": 10,
      "precision": 3
    },
    "presets": [
      {
        "rangeValue": 3.141,
        "presetResources": {
          "friendlyNames": [
            {
              "@type": "text",
              "text": "hello",
              "locale": "en-US"
            }
          ]
        }
      }
    ]
  }
}

SUPPORTED_RANGE_INVALID_MIN_MAX

The SUPPORTED_RANGE_INVALID_MIN_MAX error occurs if you specify a range that has a maximum value that is less than the minimum value.

The following shows an example where configuration.supportedRange has a minimum of 101.0 and a maximum of 100.0, which isn't valid.

{
  "instance": 1000000000000,
  ...
  "interface": "Alexa.RangeController",
  "configuration": {
    "unitOfMeasure": "alexa.unit.distance.meters",
    "supportedRange": {
      "minimumValue": 101.0,
      "maximumValue": 100.0,
      "precision": 1.0
    },
    "presets": [
      {
        "rangeValue": 10.5776767665567877656,
        "presetResources": {
          "friendlyNames": [
            {
              "@type": "text",
              "value": {
                 "text": "AAAAAAAAAAAAAAAAAA" (repeated 200 times),
                 "locale": "en-US"
              }
            }
          ]
        }
      }
    ]
  }
}

SUPPORTED_RANGE_INVALID_PRECISION

The SUPPORTED_RANGE_INVALID_PRECISION error occurs if you specify a range with a precision value that isn't valid.

The following shows an example where configuration.supportedRange.precision has a value of 4, which isn't valid.

{
  ...
  "interface": "Alexa.RangeController",
  "configuration": {
    "unitOfMeasure": "alexa.unit.distance.meters",
    "supportedRange": {
      "minimumValue": 1,
      "maximumValue": 10,
      "precision": 4
    },
    ...
  }
}

TOO_LONG

The TOO_LONG error occurs if an attribute has a string value that contains too many characters.

The following shows an example where value.text has a value that is the letter A repeated 200 times, which is too many characters.

{
  "instance": 1000000000000,
  ...
  "interface": "Alexa.RangeController",
  "configuration": {
    "unitOfMeasure": "alexa.unit.distance.meters",
    "supportedRange": {
      "minimumValue": 101.0,
      "maximumValue": 100.0,
      "precision": 1.0
    },
    "presets": [
      {
        "rangeValue": 10.5776767665567877656,
        "presetResources": {
          "friendlyNames": [
            {
              "@type": "text",
              "value": {
                 "text": "AAAAAAAAAAAAAAAAAA" (repeated 200 times),
                 "locale": "en-US"
              }
            }
          ]
        }
      }
    ]
  }
}

TOO_MANY_DECIMALS

The TOO_MANY_DECIMALS error occurs if a value has too many digits to the right of the decimal point.

The following shows an example where rangeValue has a value 10.5776767665567877656, which has too many digits to the right of the decimal point.

{
  "instance": 1000000000000,
  ...
  "interface": "Alexa.RangeController",
  "configuration": {
    "unitOfMeasure": "alexa.unit.distance.meters",
    "supportedRange": {
      "minimumValue": 101.0,
      "maximumValue": 100.0,
      "precision": 1.0
    },
    "presets": [
      {
        "rangeValue": 10.5776767665567877656,
        "presetResources": {
          "friendlyNames": [
            {
              "@type": "text",
              "value": {
                 "text": "AAAAAAAAAAAAAAAAAA" (repeated 200 times),
                 "locale": "en-US"
              }
            }
          ]
        }
      }
    ]
  }
}

UNRECOGNIZED

The UNRECOGNIZED error occurs if you specify a property that isn't in the schema.

The following shows an example where properties.supported specifies "newValue", which isn't in the schema. In the following example, the newProperty property is also not in the schema.

{
  "type": "AlexaInterface",
  "version": 3,
  "properties": {
    "supported": [
      {
        "name": "powerState"
      },
      {
        "name": "newValue"
      }
    ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true,
    "newProperty": "xyz"
  },
  "interface": "Alexa.PowerController"
}

UNRECOGNIZED_ATTRIBUTE

The UNRECOGNIZED_ATTRIBUTE error occurs if you specify an attribute that ACK doesn't support.

The following shows an example where some_attribute isn't a supported attribute.

{
  "type": "AlexaInterface",
  "version": "3",
  "instance": "a text",
  "some_attribute": "asdfasfsa",
  "capabilityResources": {
    "friendlyNames": [
      {
        "@type": "asset",
        "value": {
        }
      }
    ]
  },
  ...
}

UNSUPPORTED

The UNSUPPORTED error occurs if you specify a value that ACK doesn't support.

The following shows an example where value.locale specifies es-ES, where ACK only supports en-US.

{
  "interface": "Alexa.ModeController",
  ...,
  "configuration": {
    "ordered": false,
    "supportedModes": [
      {
        "value": 99,
        "modeResources": {
          "friendlyNames": [
            {
              "@type": "a_different_type_of_resource"
            },
            {
              "@type": "text",
              "value": {
                "text": "unmentionables",
                "locale": "es-ES"
              }
            }
          ]
        }
      }
    ]
  }
}

UNSUPPORTED_TYPE

The UNSUPPORTED_TYPE error occurs if you enter a type that ACK doesn't support.

The following shows an example where @type has the value "asset", which ACK doesn't support.

{
  "type": "AlexaInterface",
  "version": "3",
  "instance": 99,
  "capabilityResources": {
    "friendlyNames": [
      {
        "@type": "asset",
        "value": {
        }
      }
    ]
  },
  ...
}

WRONG_VALUE

The WRONG_VALUE error occurs if an attribute contains a different value than expected.

The following shows an example where type has the unexpected value NotAnAlexaInterface.

{
  "type": "NotAnAlexaInterface",
  "version": 3,
  "properties": {
    "supported": [
      {
        "name": "powerState"
      }
    ],
    "proactivelyReported": true,
    "retrievable": true,
    "readOnly": true
  },
  "interface": "Alexa.PowerController"
}

Product errors

DUPLICATED_BASIC_CAPABILITIES

The DUPLICATED_BASIC_CAPABILITIES error occurs if you specify the same basic capability more than once.

The following shows an example that specifies the same capability twice.

[
  {
    "type": "AlexaInterface",
    "version": "3",
    "properties": {
      "supported": [
        {
          "name": "powerState"
        }
      ],
      "proactivelyReported": true,
      "retrievable": true,
      "readOnly": true
    },
    "interface": "Alexa.PowerController"
  },
  {
    "type": "AlexaInterface",
    "version": "3",
    "properties": {
      "supported": [
        {
          "name": "powerState"
        }
      ],
      "proactivelyReported": true,
      "retrievable": true,
      "readOnly": true
    },
    "interface": "Alexa.PowerController"
  }
]

DUPLICATED_PRIMITIVE_CAPABILITY_PRIMARY_FRIENDLY_NAMES

The DUPLICATED_PRIMITIVE_CAPABILITY_PRIMARY_FRIENDLY_NAMES error occurs if you use the same name for different capabilities.

The following shows an example that specifies the same value.text value in the friendlyNames arrays across two different capability primitive instances.

[
  {
    "type": "AlexaInterface",
    "interface": "Alexa.ModeController",
    "instance": "1",
    "version": "3",
    "properties": {
      "supported": [
        {
          "name": "mode"
        }
      ],
      "retrievable": true,
      "proactivelyReported": true,
      "nonControllable": true
    },
    "capabilityResources": {
      "friendlyNames": [
        {
          "@type": "text",
          "value": {
            "text": "Primary Friendly Name",
            "locale": "en-US"
          }
        }
      ]
    },
    ...
  },
  {
    "type": "AlexaInterface",
    "interface": "Alexa.ModeController",
    "instance": "2",
    "version": "3",
    "properties": {
      "supported": [
        {
          "name": "mode"
        }
      ],
      "retrievable": true,
      "proactivelyReported": true,
      "nonControllable": true
    },
    "capabilityResources": {
      "friendlyNames": [
        {
          "@type": "text",
          "value": {
            "text": "Primary Friendly Name",
            "locale": "en-US"
          }
        }
      ]
    },
    ...
  }
]

DUPLICATED_PRIMITIVE_CAPABILITY_INSTANCES

The DUPLICATED_PRIMITIVE_CAPABILITY_INSTANCES error occurs if you specify duplicate instance values.

The following shows an example that specifies the same instance value for two different capability primitives.

[
  {
    "type": "AlexaInterface",
    "interface": "Alexa.ModeController",
    "instance": "1",
    "version": "3",
    "properties": {
      ...
    },
    "capabilityResources": {
      ...
    },
    ...
  },
  {
    "type": "AlexaInterface",
    "interface": "Alexa.ModeController",
    "instance": "1",
    "version": "3",
    "properties": {
      ...
    },
    "capabilityResources": {
      ...
    },
    ...
  }
]

MISSING_CAPABILITIES

The MISSING_CAPABILITIES error occurs if a product has no capabilities.