# resend_workspace_invite

Source: https://modulify.ai/docs/api/workspaces/resend-workspace-invite

Sends the invitation email again for a pending invitation, with a fresh link that expires 7 days later.

- Title: Resend an invitation
- Scope: `members:write`
- Access: Makes changes
- Endpoint: `POST /v1/resend_workspace_invite`

Use it when someone says the invitation never arrived. It reaches a real inbox, so the tool tells the client not to use it to chase people.

Each resend issues a fresh link and resets the expiry to 7 days from then, so any link already sent stops working. An invitation can be resent once every 30 seconds, counted from when it was sent or last resent, and calling it sooner fails with `Please wait <remaining time> before resending the invite!` It needs the **Manage members** permission (`members.manage`). See [Members and roles](https://modulify.ai/docs/reference/members-and-roles#resend-cancel-and-remove).

## Request

Call it with a `POST` to `https://api.modulify.ai/v1/resend_workspace_invite`, sending the inputs below as a JSON object. The token needs the `members:write` scope.

It makes changes, so send an [Idempotency-Key](https://modulify.ai/docs/api/idempotency) header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.

```bash
curl -X POST https://api.modulify.ai/v1/resend_workspace_invite \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"workspaceId":"WORKSPACE_ID","inviteId":"INVITE_ID"}'
```

Over MCP, the same method is the [resend_workspace_invite tool](https://modulify.ai/docs/mcp/workspaces/resend-workspace-invite).

## Inputs

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `workspaceId` | string | Yes | The workspace id. |
| `inviteId` | string | Yes | The invitation id, from `list_workspace_members`. |

## Response

Every call answers with the [JSON envelope](https://modulify.ai/docs/api/requests-and-responses#the-response) of `success`, `message`, `data`, `code` and `version`. `data` holds the result described above, and on a method that returns a total, `count` carries it. The [response headers](https://modulify.ai/docs/api/requests-and-responses#headers-on-every-method-call) carry the call's `X-Request-Id` and what is left of your per-minute budget in `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset`. [Errors](https://modulify.ai/docs/api/errors) explains every status code a call can answer with.