---
title: "Create Invite"
method: POST
path: "/api/v1/orgs/{org_id}/invites"
tags: ["organizations"]
---

# Create Invite

`POST /api/v1/orgs/{org_id}/invites`

## Request

- Base URL: `https://app.ctlsurf.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.ctlsurf.com/api/v1/orgs/{org_id}/invites`
- Auth: HTTP bearer

Invite someone by email to a seat (owner/admin only).

## Path parameters

- `org_id` string, uuid, required

## Request body

- InviteCreate
  - `email` string, required
  - `role` string

## Response `201`

Successful Response

- InviteCreatedResponse: Returned on invite creation or resend. The token is still returned even when the email went out, so an admin can hand-deliver the link when mail is slow, filtered, or disabled. `email_sent` tells the UI whether to lead with "invite sent" or with the copy-link box.
  - `id` string, uuid, required
  - `email` string, required
  - `role` string, required
  - `status` string, required
  - `expires_at` string, date-time, required
  - `created_at` string, date-time, required
  - `token` string, required
  - `accept_url` string, required
  - `email_sent` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ctlsurf/apis/notebook-control-plane.md) · [All operations](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/ctlsurf/apis/notebook-control-plane/revisions/ddfbbe20d5ce?raw)
