Changes
What changed since your last run. The incremental endpoint automations poll instead of refetching a window.
| Endpoint | Method | Path | Permission |
|---|---|---|---|
| List changes What changed since your last run | GET | /v1/changes | conversions:read |
Base URL https://app.sourceloop.ai/api/v1
List changes
What changed since your last run
GET /v1/changes
Requires conversions:read
The endpoint automations are built on. Poll it with the cursor from your last run instead of refetching a window and diffing client-side.
Every change carries a `source`, so your job can skip its own writes rather than reacting to them and looping.
Ordered newest first. Keeps 90 days.
curl -s -X GET "https://app.sourceloop.ai/api/v1/changes" \
-H "Authorization: Bearer $SOURCELOOP_API_KEY" const res = await fetch(
"https://app.sourceloop.ai/api/v1/changes",
{
method: "GET",
headers: {
Authorization: `Bearer ${process.env.SOURCELOOP_API_KEY}`,
},
},
);
const data = await res.json(); import os, requests
res = requests.get(
"https://app.sourceloop.ai/api/v1/changes",
headers={"Authorization": f"Bearer {os.environ['SOURCELOOP_API_KEY']}"},
)
data = res.json() Query parameters
sincestring (date-time)Defaults to the last 24 hours.
cursorstringtypesstringAllowed values4
conversion.createdconversion.value_changedstage.changeddeal.stage_changed
limitintegerDefault
100
Responses
-
200Changes -
400Something was wrong with the request or the credential. -
429Too many requests for this workspace in the current minute. Wait Retry-After seconds and repeat the request unchanged.