List cards changed since a cursor
Monotonic keyset changefeed ordered by `(updated_at, id)`. Omit `since` to start with the oldest live card. Responses use `no-store` so an edge cache cannot delay newly published events.
Monotonic keyset changefeed ordered by (updated_at, id). Omit since to start with the oldest live card. Responses use no-store so an edge cache cannot delay newly published events.
ApiKeyAuthorizationBearer <rar_live_*>Send Authorization: Bearer rar_live_..., or use rar_test_... for a test key. Both lanes currently read the same catalogue. Without a key you stay in the anonymous lane: 30 requests/minute and 1,000/day, against 60/minute per key and 2,000/day per organization with one on the Free plan. Sending a key that is malformed, revoked or unknown is a 401; sending none is not.
since?stringOpaque changefeed cursor returned in next_cursor. Omit it for the first page; never build it by hand.
length <= 512limit?integerItems per page. Safe integers are clamped to 1-100, not rejected.
-9007199254740991 <= value <= 900719925474099120A page of card update events.
application/json- response
A monotonic page ordered by (updated_at, id). Use next_cursor as the next request's since value.
object*stringdata*array<>has_more*booleanThe only end-of-pagination signal.
next_cursor*|Checkpoint after the last returned event, including on the terminal page. It remains unchanged when no newer event exists. It is null only before the feed has established a position.
curl -X GET 'https://api.rarity.dev/v1/changes' \ -A 'my-app/1.0 (you@example.com)'{ "object": "list", "data": [ { "type": "card.updated", "id": "string", "updated_at": "2019-08-24T14:15:22Z", "fields": [ "string" ] } ], "has_more": true, "next_cursor": "string"}List available bulk exports GET
One latest successful export per currently published type. The list is not paginated; zero exports is a 200 with `data: []`.
List stable-id migrations GET
Append-only ledger of merged and deleted card ids, ordered by `(performed_at, old_id)`. A merge names its replacement; a delete has `new_id: null`. Responses use `no-store` so an edge cache cannot delay newly recorded migrations.