---
title: "List placements"
method: GET
path: "/placements"
tags: ["Placements"]
---

# List placements

`GET /placements`

Returns a list of placements. Supports pagination, filtering by company, sort options, and applied filters. Returns candidate, company, job, fee, and placement metadata.

## Query parameters

- `page` integer
- `pageSize` integer
- `companyId` string
- `modifiedSince` string, date-time
- `modifiedUntil` string, date-time

## Response `200`

Successfully retrieved placements. Returns items array with pagination info containing page number, page size, and total count.

- PlacementPaginatedResponseDto
  - `items` PlacementListItemDto[], required
    - `id` string, required
    - `templateId` string, required
    - `type` 'CONTINGENT' | 'INTERIM' | 'RETAINED', required
    - `placedByUser` PlacementUserBadgeDto, required
      - `id` string, required
      - `name` string, required
      - `avatarUrl` string, nullable, required
      - `deactivatedAt` string, date-time, required
    - `placedAt` string, date-time, required
    - `startDate` string, date-time, required
    - `endDate` string, date-time, required
    - `fee` PlacementFeeDto, required
      - `id` string, required
      - `net` PlacementMonetaryAmountDto, required
        - `amount` number, required
        - `currency` 'EUR' | 'GBP' | 'USD' | 'ZAR' | 'AUD' | 'CHF' | 'SAR' | 'AED' | 'EGP' | 'HUF' | 'RON' | 'BGN' | 'CZK' | 'PLN' | 'NOK' | 'SEK' | 'DKK' | 'CAD' | 'HKD' | 'JPY' | 'THB' | 'CNY' | 'INR' | 'SGD' | 'MYR' | 'QAR' | 'PHP' | 'LKR' | 'KWD' | 'PKR' | 'MOP' | 'IDR' | 'VND' | 'KRW' | 'MXN' | 'BRL' | 'ARS' | 'NZD' | 'TWD' | 'ILS' | 'TRY' | 'RUB' | 'MDL' | 'MUR' | 'OMR', required
      - `splits` PlacementFeeSplitDto[], required
        - `user` PlacementUserBadgeDto, required
          - `id` string, required
          - `name` string, required
          - `avatarUrl` string, nullable, required
          - `deactivatedAt` string, date-time, required
        - `percentage` number, required
      - `details` object, nullable — Experimental. The structure of this field is intentionally unspecified and may change without notice.
    - `extensionOf` PlacementExtensionOfDto, required
      - `id` string, required
    - `applicationId` string, required
    - `candidate` PlacementCandidateBadgeDto, required
      - `id` string, required
      - `firstName` string, required
      - `lastName` string, required
      - `middleName` string, nullable, required
      - `secondLastName` string, nullable, required
      - `avatarUrl` string, nullable, required
    - `company` PlacementCompanyBadgeDto, required
      - `id` string, required
      - `name` string, required
      - `logoCdnUrl` string, nullable, required
    - `vacancy` PlacementVacancyBadgeDto, required
      - `id` string, required
      - `name` string, required
  - `pagination` PaginationDto, required
    - `totalItems` number, required
    - `page` number, required
    - `hasNextPage` boolean, required

## Other responses

- `400` — Bad request - invalid query parameters (e.g., page number out of range, invalid filter format)
- `401` — Unauthorized - invalid or missing authentication
- `500` — Error response

---

[API](https://skmtc.net/spott/apis/spott-webhooks.md) · [All operations](https://skmtc.net/spott/apis/spott-webhooks/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spott/spott-webhooks/versions/ad1f8c51cf0a/schema)
