---
title: "Add an existing account"
method: POST
path: "/members"
tags: ["Member"]
---

# Add an existing account

`POST /members`

## Request

- Base URL: `https://api.palisade.email`
- URL: `https://api.palisade.email/members`
- Auth: one of:
  - HTTP bearer
  - HTTP basic

Adds an existing Palisade account to your organization. Use this when the person already has an account: POST /invitations sends them to a signup screen they cannot complete, and returns invitation_invitee_exists for such an address. Returns 201 when the account is added and 200 when it was already a member, in which case the requested roles and groups are still applied.

## Headers

- `Palisade-Version` '2025-04-30' | 'unstable', required

## Request body

- object
  - `email` string, email, required: Email address of an existing Palisade account. Use POST /invitations for someone who has no account yet.
  - `roles` MemberRole[], required
  - `groups` string[]

## Response `200`

Already a member; roles and groups applied

- Member
  - `user_id` string, uuid, required
  - `email` string, nullable, required
  - `name` string, nullable, required
  - `picture` string, uri, nullable, required
  - `login_method` 'email_password' | 'google' | 'microsoft', required
  - `restricted_to_groups` boolean, required
  - `groups` string[], required
  - `roles` MemberRole[], required

## Other responses

- `201`: Added
- `400`: No Palisade account exists for this email address. Send an invitation instead.

---

[API](https://skmtc.dev/palisade/apis/palisade-api.md) · [All operations](https://skmtc.dev/palisade/apis/palisade-api/llms.txt) · [OpenAPI document](https://skmtc.dev/palisade/apis/palisade-api/revisions/37b4ae5a7766?raw)
