---
title: "Create Local Member"
method: POST
path: "/api/v1/orgs/{org_id}/local-members"
tags: ["local-auth"]
---

# Create Local Member

`POST /api/v1/orgs/{org_id}/local-members`

Add a member with local credentials. Replaces the invitation email
flow: the admin hands over the returned temporary password.

## Path parameters

- `org_id` string, required

## Headers

- `Authorization` string, nullable
- `X-Request-ID` string, nullable

## Request body

- CreateMemberRequest
  - `email` string, required
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `role` 'admin' | 'member'
  - `password` string, nullable

## Response `201`

Successful Response

- MemberCreatedResponse
  - `user_id` string, uuid, required
  - `external_user_id` string, required
  - `email` string, required
  - `role` 'admin' | 'member', required
  - `temporary_password` string, nullable, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-19** `d199def19a79` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/xenovia/apis/controlplane/changes/api/v1/orgs/:org_id/local-members/post.md)

---

[API](https://skmtc.dev/xenovia/apis/controlplane.md) · [All operations](https://skmtc.dev/xenovia/apis/controlplane/llms.txt) · [OpenAPI document](https://skmtc.dev/xenovia/apis/controlplane/revisions/b20a3bdd6219?raw)
