The attribute schema applies to three data files in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/nordicsemi/bluetooth-numbers-database/llms.txt
Use this file to discover all available pages before exploring further.
v1/ directory: service_uuids.json, characteristic_uuids.json, and descriptor_uuids.json. All three share an identical structure — an array of objects, each representing a single GATT attribute. The schema is defined in v1/attribute_schema.json and is enforced by AJV on every CI run via npm test.
Full schema
Field-by-field breakdown
Each item in the array must be an object containing the following four required fields.The unique identifier for the GATT attribute. Must be an ALL UPPERCASE hexadecimal string in one of two formats:Lowercase letters are not permitted and will fail schema validation.
- 16-bit (4 characters): e.g.
180Dfor Heart Rate Service - 128-bit (36 characters): e.g.
EF680100-9B35-4933-9B10-52FFA9740042for Nordic Thingy Configuration Service
A reverse-dot Uniform Type Identifier (UTI) string that sets the context of the attribute. Follow the naming convention:Examples:
org.bluetooth.service.heart_rate, com.nordic.characteristic.configuration. Identifier values must also be unique across the entire data file — duplicate identifiers are caught by verify.js.The human-readable name of the GATT attribute. For standard SIG-defined attributes this should match the official GATT Specification name (e.g.
"Heart Rate", "Battery Level"). For vendor-defined attributes, use the vendor’s published name.Indicates the origin of the UUID definition. Common values used in the database:
gss— GATT Specification Sheet; used for all standard SIG-defined services, characteristics, and descriptorsnordic— Nordic Semiconductor proprietary UUID- Other vendor names or short identifiers for third-party proprietary UUIDs
UUID format rules
Theuuid field must be uppercase hexadecimal and conform to exactly one of the two formats defined in the Bluetooth Core Specification.
16-bit format — four uppercase hex characters representing a standard Bluetooth SIG assigned number:
8-4-4-4-12, using uppercase hex digits and hyphens only:
Valid example
The following is a valid entry for the Heart Rate GATT Service (service_uuids.json):
service_uuids.json):
