# Every milestone you can read in an organization, grouped by project

GET`/v1/milestones`[Token scope: `projects:read`](https://docs.taskadence.com/guides/authentication/#scopes)

Request

**curl**


```bash
curl -X GET "https://api.taskadence.com/v1/milestones?org_id=<org_id>" \
  -H "Authorization: Bearer $TASKADENCE_TOKEN"
```

**Python**


```python
from taskadence import Taskadence

tm = Taskadence()  # reads TASKADENCE_TOKEN
result = tm.milestones.list_org("<org_id>")
print(result)
```

Response 200

```json
{
  "org_id": "string",
  "projects": [
    {
      "project_id": "string",
      "project_name": "",
      "data": [
        {
          "milestone_id": "string",
          "org_id": "string",
          "project_id": "string",
          "title": "string",
          "target_date": "2026-09-25",
          "description": "string",
          "owner_user_id": "string",
          "position": 0,
          "status": "open",
          "closed_at": "2026-09-25T12:00:00Z",
          "closed_by": "string",
          "created_by": "string",
          "updated_by": "string",
          "created_at": "2026-09-25T12:00:00Z",
          "updated_at": "2026-09-25T12:00:00Z",
          "tasks_total": 0,
          "tasks_completed": 0,
          "tasks": [
            {}
          ],
          "project_name": ""
        }
      ],
      "next_cursor": "string",
      "milestones_tasks_total": 0,
      "milestones_tasks_completed": 0
    }
  ],
  "total": 0
}
```

Every live milestone in the projects you can read, grouped by project - the shape of `GET /v1/goals`. Each milestone carries its task roll-up and `project_name`; each group `milestones_tasks_total` / `milestones_tasks_completed`. Not paginated.

-   **Who sees what:** the projects you can read (a guest: only the projects they are a member of). 403 when you are not a member of the organization.
-   **Order:** the organization’s project order, then each project’s milestones by position.
-   **Filters:** `filter[project]` (project ids) and `filter[status]` (`open` / `closed`); the sums count what is returned.
-   **Sort:** `sort_by=project_name` orders the projects; any other key orders each project’s milestones.

## Authorizations

-   **[bearerAuth](https://docs.taskadence.com/reference/#bearerauth)**
-   **[TaskadenceToken](https://docs.taskadence.com/reference/#taskadencetoken)**

## Parameters

### Query Parameters

**org\_id**

required

_Org Id_

Organization scope; the caller must be a member (a guest sees only its projects’ milestones).

string

Organization scope; the caller must be a member (a guest sees only its projects’ milestones).

**sort\_by**

Any of:

**string**


string

**null**


null

One of: position, target\_date, title, closed\_at, created\_at, project\_name. `project_name` orders the projects; any other key orders each project’s milestones. Default: the org’s project order, then each project’s milestone order.

**sort\_order**

_Sort Order_

`asc` or `desc`

string

default: asc

`asc` or `desc`

**filter\[project\]**

Any of:

**Array<string>**


Array<string>

**null**


null

Project ids, comma-separated or repeated.

**filter\[status\]**

Any of:

**Array<string>**


Array<string>

**null**


null

`open` or `closed`.

### Header Parameters

**If-None-Match**

string

An `ETag` you hold; unchanged → 304 with no body.

## Responses

### 200

Successful Response

application/json

_OrgMilestonesOut_

`GET /v1/milestones?org_id=`: every live milestone in the projects you can read, grouped by project, each group with its milestones’ task totals. A readable project with no milestones is absent.

object

**org\_id**

required

_Org Id_

string

**projects**

required

_Projects_

Array<object>

_ProjectMilestonesGroup_

One project’s group in `GET /v1/milestones`: its milestones and the sums over them.

object

**project\_id**

required

_Project Id_

string

**project\_name**

_Project Name_

The project’s name.

string

""

**data**

required

_Data_

Array<object>

_MilestoneOrgOut_

A milestone as the organization-wide read returns it: the milestone plus its project’s name.

object

**milestone\_id**

required

_Milestone Id_

string

**org\_id**

required

_Org Id_

string

**project\_id**

required

_Project Id_

string

**title**

required

_Title_

string

**target\_date**

required

_Target Date_

string format: date

**description**

Any of:

**string**


string

**null**


null

**owner\_user\_id**

Any of:

**string**


string

**null**


null

**position**

_Position_

integer

0

**status**

_Status_

string

default: open

**closed\_at**

Any of:

**string**


string format: date-time

**null**


null

**closed\_by**

Any of:

**string**


string

**null**


null

**created\_by**

Any of:

**string**


string

**null**


null

**updated\_by**

Any of:

**string**


string

**null**


null

**created\_at**

Any of:

**string**


string format: date-time

**null**


null

**updated\_at**

Any of:

**string**


string format: date-time

**null**


null

**tasks\_total**

_Tasks Total_

Tasks under this milestone the caller can read (subtasks excluded).

integer

0

**tasks\_completed**

_Tasks Completed_

How many of them are `completed`.

integer

0

**tasks**

Any of:

**Array<object>**


Array<object>

object

**_key_**

additional properties

any

**null**


null

**project\_name**

_Project Name_

The name of the milestone’s project.

string

""

**next\_cursor**

Any of:

**string**


string

**null**


null

**milestones\_tasks\_total**

_Milestones Tasks Total_

integer

0

**milestones\_tasks\_completed**

_Milestones Tasks Completed_

integer

0

**total**

_Total_

Number of milestones across all groups.

integer

0

Example

```json
{
  "org_id": "string",
  "projects": [
    {
      "project_id": "string",
      "project_name": "",
      "data": [
        {
          "milestone_id": "string",
          "org_id": "string",
          "project_id": "string",
          "title": "string",
          "target_date": "2026-09-25",
          "description": "string",
          "owner_user_id": "string",
          "position": 0,
          "status": "open",
          "closed_at": "2026-09-25T12:00:00Z",
          "closed_by": "string",
          "created_by": "string",
          "updated_by": "string",
          "created_at": "2026-09-25T12:00:00Z",
          "updated_at": "2026-09-25T12:00:00Z",
          "tasks_total": 0,
          "tasks_completed": 0,
          "tasks": [
            {}
          ],
          "project_name": ""
        }
      ],
      "next_cursor": "string",
      "milestones_tasks_total": 0,
      "milestones_tasks_completed": 0
    }
  ],
  "total": 0
}
```

### 304

Not Modified - `If-None-Match` matched the current `ETag` (no body)

### 400

Bad request - a query parameter outside what the operation accepts (`invalid-parameter`)

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "Bad request",
  "status": 400,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 401

Missing or invalid bearer token

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "Missing or invalid bearer token",
  "status": 401,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 403

Authenticated, but not allowed

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "Authenticated, but not allowed",
  "status": 403,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 404

Not found

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "Not found",
  "status": 404,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 409

Conflict (a duplicate, or an `Idempotency-Key` still in flight)

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "Conflict (a duplicate, or an `Idempotency-Key` still in flight)",
  "status": 409,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 412

`If-Match` does not match the current `ETag`

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "`If-Match` does not match the current `ETag`",
  "status": 412,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 422

The body or query did not validate (`validation`), or an `Idempotency-Key` was reused

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "The body or query did not validate (`validation`), or an `Idempotency-Key` was reused",
  "status": 422,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 429

An access token, or a signed-in user, or an address over its limit (`rate-limit`; see `Retry-After`)

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "An access token, or a signed-in user, or an address over its limit (`rate-limit`; see `Retry-After`)",
  "status": 429,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

### 500

Unexpected server error - quote `request_id`

application/problem+json

_Problem_

An RFC 9457 problem details object - the body of every error response. `detail` is the human-readable explanation; `request_id` identifies the request for support.

object

**type**

required

`about:blank` or a `urn:taskadence:problem:*` identifier

string

Allowed values: about:blank urn:taskadence:problem:validation urn:taskadence:problem:invalid-parameter urn:taskadence:problem:precondition-failed urn:taskadence:problem:idempotency-key-reused urn:taskadence:problem:idempotency-key-in-flight urn:taskadence:problem:idempotency-key-invalid urn:taskadence:problem:rate-limit urn:taskadence:problem:internal urn:taskadence:problem:token-invalid urn:taskadence:problem:token-expired urn:taskadence:problem:token-revoked urn:taskadence:problem:insufficient-scope urn:taskadence:problem:test-token-read-only urn:taskadence:problem:token-policy urn:taskadence:problem:url-refused urn:taskadence:problem:mfa-required urn:taskadence:problem:email-unverified urn:taskadence:problem:upload-too-large urn:taskadence:problem:upload-type-not-allowed urn:taskadence:problem:upload-type-mismatch urn:taskadence:problem:upload-rejected

**title**

required

string

**status**

required

integer

**detail**

required

Human-readable explanation (a string; for a 422, the list of validation errors)

**instance**

required

string

**request\_id**

required

string

**errors**

Structured failures: validation errors, or `{loc, msg, allowed}` for a bad parameter

Array<object>

object

**mfa**

On an `mfa-required` problem only: `enrolled` (does the person have an authenticator app set up), `required_for` (`all` or `admins`) and `reason` (`org_policy`: the organization’s requirement; `step_up`: this action needs a second step)

object

**enrolled**

boolean

**required\_for**

string

Allowed values: all admins

**reason**

string

Allowed values: org\_policy step\_up

Example

```json
{
  "type": "about:blank",
  "title": "Unexpected server error",
  "status": 500,
  "detail": "…",
  "instance": "/v1/…",
  "request_id": "9b2f1c1e-8c1a-4a53-9f9e-0f5f1f2d7c11"
}
```

---
Source: https://docs.taskadence.com/reference/operations/milestoneslist_org/
