Overview
RPM’s JSON APIs use stable Uids to identify individual fields and table rows across many object types (forms, locations, custom records, etc.). Use Uids to:
Filter which fields you retrieve via
FilterUid
parametersReference specific field or row values in updates
Correlate data across nested objects like sets or table rows
What is a Uid?
A
Uid
is an opaque string of the form<TemplateID>_<FieldID>
.It remains constant for the life of the template or record definition.
Always serialized as a string in JSON payloads.
Where Uids Appear
Any API response that returns field data will include Uid
within each field entry. Common locations:
Top-level Fields arrays (e.g. forms, accounts, customers):
"Fields": [ { "Field": <string>, "Uid": <string>, "Value": <string> } ]
Reference-type fields (include an extra
ID
property):{ "Field": <string>, "Uid": <string>, "Value": <string>, "ID": <int> }
Nested Table fields under
Rows
arrays (any object with table‐style fields):"Rows": [ { "RowID": <int>, "TemplateDefinedRowID": <int>, "IsDefinition": <bool>, "IsLabelRow": <bool>, "IsShown": <bool>, "Order": <int>, "Fields": [ { "Uid": <string>, "Value": <string>, "IsUnread": <bool> } ] } ]
Using Uids in API Requests
Many endpoints accept a FilterUid
parameter to limit the returned fields to a single Uid (or comma‐delimited list):
{ "ObjectID": <int>, "FilterUid": <string> }
Response will include only matching entries:
"Fields": [ { "Field": <string>, "Uid": <string>, "Value": <string> } ]
Updating Specific Fields
When sending updates (e.g. edits or adds), reference the Uid
to target exactly that field. Generic payload structure:
{ "Object": [ { "Field": <string>, "Uid": <string>, "Value": <string> } ] }
For reference fields that require their internal numeric ID, include ID
as well:
{ "Object": [ { "Field": <string>, "Uid": <string>, "Value": <string>, "ID": <int> } ] }