---
title: "POST /v1/orgs/:slug/invites — invite a user by email (Admin+)."
method: POST
path: "/v1/orgs/{slug}/invites"
tags: ["invites"]
---

# POST /v1/orgs/:slug/invites — invite a user by email (Admin+).

`POST /v1/orgs/{slug}/invites`

## Path parameters

- `slug` string, required

## Request body

- CreateInviteRequest — Request body for `POST /v1/orgs/:slug/invites`.
  - `email` string, required
  - `role` 'owner' | 'admin' | 'member' | 'viewer', required — Organization membership role.

## Response `200`

Invite created or refreshed

- OrgInvite — An email-based invitation to join an organization.
  - `accepted_at` string, date-time, nullable
  - `created_at` string, date-time, required
  - `declined_at` string, date-time, nullable
  - `email` string, required
  - `expires_at` string, date-time, required
  - `id` string, uuid, required
  - `invited_by` string, uuid, required
  - `org_id` string, uuid, required
  - `role` 'owner' | 'admin' | 'member' | 'viewer', required — Organization membership role.

## Other responses

- `400` — Invalid email
- `401` — Unauthorized
- `403` — Insufficient permissions
- `409` — User already a member

---

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