# REST API - Find & Filter Recordings

## Endpoint
`POST https://api.screenreply.com/public/integration/{workspaceId}/recordings/list`

## Description
Retrieve a paginated list of recordings for a workspace with complex filtering by tags, statuses, and date ranges.

## Path Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| workspaceId | String (UUID) | Unique identifier of your workspace (required) |

## Request Body (application/json)
| Field | Type | Description |
|-------|------|-------------|
| ids | Array of Strings (UUID) | Filter by specific recording IDs |
| userId | String (UUID) | Filter recordings generated by a specific workspace user |
| statuses | Array of Strings | Allowed values: `NEW`, `RECORDING`, `REVIEWING`, `PROCESSING`, `COMPLETED` |
| directions | Array of Strings | Filter by recording type. Allowed values: `REQUEST`, `RESPONSE` |
| tags | Array of Strings | Returns recordings containing at least one of these tags |
| createdDateFrom | String (ISO 8601) | Inclusive start date (e.g., `"2026-01-01T00:00:00Z"`) |
| createdDateTo | String (ISO 8601) | Inclusive end date (adds 1 day internally) |
| first | Integer | Pagination offset (number of skipped items). Default: `0` |
| pageSize | Integer | Number of records per page. Default: `10` |
| sortField | String | Field to sort by. Default: `"createdDate"` |
| sortOrder | String | `"Ascending"` or `"Descending"`. Default: Ascending |

## Response
- **Status:** 200 OK
```json
{
  "content": [
    {
      "id": "3fa85f64-5717...",
      "status": "COMPLETED",
      "tags": ["bug-report", "frontend"],
      "comment": "Internal review required"
    }
  ],
  "totalElements": 42,
  "totalPages": 2
}
```

## Example Request
```bash
curl -X POST https://api.screenreply.com/public/integration/{workspaceId}/recordings/list \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tags": ["bug-report", "frontend"],
    "statuses": ["COMPLETED", "REVIEWING"],
    "userId": "123e4567-e89b-12d3-a456-426614174000",
    "createdDateFrom": "2026-01-01T00:00:00Z",
    "createdDateTo": "2026-02-21T23:59:59Z",
    "first": 0,
    "pageSize": 25,
    "sortField": "createdDate",
    "sortOrder": "Descending"
  }'
```