List endpoints use cursor pagination, not page numbers or offsets, so a bulk import of old photos never reshuffles the top of an in-progress listing.
image.list returns:
{
"items": [ /* … */ ],
"next_cursor": "018f3a6b-9d1e-7c4a-8b2f-1a2b3c4d5e6f"
}
To fetch the next page, pass the returned next_cursor back as the cursor parameter. When next_cursor is empty (""), you have reached the last page.
Items are ordered by capture time — taken_at, falling back to created_at — newest first. The cursor is opaque; do not parse or construct it, and do not assume it is a timestamp or an id.
Use the optional limit parameter (default 50) to control page size.
# first page
curl -s https://peinture.gumeniuk.com/rpc \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"image.list","params":{"limit":50}}'
# next page — feed next_cursor back in
curl -s https://peinture.gumeniuk.com/rpc \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"image.list","params":{"cursor":"018f3a6b-9d1e-7c4a-8b2f-1a2b3c4d5e6f"}}'