---
title: "[DEPRECATED: use custom fields of type 'milestone'] Retrieve multiple milestones by their IDs"
method: POST
path: "/api/workspaces/{workspaceId}/milestones/list"
tags: ["CRUD", "Milestones"]
deprecated: true
---

# \[DEPRECATED: use custom fields of type 'milestone'\] Retrieve multiple milestones by their IDs

`POST /api/workspaces/{workspaceId}/milestones/list`

## Request

- Base URL: `https://app.airfocus.com`
- URL: `https://app.airfocus.com/api/workspaces/{workspaceId}/milestones/list`
- Auth: HTTP bearer

> **Deprecated.**

Returns a list of milestones resolved for the provided IDs.<br/>
Guarantees that the array-size and order of the returned milestones matches the order of requested IDs.<br/>
Does not fail if any of the requested milestones is not found or not accessible - instead it returns null as an array-element of the corresponding milestone which could not be accessed.<br/>Requirements:<br/>- auth-client scopes: "workspace:read"<br/>- user permission: "read" or higher

## Path parameters

- `workspaceId` string, uuid, required

## Query parameters

- `actAsAdmin` boolean

## Request body

- string[]

## Response `200`

- MilestoneWithEmbed[]
  - `_embedded` object, required
  - `createdAt` string, date-time, required
  - `date` string, date, required
  - `description` string, required
  - `id` string, uuid, required
  - `lastUpdatedAt` string, date-time, required
  - `name` string, required
  - `timezone` string
  - `workspaceId` string, uuid, required

## Other responses

- `400`: If payload is invalid.
- `401`: If missing authentication token.
- `403`: If user does not have the required permission, or authenticated client does not have the required access scopes.
- `default`: If any other error happens.

---

[API](https://skmtc.dev/airfocus/apis/airfocus-api.md) · [All operations](https://skmtc.dev/airfocus/apis/airfocus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/airfocus/apis/airfocus-api/revisions/fc9ccaa2ec6d?raw)
