# Matter SDK `CHIP_ERROR` enums values

This file was **AUTOMATICALLY** generated by
`python scripts/error_table.py > docs/ERROR_CODES.md`. DO NOT EDIT BY HAND!

## Table of contents
-   [SDK Core errors: range `0x000..0x0FF`](#sdk-core-errors)
-   [SDK Inet Layer errors: range `0x100..0x1FF`](#sdk-inet-layer-errors)
-   [SDK Device Layer errors: range `0x200..0x2FF`](#sdk-device-layer-errors)
-   [ASN1 Layer errors: range `0x300..0x3FF`](#asn1-layer-errors)
-   [BLE Layer errors: range `0x400..0x4FF`](#ble-layer-errors)
-   [IM Global errors errors: range `0x500..0x5FF`](#im-global-errors-errors)

## SDK Core errors

| Decimal   | Hex   | Name                                               |
|-----------|-------|----------------------------------------------------|
| 0         | 0x00  | `CHIP_NO_ERROR`                                    |
| 1         | 0x01  | `CHIP_ERROR_SENDING_BLOCKED`                       |
| 2         | 0x02  | `CHIP_ERROR_CONNECTION_ABORTED`                    |
| 3         | 0x03  | `CHIP_ERROR_INCORRECT_STATE`                       |
| 4         | 0x04  | `CHIP_ERROR_MESSAGE_TOO_LONG`                      |
| 5         | 0x05  | `CHIP_ERROR_RECURSION_DEPTH_LIMIT`                 |
| 6         | 0x06  | `CHIP_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS` |
| 7         | 0x07  | `CHIP_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER`        |
| 8         | 0x08  | `CHIP_ERROR_NO_CONNECTION_HANDLER`                 |
| 9         | 0x09  | `CHIP_ERROR_TOO_MANY_PEER_NODES`                   |
| 10        | 0x0A  | `CHIP_ERROR_SENTINEL`                              |
| 11        | 0x0B  | `CHIP_ERROR_NO_MEMORY`                             |
| 12        | 0x0C  | `CHIP_ERROR_NO_MESSAGE_HANDLER`                    |
| 13        | 0x0D  | `CHIP_ERROR_MESSAGE_INCOMPLETE`                    |
| 14        | 0x0E  | `CHIP_ERROR_DATA_NOT_ALIGNED`                      |
| 15        | 0x0F  | `CHIP_ERROR_UNKNOWN_KEY_TYPE`                      |
| 16        | 0x10  | `CHIP_ERROR_KEY_NOT_FOUND`                         |
| 17        | 0x11  | `CHIP_ERROR_WRONG_ENCRYPTION_TYPE`                 |
| 18        | 0x12  | `CHIP_ERROR_INVALID_UTF8`                          |
| 19        | 0x13  | `CHIP_ERROR_INTEGRITY_CHECK_FAILED`                |
| 20        | 0x14  | `CHIP_ERROR_INVALID_SIGNATURE`                     |
| 21        | 0x15  | `CHIP_ERROR_INVALID_TLV_CHAR_STRING`               |
| 22        | 0x16  | `CHIP_ERROR_LIT_SUBSCRIBE_INACTIVE_TIMEOUT`        |
| 23        | 0x17  | `CHIP_ERROR_UNSUPPORTED_SIGNATURE_TYPE`            |
| 24        | 0x18  | `CHIP_ERROR_INVALID_MESSAGE_LENGTH`                |
| 25        | 0x19  | `CHIP_ERROR_BUFFER_TOO_SMALL`                      |
| 26        | 0x1A  | `CHIP_ERROR_DUPLICATE_KEY_ID`                      |
| 27        | 0x1B  | `CHIP_ERROR_WRONG_KEY_TYPE`                        |
| 28        | 0x1C  | `CHIP_ERROR_UNINITIALIZED`                         |
| 29        | 0x1D  | `CHIP_ERROR_INVALID_IPK`                           |
| 30        | 0x1E  | `CHIP_ERROR_INVALID_STRING_LENGTH`                 |
| 31        | 0x1F  | `CHIP_ERROR_INVALID_LIST_LENGTH`                   |
| 33        | 0x21  | `CHIP_ERROR_END_OF_TLV`                            |
| 34        | 0x22  | `CHIP_ERROR_TLV_UNDERRUN`                          |
| 35        | 0x23  | `CHIP_ERROR_INVALID_TLV_ELEMENT`                   |
| 36        | 0x24  | `CHIP_ERROR_INVALID_TLV_TAG`                       |
| 37        | 0x25  | `CHIP_ERROR_UNKNOWN_IMPLICIT_TLV_TAG`              |
| 38        | 0x26  | `CHIP_ERROR_WRONG_TLV_TYPE`                        |
| 39        | 0x27  | `CHIP_ERROR_TLV_CONTAINER_OPEN`                    |
| 42        | 0x2A  | `CHIP_ERROR_INVALID_MESSAGE_TYPE`                  |
| 43        | 0x2B  | `CHIP_ERROR_UNEXPECTED_TLV_ELEMENT`                |
| 45        | 0x2D  | `CHIP_ERROR_NOT_IMPLEMENTED`                       |
| 46        | 0x2E  | `CHIP_ERROR_INVALID_ADDRESS`                       |
| 47        | 0x2F  | `CHIP_ERROR_INVALID_ARGUMENT`                      |
| 48        | 0x30  | `CHIP_ERROR_INVALID_PATH_LIST`                     |
| 49        | 0x31  | `CHIP_ERROR_INVALID_DATA_LIST`                     |
| 50        | 0x32  | `CHIP_ERROR_TIMEOUT`                               |
| 51        | 0x33  | `CHIP_ERROR_INVALID_DEVICE_DESCRIPTOR`             |
| 56        | 0x38  | `CHIP_ERROR_INVALID_PASE_PARAMETER`                |
| 59        | 0x3B  | `CHIP_ERROR_INVALID_USE_OF_SESSION_KEY`            |
| 60        | 0x3C  | `CHIP_ERROR_CONNECTION_CLOSED_UNEXPECTEDLY`        |
| 61        | 0x3D  | `CHIP_ERROR_MISSING_TLV_ELEMENT`                   |
| 62        | 0x3E  | `CHIP_ERROR_RANDOM_DATA_UNAVAILABLE`               |
| 65        | 0x41  | `CHIP_ERROR_HOST_PORT_LIST_EMPTY`                  |
| 69        | 0x45  | `CHIP_ERROR_FORCED_RESET`                          |
| 70        | 0x46  | `CHIP_ERROR_NO_ENDPOINT`                           |
| 71        | 0x47  | `CHIP_ERROR_INVALID_DESTINATION_NODE_ID`           |
| 72        | 0x48  | `CHIP_ERROR_NOT_CONNECTED`                         |
| 74        | 0x4A  | `CHIP_ERROR_CA_CERT_NOT_FOUND`                     |
| 75        | 0x4B  | `CHIP_ERROR_CERT_PATH_LEN_CONSTRAINT_EXCEEDED`     |
| 76        | 0x4C  | `CHIP_ERROR_CERT_PATH_TOO_LONG`                    |
| 77        | 0x4D  | `CHIP_ERROR_CERT_USAGE_NOT_ALLOWED`                |
| 78        | 0x4E  | `CHIP_ERROR_CERT_EXPIRED`                          |
| 79        | 0x4F  | `CHIP_ERROR_CERT_NOT_VALID_YET`                    |
| 80        | 0x50  | `CHIP_ERROR_UNSUPPORTED_CERT_FORMAT`               |
| 81        | 0x51  | `CHIP_ERROR_UNSUPPORTED_ELLIPTIC_CURVE`            |
| 83        | 0x53  | `CHIP_ERROR_CERT_NOT_FOUND`                        |
| 84        | 0x54  | `CHIP_ERROR_INVALID_CASE_PARAMETER`                |
| 86        | 0x56  | `CHIP_ERROR_CERT_LOAD_FAILED`                      |
| 87        | 0x57  | `CHIP_ERROR_CERT_NOT_TRUSTED`                      |
| 89        | 0x59  | `CHIP_ERROR_WRONG_CERT_DN`                         |
| 92        | 0x5C  | `CHIP_ERROR_WRONG_NODE_ID`                         |
| 100       | 0x64  | `CHIP_ERROR_RETRANS_TABLE_FULL`                    |
| 104       | 0x68  | `CHIP_ERROR_TRANSACTION_CANCELED`                  |
| 107       | 0x6B  | `CHIP_ERROR_INVALID_SUBSCRIPTION`                  |
| 108       | 0x6C  | `CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE`              |
| 112       | 0x70  | `CHIP_ERROR_UNSOLICITED_MSG_NO_ORIGINATOR`         |
| 113       | 0x71  | `CHIP_ERROR_INVALID_FABRIC_INDEX`                  |
| 114       | 0x72  | `CHIP_ERROR_TOO_MANY_CONNECTIONS`                  |
| 115       | 0x73  | `CHIP_ERROR_SHUT_DOWN`                             |
| 116       | 0x74  | `CHIP_ERROR_CANCELLED`                             |
| 118       | 0x76  | `CHIP_ERROR_TLV_TAG_NOT_FOUND`                     |
| 119       | 0x77  | `CHIP_ERROR_MISSING_SECURE_SESSION`                |
| 120       | 0x78  | `CHIP_ERROR_INVALID_ADMIN_SUBJECT`                 |
| 121       | 0x79  | `CHIP_ERROR_INSUFFICIENT_PRIVILEGE`                |
| 125       | 0x7D  | `CHIP_ERROR_MESSAGE_COUNTER_EXHAUSTED`             |
| 126       | 0x7E  | `CHIP_ERROR_FABRIC_EXISTS`                         |
| 127       | 0x7F  | `CHIP_ERROR_ENDPOINT_EXISTS`                       |
| 128       | 0x80  | `CHIP_ERROR_WRONG_ENCRYPTION_TYPE_FROM_PEER`       |
| 133       | 0x85  | `CHIP_ERROR_INVALID_KEY_ID`                        |
| 134       | 0x86  | `CHIP_ERROR_INVALID_TIME`                          |
| 142       | 0x8E  | `CHIP_ERROR_SCHEMA_MISMATCH`                       |
| 143       | 0x8F  | `CHIP_ERROR_INVALID_INTEGER_VALUE`                 |
| 146       | 0x92  | `CHIP_ERROR_BAD_REQUEST`                           |
| 157       | 0x9D  | `CHIP_ERROR_WRONG_CERT_TYPE`                       |
| 159       | 0x9F  | `CHIP_ERROR_PERSISTED_STORAGE_FAILED`              |
| 160       | 0xA0  | `CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND`     |
| 161       | 0xA1  | `CHIP_ERROR_IM_FABRIC_DELETED`                     |
| 164       | 0xA4  | `CHIP_ERROR_IN_PROGRESS`                           |
| 165       | 0xA5  | `CHIP_ERROR_ACCESS_DENIED`                         |
| 166       | 0xA6  | `CHIP_ERROR_UNKNOWN_RESOURCE_ID`                   |
| 167       | 0xA7  | `CHIP_ERROR_VERSION_MISMATCH`                      |
| 171       | 0xAB  | `CHIP_ERROR_EVENT_ID_FOUND`                        |
| 172       | 0xAC  | `CHIP_ERROR_INTERNAL`                              |
| 173       | 0xAD  | `CHIP_ERROR_OPEN_FAILED`                           |
| 174       | 0xAE  | `CHIP_ERROR_READ_FAILED`                           |
| 175       | 0xAF  | `CHIP_ERROR_WRITE_FAILED`                          |
| 176       | 0xB0  | `CHIP_ERROR_DECODE_FAILED`                         |
| 179       | 0xB3  | `CHIP_ERROR_DNS_SD_UNAUTHORIZED`                   |
| 180       | 0xB4  | `CHIP_ERROR_MDNS_COLLISION`                        |
| 181       | 0xB5  | `CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB`        |
| 182       | 0xB6  | `CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB`            |
| 185       | 0xB9  | `CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_IB`          |
| 186       | 0xBA  | `CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB`            |
| 187       | 0xBB  | `CHIP_ERROR_MAXIMUM_PATHS_PER_INVOKE_EXCEEDED`     |
| 188       | 0xBC  | `CHIP_ERROR_PEER_NODE_NOT_FOUND`                   |
| 189       | 0xBD  | `CHIP_ERROR_HSM`                                   |
| 191       | 0xBF  | `CHIP_ERROR_REAL_TIME_NOT_SYNCED`                  |
| 192       | 0xC0  | `CHIP_ERROR_UNEXPECTED_EVENT`                      |
| 193       | 0xC1  | `CHIP_ERROR_ENDPOINT_POOL_FULL`                    |
| 194       | 0xC2  | `CHIP_ERROR_INBOUND_MESSAGE_TOO_BIG`               |
| 195       | 0xC3  | `CHIP_ERROR_OUTBOUND_MESSAGE_TOO_BIG`              |
| 196       | 0xC4  | `CHIP_ERROR_DUPLICATE_MESSAGE_RECEIVED`            |
| 197       | 0xC5  | `CHIP_ERROR_INVALID_PUBLIC_KEY`                    |
| 198       | 0xC6  | `CHIP_ERROR_FABRIC_MISMATCH_ON_ICA`                |
| 201       | 0xC9  | `CHIP_ERROR_NO_SHARED_TRUSTED_ROOT`                |
| 202       | 0xCA  | `CHIP_ERROR_IM_STATUS_CODE_RECEIVED`               |
| 215       | 0xD7  | `CHIP_ERROR_IM_MALFORMED_DATA_VERSION_FILTER_IB`   |
| 216       | 0xD8  | `CHIP_ERROR_NOT_FOUND`                             |
| 218       | 0xDA  | `CHIP_ERROR_INVALID_FILE_IDENTIFIER`               |
| 219       | 0xDB  | `CHIP_ERROR_BUSY`                                  |
| 220       | 0xDC  | `CHIP_ERROR_MAX_RETRY_EXCEEDED`                    |
| 221       | 0xDD  | `CHIP_ERROR_PROVIDER_LIST_EXHAUSTED`               |
| 223       | 0xDF  | `CHIP_ERROR_INVALID_SCHEME_PREFIX`                 |
| 224       | 0xE0  | `CHIP_ERROR_MISSING_URI_SEPARATOR`                 |
| 225       | 0xE1  | `CHIP_ERROR_HANDLER_NOT_SET`                       |

## SDK Inet Layer errors

| Decimal   | Hex   | Name                                      |
|-----------|-------|-------------------------------------------|
| 257       | 0x101 | `INET_ERROR_WRONG_ADDRESS_TYPE`           |
| 258       | 0x102 | `INET_ERROR_PEER_DISCONNECTED`            |
| 265       | 0x109 | `INET_ERROR_HOST_NOT_FOUND`               |
| 266       | 0x10A | `INET_ERROR_DNS_TRY_AGAIN`                |
| 267       | 0x10B | `INET_ERROR_DNS_NO_RECOVERY`              |
| 269       | 0x10D | `INET_ERROR_WRONG_PROTOCOL_TYPE`          |
| 270       | 0x10E | `INET_ERROR_UNKNOWN_INTERFACE`            |
| 272       | 0x110 | `INET_ERROR_ADDRESS_NOT_FOUND`            |
| 273       | 0x111 | `INET_ERROR_HOST_NAME_TOO_LONG`           |
| 274       | 0x112 | `INET_ERROR_INVALID_HOST_NAME`            |
| 277       | 0x115 | `INET_ERROR_IDLE_TIMEOUT`                 |
| 279       | 0x117 | `INET_ERROR_INVALID_IPV6_PKT`             |
| 280       | 0x118 | `INET_ERROR_INTERFACE_INIT_FAILURE`       |
| 281       | 0x119 | `INET_ERROR_TCP_USER_TIMEOUT`             |
| 282       | 0x11A | `INET_ERROR_TCP_CONNECT_TIMEOUT`          |
| 283       | 0x11B | `INET_ERROR_INCOMPATIBLE_IP_ADDRESS_TYPE` |

## SDK Device Layer errors

| Decimal   | Hex   | Name                                        |
|-----------|-------|---------------------------------------------|
| 513       | 0x201 | `CHIP_DEVICE_ERROR_CONFIG_NOT_FOUND`        |
| 514       | 0x202 | `CHIP_DEVICE_ERROR_NOT_SERVICE_PROVISIONED` |
| 515       | 0x203 | `CHIP_DEVICE_ERROR_SOFTWARE_UPDATE_ABORTED` |
| 516       | 0x204 | `CHIP_DEVICE_ERROR_SOFTWARE_UPDATE_IGNORED` |

## ASN1 Layer errors

| Decimal   | Hex   | Name                              |
|-----------|-------|-----------------------------------|
| 768       | 0x300 | `ASN1_END`                        |
| 769       | 0x301 | `ASN1_ERROR_UNDERRUN`             |
| 770       | 0x302 | `ASN1_ERROR_OVERFLOW`             |
| 771       | 0x303 | `ASN1_ERROR_INVALID_STATE`        |
| 772       | 0x304 | `ASN1_ERROR_MAX_DEPTH_EXCEEDED`   |
| 773       | 0x305 | `ASN1_ERROR_INVALID_ENCODING`     |
| 774       | 0x306 | `ASN1_ERROR_UNSUPPORTED_ENCODING` |
| 775       | 0x307 | `ASN1_ERROR_TAG_OVERFLOW`         |
| 776       | 0x308 | `ASN1_ERROR_LENGTH_OVERFLOW`      |
| 777       | 0x309 | `ASN1_ERROR_VALUE_OVERFLOW`       |
| 778       | 0x30A | `ASN1_ERROR_UNKNOWN_OBJECT_ID`    |

## BLE Layer errors

| Decimal   | Hex   | Name                                        |
|-----------|-------|---------------------------------------------|
| 1025      | 0x401 | `BLE_ERROR_ADAPTER_UNAVAILABLE`             |
| 1027      | 0x403 | `BLE_ERROR_NO_CONNECTION_RECEIVED_CALLBACK` |
| 1028      | 0x404 | `BLE_ERROR_CENTRAL_UNSUBSCRIBED`            |
| 1029      | 0x405 | `BLE_ERROR_GATT_SUBSCRIBE_FAILED`           |
| 1030      | 0x406 | `BLE_ERROR_GATT_UNSUBSCRIBE_FAILED`         |
| 1031      | 0x407 | `BLE_ERROR_GATT_WRITE_FAILED`               |
| 1032      | 0x408 | `BLE_ERROR_GATT_INDICATE_FAILED`            |
| 1035      | 0x40B | `BLE_ERROR_CHIPOBLE_PROTOCOL_ABORT`         |
| 1036      | 0x40C | `BLE_ERROR_REMOTE_DEVICE_DISCONNECTED`      |
| 1037      | 0x40D | `BLE_ERROR_APP_CLOSED_CONNECTION`           |
| 1039      | 0x40F | `BLE_ERROR_NOT_CHIP_DEVICE`                 |
| 1040      | 0x410 | `BLE_ERROR_INCOMPATIBLE_PROTOCOL_VERSIONS`  |
| 1043      | 0x413 | `BLE_ERROR_INVALID_FRAGMENT_SIZE`           |
| 1044      | 0x414 | `BLE_ERROR_START_TIMER_FAILED`              |
| 1045      | 0x415 | `BLE_ERROR_CONNECT_TIMED_OUT`               |
| 1046      | 0x416 | `BLE_ERROR_RECEIVE_TIMED_OUT`               |
| 1047      | 0x417 | `BLE_ERROR_INVALID_MESSAGE`                 |
| 1048      | 0x418 | `BLE_ERROR_FRAGMENT_ACK_TIMED_OUT`          |
| 1049      | 0x419 | `BLE_ERROR_KEEP_ALIVE_TIMED_OUT`            |
| 1050      | 0x41A | `BLE_ERROR_NO_CONNECT_COMPLETE_CALLBACK`    |
| 1051      | 0x41B | `BLE_ERROR_INVALID_ACK`                     |
| 1052      | 0x41C | `BLE_ERROR_REASSEMBLER_MISSING_DATA`        |
| 1053      | 0x41D | `BLE_ERROR_INVALID_BTP_HEADER_FLAGS`        |
| 1054      | 0x41E | `BLE_ERROR_INVALID_BTP_SEQUENCE_NUMBER`     |
| 1055      | 0x41F | `BLE_ERROR_REASSEMBLER_INCORRECT_STATE`     |

## IM Global errors errors

| Decimal   | Hex   | Name                       |
|-----------|-------|----------------------------|
| 1280      | 0x500 | `SUCCESS`                  |
| 1281      | 0x501 | `FAILURE`                  |
| 1405      | 0x57D | `INVALID_SUBSCRIPTION`     |
| 1406      | 0x57E | `UNSUPPORTED_ACCESS`       |
| 1407      | 0x57F | `UNSUPPORTED_ENDPOINT`     |
| 1408      | 0x580 | `INVALID_ACTION`           |
| 1409      | 0x581 | `UNSUPPORTED_COMMAND`      |
| 1413      | 0x585 | `INVALID_COMMAND`          |
| 1414      | 0x586 | `UNSUPPORTED_ATTRIBUTE`    |
| 1415      | 0x587 | `CONSTRAINT_ERROR`         |
| 1416      | 0x588 | `UNSUPPORTED_WRITE`        |
| 1417      | 0x589 | `RESOURCE_EXHAUSTED`       |
| 1419      | 0x58B | `NOT_FOUND`                |
| 1420      | 0x58C | `UNREPORTABLE_ATTRIBUTE`   |
| 1421      | 0x58D | `INVALID_DATA_TYPE`        |
| 1423      | 0x58F | `UNSUPPORTED_READ`         |
| 1426      | 0x592 | `DATA_VERSION_MISMATCH`    |
| 1428      | 0x594 | `TIMEOUT`                  |
| 1436      | 0x59C | `BUSY`                     |
| 1475      | 0x5C3 | `UNSUPPORTED_CLUSTER`      |
| 1477      | 0x5C5 | `NO_UPSTREAM_SUBSCRIPTION` |
| 1478      | 0x5C6 | `NEEDS_TIMED_INTERACTION`  |
| 1479      | 0x5C7 | `UNSUPPORTED_EVENT`        |
| 1480      | 0x5C8 | `PATHS_EXHAUSTED`          |
| 1481      | 0x5C9 | `TIMED_REQUEST_MISMATCH`   |
| 1482      | 0x5CA | `FAILSAFE_REQUIRED`        |
| 1483      | 0x5CB | `INVALID_IN_STATE`         |
| 1484      | 0x5CC | `NO_COMMAND_RESPONSE`      |
| 1520      | 0x5F0 | `WRITE_IGNORED`            |

