(Note: self-answer)
We currently see two options to this - the first one being the more flexible & recommended.
Option 1: Call the Edits History API directly (recommended)
The Foundry V2 API exposes an editsHistory endpoint on each object type. You can call it directly and render the results however you want.
Here is an example curl call:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://<your-stack>.palantirfoundry.com/api/v2/ontologies/<ontology-rid>/objectTypes/<ObjectTypeApiName>/editsHistory?preview=true" \
-d '{
"objectPrimaryKey": {
"<primaryKeyProperty>": {
"type": "stringValue",
"value": "<your-object-pk>"
}
},
"pageSize": 20
}'
Note: As of writing, this endpoint requires the ?preview=true query parameter.
Response structure
The API returns an array of edit entries, each containing:
-
timestamp: when the edit happened
-
userId: the user who performed the action
-
actionTypeRid: which Action Type triggered the edit
-
edit.type: either modifyEdit, addEdit, or deleteEdit
-
edit.previousProperties: the property values before the edit
-
edit.properties: the property values after the edit
Here is a trimmed example response:
{
"data": [
{
"userId": "7824194c-9ea0-421a-b934-79969049a987",
"timestamp": "2026-04-08T20:54:48.751Z",
"edit": {
"type": "modifyEdit",
"previousProperties": {
"validatedValue": -4.0,
"validation": false
},
"properties": {
"validated Value": 0.0,
"validation": true
}
}
}
],
"totalCount": 4
}
You can then build a React component that renders this as a timeline, a table, or a diff view, whatever fits your application’s design system.
Option 2: Embed Workshop via iframe
If you want a quicker, lower-effort path, you can create a minimal Workshop module containing only the Edits History widget, then embed it in your OSDK app using an iframe.
<iframe
src="https://your-stack.palantirfoundry.com/workspace/module/your-module-rid"
width="100%"
height="600px"
/>
This works for internal tooling where visual consistency is not critical, but it gets painful fast if you need tight integration with your app’s UX.
Comparison
|
Direct API (recommended) |
Iframe embed |
| Setup effort |
Medium |
Low |
| Styling control |
Full |
None |
For any serious OSDK application, I’d recommend Option 1. The API is straightforward, the response shape is clean, and you get full control over how the edit history is presented to your users.
Hope this helps others as it helped me!