Change feed
Query what changed in your Salesforce schema since a given timestamp.
The change feed answers a question Salesforce's own APIs can't: what schema changed since timestamp T? Salesforce exposes the current state of your metadata, but not a history of how it got there. SchemaForce accumulates that history, so you can pull every object, field, and attribute change since any point in time.
GET /api/v1/changes?since={ISO-8601}&limit={n}
Authentication required
Like the rest of the Read API, the feed is metadata only, requires a bearer token, and requires a Business plan. See Authentication.
Parameters
| Param | Required | Description |
|---|---|---|
since | No | ISO-8601 timestamp. Returns changes that occurred after it. Invalid value returns 400. |
limit | No | Page size. Defaults to 100, caps at 500. |
Ordering
- With
since, results are returned oldest → newest. Use theoccurred_atof the last item as the nextsincevalue to page forward through the full history. - Without
since, results are returned newest first.
Example
curl "https://api.schemaforce.com/v1/changes?since=2026-06-01T00:00:00Z&limit=50" \
-H "Authorization: Bearer sk_live_…"
Item shape
Each item describes one schema change:
| Field | Description |
|---|---|
occurred_at | When the change happened (ISO-8601). |
change_type | added, modified, or removed. |
entity_type | The kind of entity that changed (e.g. object, field). |
entity_api_name | API name of the changed entity. |
object_api_name | API name of the object the entity belongs to. |
attribute | The schema attribute that changed. |
old_value | The attribute's prior value. |
new_value | The attribute's new value. |
changed_by | Who made the change. |
source | Where the change came from. |
Schema values only
old_value and new_value are schema attribute values — for example a field's previous label or data type. They are never record or customer data.
Errors
| Status | Meaning |
|---|---|
401 | Missing, invalid, or revoked API key. |
403 | Account is not on the Business plan. |
400 | since is not a valid ISO-8601 timestamp. |