Record Access Control Point (0x2A52): byte layout
GATT characteristic · org.bluetooth.characteristic.record_access_control_point · read from the Bluetooth SIG’s repository on 2026-10-17 · commit 408f4a0 (2026-10-14)
Record Access Control Point is Bluetooth GATT characteristic 0x2A52, org.bluetooth.characteristic.record_access_control_point in the Bluetooth SIG's assigned numbers. The SIG's GATT Specification Supplement file lays its value out as 3 fields: Op Code, Operator and Operand.
- UUID
- 0x2A52
- Identifier
org.bluetooth.characteristic.record_access_control_point- The SIG’s description
- The Record Access Control Point is used to enable service-specific procedures for management of a set of data records.The structure of this characteristic is defined below.
- Service the SIG’s files tie it to
- None: no file in the repository lists this characteristic under a service.
- Source file
- gss/org.bluetooth.characteristic.record_access_control_point.yaml
Byte layout: 3 fields
In the order the SIG’s structure lists them. Type and size are as published; sizes count octets except where a struct is marked as sized in bits. The offset is printed only where every earlier field has a fixed size; where an earlier field can be absent or vary, the cell names what it depends on. “Present when” is read from the field’s own “Present if” line, shown in full in the field notes below.
Field notes
Each field’s text in the SIG’s file, line by line.
- Op Code uint8 · 1
- See Op Code
Flags and value tables
The definitions the SIG’s file gives for its fields, every row as published. On a flags table the last column lists the fields whose “Present if” line names that bit.
Op Code
The Op Code values and associated Operator and Operand values are defined below.
| Op code | Definition | Operator | Operand | Description |
|---|---|---|---|---|
| 0x00 | Reserved for Future Use | N/A | N/A | N/A |
| 0x01 | Report stored records | Value from Operator table | Filter parameters (as appropriate to Operator and Service) | Following record transmission, the response to this control point is Op Code 0x06. |
| 0x02 | Delete stored records | Value from Operator table | Filter parameters (as appropriate to Operator and Service) | The response to this control point is Op Code 0x06. |
| 0x03 | Abort operation | Null | Not included | The response to this control point is Op Code 0x06. |
| 0x04 | Report number of stored records | Value from Operator table | Filter parameters (as appropriate to Operator and Service) | The normal response to this control point is Op Code 0x05. For error conditions, the response is Op Code 0x06. |
| 0x05 | Number of stored records response | Null | Number of Records (Field size defined by Service) | This is the normal response to Op Code 0x04. For error conditions, the response is Op Code 0x06. |
| 0x06 | Response Code | Null | Request Op Code followed by Response Code Value | Response to Op Codes when there is no response parameter; also used for error responses for all Op Codes (see Response Code Values). |
| 0x07 | Combined Report | Value from Operator table | Filter parameters (as appropriate to Operator and Service) | Following record transmission, the normal response to this control point is Op Code 0x08. For error conditions, the response is Op Code 0x06. |
| 0x08 | Combined Report Response | Null | Number of Records (Field size defined by Service) | This is the normal response to Op Code 0x07. |
| 0x09-0xFF | Reserved for Future Use | N/A | N/A | N/A |
Operator
The values of this field are defined below.
| Operator Value | Definition | Operand Notes |
|---|---|---|
| 0x00 | Null | Varies by Op Code |
| 0x01 | All records | No Operand used |
| 0x02 | Less than or equal to | Operand contains at least a maximum value |
| 0x03 | Greater than or equal to | Operand contains at least a minimum value |
| 0x04 | Within range of (inclusive) | Operand contains at least a minimum value, maximum value pair |
| 0x05 | First record (i.e., oldest record) | No Operand used |
| 0x06 | Last record (i.e., most recent record) | No Operand used |
| 0x07-0xFF | Reserved for Future Use | N/A |
Operand
The format and content of the Operand field is defined by the service using the Record Access Control Point.
Response Code Values
The Response Code Values associated with Op Code 0x06 are defined below.
| Response code | Definition | Description |
|---|---|---|
| 0x00 | Reserved for Future Use | N/A |
| 0x01 | Success | Normal response for successful operation. |
| 0x02 | Op Code not supported | Error response if unsupported Op Code is received. |
| 0x03 | Invalid Operator | Error response if Operator received does not meet the requirements of the service (e.g., Null was expected). |
| 0x04 | Operator not supported | Error response if unsupported Operator is received. |
| 0x05 | Invalid Operand | Error response if Operand received does not meet the requirements of the service. |
| 0x06 | No records found | Error response if a request for reporting records resulted in no records meeting the criteria. When using Op Code 0x04 (Report number of stored records), Op Code 0x05 (Number of stored records response) is used with 0 as the Operand to report that zero records are found. |
| 0x07 | Abort unsuccessful | Error response if request for Abort is unsuccessful. |
| 0x08 | Procedure not completed | Error response if procedure cannot be completed for any reason. |
| 0x09 | Operand not supported | Error response if unsupported Operand is received. |
| 0x0A | Server Busy | Error response if the server cannot process a requested function because it is busy. |
| 0x0B-0xFF | Reserved for Future Use | N/A |
Guides on this site
No guide on this site names 0x2A52 yet. The connected-devices guides cover pairing, subscribing and testing for the device types they do name.
Questions
- What is the UUID of the Record Access Control Point characteristic?
- 0x2A52. The Bluetooth SIG's characteristic_uuids.yaml lists Record Access Control Point as 0x2A52 with the identifier org.bluetooth.characteristic.record_access_control_point. No file in the SIG's repository ties it to a service: the repository lists service and characteristic UUIDs separately.
- Which Record Access Control Point fields are optional?
- 1 of its 3 fields has a published size that can be zero: Operand (0-18; no “Present if” line in its text). Op Code (1) and Operator (1) have a fixed size.
- Which values does the Record Access Control Point Op Code table define?
- 0x01: Report stored records; 0x02: Delete stored records; 0x03: Abort operation; 0x04: Report number of stored records; 0x05: Number of stored records response; 0x06: Response Code; 0x07: Combined Report; 0x08: Combined Report Response. The other rows are reserved for future use or carry no text.
Source
Read on 2026-10-17 from gss/org.bluetooth.characteristic.record_access_control_point.yaml and assigned_numbers/uuids/characteristic_uuids.yaml in the Bluetooth SIG’s public repository (branch main, commit 408f4a0, committed 2026-10-14), by scripts/fetch-bluetooth-gatt.mjs. The file’s notice says it is proprietary to Bluetooth SIG, that furnishing it grants no licence, and that it is subject to change without notice; it is © Bluetooth SIG, Inc., and its text is quoted here for identification. Generated by AIFitnessAPI, which is not affiliated with Bluetooth SIG; the SIG’s file remains the authority. The full notice and the conventions used on these pages are on the reference hub.