---
title: "Send a user invitation email"
description: "Invite people into Qashio so they can be issued cards."
source: https://developers.qashio.com/v2/reference/post-public-v1-core-user-profiles-invite/
---

# Send a user invitation email

`POST /public/v1/core/user_profiles/invite`

Requires a Bearer access token.

**Purpose.** Invite people into Qashio so they can be issued cards.

**Description.** Sends a Qashio onboarding invitation email to each address supplied. Invitees are
created as end users; this endpoint cannot create administrators. Once an invitee completes
onboarding they have a user profile, which is what
[`POST /public/v1/core/cards`](#post-publicv1corecards) needs in order to issue them a card.

Invitations may be processed immediately or queued. When processed immediately the response carries a
`summary` of which addresses succeeded and which failed; when queued, no summary is returned and the
invitations are sent shortly afterwards. **Check `data.summary` rather than the status code** to
confirm delivery.

Already-invited addresses are reported as failures in the summary rather than failing the request.

**Input (body, `application/json`).**

| Field | Type | Description |
| --- | --- | --- |
| `end_user` | array of strings | Email addresses to invite |

```json
{ "end_user": ["jane@acme.com", "sam@acme.com"] }
```

**Output.** `201` with `message: "Resource created successfully."` and:

| Field | Type | Description |
| --- | --- | --- |
| `message` | string | Human-readable outcome |
| `summary` | object | Present when invitations were processed immediately |
| `summary.success_emails.end_user[]` | array | Addresses invited successfully |
| `summary.failed_emails.end_user[]` | array | Addresses that could not be invited |
| `summary.total_processed` | object | `{ success, failed, total }` |

**Errors.** `400` (no valid addresses, or the request was rejected), `401`.

---

# OAuth

### Request body

```json
{
  "end_user": [
    "user@example.com"
  ]
}
```

### Example request

```bash
curl -X POST 'https://api.qashio.com/public/v1/core/user_profiles/invite' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "end_user": [
      "jane@acme.com",
      "sam@acme.com"
    ]
  }'
```

### Example response (201)

```json
{
  "status_code": 201,
  "success": true,
  "message": "Resource created successfully.",
  "data": {
    "message": "User invited successfully",
    "summary": {
      "failed_emails": {
        "end_user": []
      },
      "success_emails": {
        "end_user": []
      },
      "total_processed": {
        "success": 1,
        "failed": 0,
        "total": 1
      }
    }
  },
  "meta": {
    "request_id": "3adb2d16090c7b3bdbde3b326a814b30",
    "timestamp": "2026-09-09T10:07:52.143Z"
  }
}
```

### Errors

- `400` Bad Request
- `401` Unauthorized - missing or invalid Bearer token
