---
title: "Pagination"
description: "Configure default and maximum list-endpoint page size with pagination.conf."
stack: "Enterprise Stack (commercial) — version 1.1.1"
stack_version: "1.1.1"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/enterprise-stack/setup/configurations/config-files/pagination
generated: 2026-10-01
---
# Pagination

The `pagination.conf` file defines default and maximum pagination limits used by Enterprise list endpoints that support `limit`, `offset`, and, on some endpoints, `sort`. If the file is omitted, the API uses `defaultLimit = 100` and `maxLimit = 1000`.

## Configuration

```editorconfig[pagination.conf]
{
  "defaultLimit": 100,
  "maxLimit": 1000
}
```

## Fields

- `defaultLimit`: applied when `limit` is not provided by the client.
- `maxLimit`: upper bound accepted for `limit`.

`offset` is not configurable — it always defaults to `0` when omitted.

## Query parameters

- `limit` (integer, optional): number of entries to return. Defaults to `defaultLimit`; must be greater than `0` and less than or equal to `maxLimit`.
- `offset` (integer, optional): number of entries to skip. Defaults to `0`; must be greater than or equal to `0`.
- `sort` (string, optional): only accepted on endpoints marked **Sortable** in the table below. Supported values:
  - `createdDateTime` or `createdDateTime:desc` — newest created first (the bare value is shorthand for `:desc`, descending)
  - `createdDateTime:asc` — oldest created first (ascending)
  - `updatedDateTime` or `updatedDateTime:desc` — most recently updated first (descending)
  - `updatedDateTime:asc` — least recently updated first (ascending)

  Passing `sort` on an endpoint that isn't marked Sortable returns `400 Bad Request`. When `sort` is omitted, each endpoint falls back to its own default order, which isn't necessarily insertion order — pass `sort` explicitly if your client depends on ordering.

## Validation behavior

For list endpoints using this pagination contract, the API returns `400 Bad Request` when:

- `limit <= 0`
- `limit > maxLimit`
- `offset < 0`
- `limit` or `offset` is not an integer
- `sort` is provided on an endpoint that doesn't support it
- `sort` is provided with a value outside the supported list above

## Endpoint behavior

The following list endpoints support this contract:

| Endpoint | Sortable |
|---|---|
| `GET /v1/{target}/resource-api/resources/list` | No |
| `GET /v1/{target}/credential-store-service-api/credentials/list` | Yes |
| `GET /v1/{target}/credential-store-service-api/credentials/list-ids` | No |
| `GET /v1/{target}/did-store-service-api/dids` | Yes |
| `GET /v1/{target}/did-store-service-api/dids/list-did-ids` | No |
| `GET /v1/{target}/kms-service-api/keys/list` | Yes |
| `GET /v1/{target}/x509-store-api/certificates` | Yes |
| `GET /v1/{target}/x509-store-api/certificates/ids` | No |
| `GET /v2/{target}/issuer-service-api/sessions` | Yes |
| `GET /v1/{target}/verifier2-service-api/sessions` | Yes |
| `GET /v1/{target}/policy-store-service-api/policies/list` | No |
| `GET /v1/{target}/policy-store-service-api/policies/list-ids` | No |
| `GET /v1/{target}/credential-status-service-api/status-credential/list` | No |
| `GET /v1/{target}/vical-service-api/versions/ids` | No |

Responses remain arrays (no pagination envelope is added).

See also: [List Service Resources](https://docs.walt.id/enterprise-stack/administration/services/list-resources.md) and [Manage Certificates](https://docs.walt.id/enterprise-stack/services/x509-store-service/manage-certificates.md) for worked examples.
