---
title: List Allocations
slug: devicepark/sdk-documentation/allocations/list-allocations
description: List, filter and inspect active or queued device allocations.
docTags: 
createdAt: 2026-08-10T08:03:45.197Z
---

Use this method to inspect reservation requests created for the authenticated account. It is the status-check operation for allocations that are queued or already assigned.

## SDK Method

| Java                                 | Node.js                                     | .NET                                           | Returns               |
| ------------------------------------ | ------------------------------------------- | ---------------------------------------------- | --------------------- |
| `client.allocations().list(request)` | `await client.allocations().list(request?)` | `await client.Allocations.ListAsync(request?)` | `PageDto<Allocation>` |

## Request Fields

| Builder method                      | Type            | Default | Description                     |
| ----------------------------------- | --------------- | ------- | ------------------------------- |
| `.page(value)`                      | integer         | `0`     | Zero-based page index           |
| `.size(value)`                      | integer         | `20`    | Maximum allocations requested   |
| `.sortBy(value)`                    | string          | `ID`    | Server-side sort field          |
| `.direction(value)`                 | `SortDirection` | `DESC`  | `ASC` or `DESC`                 |
| `.addFilter(key, value, operation)` | filter rule     | None    | Adds an allocation filter       |
| `.filters(rules)`                   | filter array    | Empty   | Replaces all allocation filters |

## Available Allocation Filters

| Constant                      | Value                | Typical operation | Purpose                               |
| ----------------------------- | -------------------- | ----------------- | ------------------------------------- |
| `AllocationFilter.ALLOCATION` | Allocation id string | `EQUAL`           | Find one allocation by `allocationId` |

All three SDKs transmit this filter to Device Park.

## Request Mapping

The list operation has no request body. Every SDK maps pagination, sorting and filters to query data. OAuth authorization is managed by the SDK client.

## Examples

:::CodeblockTabs
```java
AllocationFilterRequest filterRequest = AllocationFilterRequest.of(
        AllocationFilter.ALLOCATION,
        "allocation-123",
        SearchOperation.EQUAL
);

PageDto<Allocation> allocations = client.allocations().list(
        AllocationSearchRequest.builder()
                .filters(Collections.singletonList(filterRequest))
                .page(0)
                .size(20)
                .build()
);
```

```typescript
import {
  AllocationFilter,
  type AllocationFilterRequest,
  AllocationSearchRequestBuilder,
  SearchOperation
} from "@device-park/public-sdk";

const filterRequest: AllocationFilterRequest = {
  key: AllocationFilter.ALLOCATION,
  value: "allocation-123",
  operation: SearchOperation.EQUAL
};

const allocations = await client.allocations().list(
  new AllocationSearchRequestBuilder()
    .filters([filterRequest])
    .page(0)
    .size(20)
    .build()
);
```

```csharp
var allocations = await client.Allocations.ListAsync(
    new AllocationSearchRequest.Builder()
        .AddFilter(AllocationFilter.ALLOCATION, "allocation-123", SearchOperation.EQUAL)
        .Page(0)
        .Size(20)
        .Build());
```
:::

## Response Model

| Field          | Type            | Nullable | Meaning                                                       |
| -------------- | --------------- | -------- | ------------------------------------------------------------- |
| `allocationId` | string          | Yes      | Identifier used to start sessions and release the reservation |
| `deviceSerial` | string          | Yes      | Assigned device; `null` while no device is assigned           |
| `requestId`    | string          | Yes      | Allocation request tracking identifier                        |
| `position`     | number          | Yes      | Queue position while waiting                                  |
| `expiresAt`    | ISO-8601 string | Yes      | Reservation expiration time                                   |

Queued response:

```json
{
  "size": 20,
  "page": 0,
  "totalPages": 1,
  "totalElements": 1,
  "data": [
    {
      "allocationId": "allocation-123",
      "deviceSerial": null,
      "requestId": "request-456",
      "position": 2,
      "expiresAt": "2026-07-28T12:30:00Z"
    }
  ]
}
```

Assigned response:

```json
{
  "size": 20,
  "page": 0,
  "totalPages": 1,
  "totalElements": 1,
  "data": [
    {
      "allocationId": "allocation-123",
      "deviceSerial": "R58M123456A",
      "requestId": "request-456",
      "position": null,
      "expiresAt": "2026-07-28T12:30:00Z"
    }
  ]
}
```

When polling, inspect the same `allocationId` with bounded retries. Do not create a new allocation for every status check.

## Next Steps

- [Start a session after  deviceSerial  is assigned](docId\:ouSu3HjjBQLFsC2bURFU-)
- [Release an allocation that is no longer needed](docId\:zPik1KKbx0n9i3GXP3HoB)
