RPM API Uid Usage
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
FilterUidparameters - Reference specific field or row values in updates
- Correlate data across nested objects like sets or table rows
What is a Uid?
- A
Uidis 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
IDproperty):{
"Field": <string>,
"Uid": <string>,
"Value": <string>,
"ID": <int>
} - Nested Table fields under
Rowsarrays (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),You can reference a field by its name "Field" or Uid. Neither Uid nor ID is mandatory:
{
"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>
}
]
}