def iterate(
*,
limit: int | None = None,
offset: int | None = None,
search: str | None = None,
order: str | None = None,
timeout: float | None = None,
) -> Iterator[WebhookResource]def iterate(
*,
limit: int | None = None,
offset: int | None = None,
search: str | None = None,
order: str | None = None,
timeout: float | None = None,
) -> AsyncIterator[WebhookResource]Returns an iterator that yields endpoints individually and fetches the next page only once the current one is drained. Nothing is requested until you start consuming it, and breaking out of the loop stops the requests, so this is the cheapest way to find the endpoint pointed at one URL.
The generator defaults to the maximum page size of 100 and clamps anything larger, so limit only ever makes pages smaller. Creating or deleting endpoints while you iterate shifts the offsets the walk counts against, so collect ids first and act on them after the loop.
Example
from envless import envless
for hook in envless.webhooks.iterate():
if hook['url'] == 'https://hooks.example.com/envless':
print(hook['id'], hook['eventTypes'])
breakimport asyncio
from envless import AsyncEnvless
async def main() -> None:
async with AsyncEnvless() as envless:
async for hook in envless.webhooks.iterate():
if hook['url'] == 'https://hooks.example.com/envless':
print(hook['id'], hook['eventTypes'])
break
asyncio.run(main())Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | int | No | Page size per request, capped at 100 and defaulting to 100. |
offset | int | No | Row the walk starts at, advancing by the number of items each page returns. |
search | str | No | Case insensitive substring match across name, url and description. |
order | str | No | Defaults to name, which sorts A to Z. Pass asc for oldest first or desc for newest first on createdAt. |
timeout | float | No | Seconds each attempt of this call may take, the response body included, before it raises EnvlessNetworkError with is_timeout set. Overrides the client's timeout for this call, and 0 turns the limit off. |
Returns
Iterator[WebhookResource] yielding one endpoint per step.
Reads the webhooks collection. list returns one page as a dict with items and pagination, list_all collects every page into a list, and iterate yields one item at a time, fetching the next page only when the loop reaches it. On AsyncEnvless, iterate is an async iterator for async for.
Worth knowing
- The generator is lazy, so an abandoned loop costs at most the pages you consumed.
Required scopes
webhooks:read
Underlying endpoint
GET /webhooks
Request and response schema, every error code, and a live playground.
In TypeScript
envless.webhooks.iterate()
The same method in @goenvless/sdk, with the same request, retries and errors.