---
title: "Approve invitation request"
method: POST
path: "/invitation_requests/{id}/approve"
tags: ["Users"]
---

# Approve invitation request

`POST /invitation_requests/{id}/approve`

Approve a pending invitation request and create user account.

**Authentication Required**: Yes (for organization admin)
**Permissions**: Organization admin or the specifically requested user

**Process**:
1. Validates admin has permission to approve
2. Creates user account with provided information
3. Assigns default organization roles
4. Sends welcome email to new user
5. Rejects any other outstanding requests for same email

**Request Body**:
```json
{
    "approved_rejected_reason": "Welcome to our organization!"
}
```

**Side Effects**:
- Creates new user account
- Rejects other pending requests for same email
- Sends notification emails
- Creates audit trail

## Request body

- InvitationRequestAction
  - `approved_rejected_reason` string

## Response `200`

{"status": "invitation_accepted"}

## Other responses

- `403` — Permission denied
- `404` — Invitation request not found

---

[API](https://skmtc.dev/crisiscleanup/apis/crisiscleanup-api.md) · [All operations](https://skmtc.dev/crisiscleanup/apis/crisiscleanup-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/crisiscleanup/crisiscleanup-api/revisions/3fa73d4b2895/schema)
