---
title: "Resend workspace invitations in bulk"
method: POST
path: "/api/workspace/invitations/bulk-resend"
---

# Resend workspace invitations in bulk

`POST /api/workspace/invitations/bulk-resend`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/workspace/invitations/bulk-resend`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Resends up to 50 pending workspace invitations at once, the same way as [Resend workspace invitation](/api-reference/resend-workspace-invitation).

Each invitation succeeds or fails on its own, so a `200` doesn't mean every invitation went out. Check `failed`, which lists emails with no pending invitation, people who already joined, invitations resent too often, invitations for `admin` when the plan no longer allows admins, and invitations that couldn't be saved or emailed. Each invitation can be resent 3 times every 10 minutes.

Inviting is limited to 6 requests per minute, shared by [Invite workspace member](/api-reference/invite-workspace-member), [Invite workspace members in bulk](/api-reference/invite-workspace-members-in-bulk), [Resend workspace invitation](/api-reference/resend-workspace-invitation), and [Resend workspace invitations in bulk](/api-reference/resend-workspace-invitations-in-bulk). A signed-in session has its own limit, and every personal access token for the workspace shares one. Some workspaces have a different limit.

<Note>Call this as an owner or admin of the workspace, with a personal access token for that workspace sent as a Bearer token, or from a signed-in session. A read-only token is refused, and workspace API keys aren't accepted.</Note>

## Query parameters

- `workspaceId` string, required: ID of the workspace. With a personal access token, use the token's workspace. Get it from `organization_id` in [Get app](/api-reference/get-app).

## Request body

- BulkResendInviteRequest: Pending invitations to send again.
  - `emails` string[], required: Emails the pending invitations were sent to, 1 to 50. Each email can appear once.

## Response `200`

Which invitations went out.

- BulkInvitationResult: Which invitations went out.
  - `total_sent` integer, required: Number of invitations sent, the length of `successful`.
  - `successful` string[], required: Emails an invitation was sent to.
  - `failed` FailedInvitation[], required: Invitations that weren't sent, with the reason. Empty when every invitation went out.
    - `email` string, required: Email the invitation was for.
    - `error` string, required: Why it wasn't sent. Its wording can change, so don't parse it.
    - `requires_resend` boolean: True when the invitation is saved but its email was not sent. Use the resend endpoint instead of creating it again.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: You aren't an owner or admin of the workspace, your token is for a different workspace or is read-only, or your credential can't be used on this endpoint.
- `409`: Your workspace requires an unlocked SSO session.
- `422`: Validation Error
- `429`: Rate limit exceeded.

## Changes

- **2026-10-15** `5026ff473275`: 1 info
  - added the optional property `failed/items/requires_resend` to the response with the `200` status
- **2026-10-11** `80287813ab84`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-10-05** `8a09a50ea8c9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/base44/apis/base44-app-management-api/changes/api/workspace/invitations/bulk-resend/post.md)

---

[API](https://skmtc.dev/base44/apis/base44-app-management-api.md) - [All operations](https://skmtc.dev/base44/apis/base44-app-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/base44/apis/base44-app-management-api/revisions/c534f09cf314?raw)
