---
title: "Create Member"
method: POST
path: "/v1/teams/{team_id}/members"
tags: ["teams"]
---

# Create Member

`POST /v1/teams/{team_id}/members`

## Path parameters

- `team_id` string, uuid, required

## Headers

- `authorization` string, nullable
- `x-darwin-token` string, nullable

## Request body

- CreateMemberRequest
  - `idempotency_key` string, required
  - `principal_id` string, uuid, nullable
  - `display_name` string, nullable
  - `membership_kind` 'internal' | 'external' | 'agent' | 'service', required
  - `role` string, required
  - `capabilities` string[]
  - `status` 'invited' | 'active' | 'suspended' | 'removed'
  - `contacts` ContactInput[]
    - `kind` 'email' | 'phone', required
    - `value` string, required
    - `normalized_value` string, nullable
    - `label` string, nullable
    - `is_primary` boolean
    - `verification_status` 'unverified' | 'pending' | 'verified' | 'failed' | 'revoked'
    - `verification_evidence` VerificationEvidence — Non-secret verification coordinates; provider credentials never belong here.
      - `provider` string, nullable
      - `provider_reference` string, nullable
      - `artifact_id` string, uuid, nullable
      - `observed_at` string, date-time, nullable

## Response `201`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

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