# List Credentials

```
GET 
/v1/ai-providers/user/credentials
```

List the account's API credentials, newest first.

Cursor-paginated: pass the returned `nextKey` back as `exclusiveStartKey`; `nextKey: null` means the last page. This route used to return the whole set with `nextKey: null` hard-coded and no cursor param — the envelope without the half a caller can act on (S10). A handful of credentials is the common case; the contract is the same either way so no client needs a branch for "the one list that never pages".

Cursor-paginated. The wire query parameter is `exclusiveStartKey` (what the cURL tab and the parameter table show); the TypeScript SDK takes it as the `exclusiveStartKey` option and the Python SDK as the `exclusive_start_key` keyword — one parameter, spelled per language. Pass the previous page's `nextKey` and stop when it comes back `null` — or let `iterAll()` / `iter_all()` drive the cursor for you (see the SDKs page, "Pagination").

## Request[​](#request "Direkter Link zur request")

## Responses[​](#responses "Direkter Link zur Responses")

* 200
* 404
* 422

Successful Response

Not found

Validation Error
