---
title: "POST /spaces/{spaceId}/projects/{projectId}/threshold-alert-recipients/bulk"
method: POST
path: "/spaces/{spaceId}/projects/{projectId}/threshold-alert-recipients/bulk"
tags: ["slash-project-threshold-alert-recipient"]
---

# POST /spaces/{spaceId}/projects/{projectId}/threshold-alert-recipients/bulk

`POST /spaces/{spaceId}/projects/{projectId}/threshold-alert-recipients/bulk`

## Path parameters

- `spaceId` integer, required
- `projectId` integer, required

## Request body

- ThresholdAlertRecipientBulkCreateRequest — Bulk-add recipients to a project's Fixed Fee threshold-alert list. Per-item outcome — partial success is normal.
  - `recipients` ThresholdAlertRecipientCreateRequest[], required — One entry per recipient to add. Deduplicated by email — a repeated email in the same batch will succeed once and be reported as already-configured on the second occurrence.
    - `userId` integer — Internal org member user id. Set for internal members.
    - `email` string, email — Email address for external stakeholders (CEO, finance manager, etc). Ignored when userId is set.
    - `displayName` string — Optional freeform label for external stakeholders. Ignored for internal members (their name comes from user service).

## Response `200`

OK

- ResponseFormat
  - `success` boolean
  - `message` string
  - `data` unknown
  - `errorCode` integer
  - `errors` unknown

---

[API](https://skmtc.net/astravue/apis/astravue-api.md) · [All operations](https://skmtc.net/astravue/apis/astravue-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/astravue/astravue-api/revisions/c2b39b2c43c5/schema)
