---
title: "Invite Member"
method: POST
path: "/v1/orgs/{org_id}/members"
tags: ["tenancy"]
---

# Invite Member

`POST /v1/orgs/{org_id}/members`

## Request

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

## Path parameters

- `org_id` string, required

## Request body

- InviteMemberRequest: Invite by OIDC subject; optional email is hashed before persistence.
  - `external_subject` string, required
  - `role` 'owner' | 'administrator' | 'security_engineer' | 'analyst' | 'viewer' | 'billing_administrator' | 'service_account'
  - `email` string, nullable

## Response `201`

Successful Response

- MembershipRecord
  - `org_id` string, required
  - `tenant_id` string, required
  - `user_id` string, required
  - `role` 'owner' | 'administrator' | 'security_engineer' | 'analyst' | 'viewer' | 'billing_administrator' | 'service_account', required
  - `status` 'invited' | 'active' | 'revoked', required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `revoked_at` string, date-time, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cybret/apis/api-scanner-control-plane.md) · [All operations](https://skmtc.dev/cybret/apis/api-scanner-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/cybret/apis/api-scanner-control-plane/revisions/4c9b522246af?raw)
