Пагинация
Курсорная пагинация на каждом списочном эндпоинте: конверт ответа, лимиты и готовый цикл обхода.
Обновлено 13 августа 2026 г.
Каждый списочный эндпоинт разбивается на страницы непрозрачным курсором. Курсоры устойчивы к вставкам и удалениям: в отличие от номеров страниц, они никогда не пропускают и не дублируют строки во время обхода.
Конверт ответа
{
"data": [ { "id": "lnk_…" }, { "id": "lnk_…" } ],
"pagination": {
"next_cursor": "eyJpZCI6Imxua19hYmMiLCJjcmVhdGVkX2F0IjoiMjAyNi0uLi4ifQ",
"has_more": true
}
}
limit— размер страницы, 1–100, по умолчанию 50.cursor— значениеnext_cursorпредыдущей страницы, передаётся без изменений.next_cursorравенnullна последней странице.
Относитесь к курсору как к непрозрачной строке: его формат может измениться,
гарантируется только передача его обратно как есть. Некорректный курсор отвечает
400 invalid_request, а не начинает молча с первой страницы.
Обход
curl -s "$LINKPROFIT_API_BASE/links?limit=100" \
-H "Authorization: Bearer $LINKPROFIT_API_KEY"
# then with the next_cursor value from the response:
curl -s "$LINKPROFIT_API_BASE/links?limit=100&cursor=CURSOR_FROM_PREVIOUS_PAGE" \
-H "Authorization: Bearer $LINKPROFIT_API_KEY"
async function* allLinks(base, key) {
let cursor = null;
do {
const url = new URL(`${base}/links`);
url.searchParams.set("limit", "100");
if (cursor) url.searchParams.set("cursor", cursor);
const response = await fetch(url, {
headers: { Authorization: `Bearer ${key}` },
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const page = await response.json();
yield* page.data;
cursor = page.pagination.next_cursor;
} while (cursor);
}
Где применяются курсоры
Курсорная пагинация доступна на /links, /events, /partner/clients и
/webhooks/{id}/deliveries. Короткие списки — домены, тарифы, webhook — возвращаются
одной страницей с has_more: false; платежи и выплаты фильтруются по
period и ограничены 100 строками на запрос.
Порядок везде от новых к старым, кроме /partner/clients, который разбивается на
страницы в устойчивом порядке идентификаторов.