Links · links.history
GET/links/{id}/historylinks.history
History
GET /links/{id}/history is part of the Links group. Its parameters and response shape below are generated from the live OpenAPI document. The payload comes back inside a data array.
- Base URL
- https://api.power301.com/v1
- Auth
- Bearer token
- Idempotent
- Yes
- Returns
- application/json
The request
Call GET /links/{id}/history with your bearer token. The id path segment identifies the record.
# History
curl "https://api.power301.com/v1/links/9f2a7c31-4b8e-4a02-9d1f-0c6b7e5a1d44/history" \
-H "Authorization: Bearer $POWER301_TOKEN"Path parameters
| Parameter | Description |
|---|---|
| idRequiredstring |
The response
A 200 carries the payload inside a data array — the same shape the list endpoints return, so one parser handles both.
{
"data": [
{
"id": "9f2a7c31-4b8e-4a02-9d1f-0c6b7e5a1d44",
"old": {
"destination": [
"https://acme.com/campaigns/spring"
],
"utm": {
"field": "string"
},
"type": "link",
"status": "301",
"password": true
},
"new": {
"destination": [
"https://acme.com/campaigns/spring"
],
"utm": {
"field": "string"
},
"type": "link",
"status": "301",
"password": true
},
"actor": {
"id": "9f2a7c31-4b8e-4a02-9d1f-0c6b7e5a1d44",
"name": "Acme"
},
"source": "string",
"created_at": "2026-08-01T09:14:22Z"
}
],
"meta": {
"cursor": {
"current": null,
"prev": "string",
"next": "string",
"count": 1,
"total": 1
}
}
}Status codes
200
SuccessThe changes made to the record after it was created, newest first, one entry per change.
old and new hold only the fields that changed, keyed by field: destination (every destination, the primary one first; null while the record serves HTML), utm, type and status (active / paused). actor.name is who made the change as it read then: the user's name, or the API token's name when source is api. meta.cursor.total counts every change of the record. Reading the changes is the plan's audit log, from Pro up (feature security.audit); without it data is empty while meta.cursor.total still counts the changes, so the dashboard can show how many there are next to an upgrade prompt. Follow meta.cursor.next for the next page.401
UnauthenticatedUnauthenticated
429
Too many requestsToo many requests
