1. Docs
  2. API Reference
  3. Add a member to an organization

Add a member to an organization

POST/api/v1/organizations/{id}/members

Adds a member: assigns role_id to identity_id at the organization. The identity must already hold an active membership in this Environment (invite by email instead for someone who does not). A member holds exactly one role per organization, so an identity that is already a member returns 409 — use the change-role operation. Requires the rbac.manage_assignments permission at the organization and emits organization.member.added.

Authentication

Bearer TokenAuthorization Option A

JWT access token

API KeyX-API-Key Option B

API key for management-tier access

Path Parameters

idstring Required

Request body

application/json

identity_idstring Required

Identity to add. Must already hold an active membership in this Environment; invite by email instead for someone who does not.

role_idstring Required

The single role the member holds in this organization, from the Environment's roles.

Responses

application/json

  • dataOrganizationMemberResponseDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

Returned object

Request
curl -X POST "https://auth.canopy-io.com/api/v1/organizations/value/members" \
  -H "X-API-Key: $CANOPY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "identity_id": "string",
    "role_id": "string"
  }'
Response
{
  "data": {
    "id": "string",
    "identity": {
      "id": "string",
      "email": "string",
      "first_name": "string",
      "last_name": "string"
    },
    "role": {
      "id": "string",
      "name": "string"
    },
    "effective_from": "2026-04-20T12:00:00.000Z",
    "effective_to": "2026-04-20T12:00:00.000Z",
    "created_at": "2026-04-20T12:00:00.000Z"
  }
}
Related endpoints
GETList organizations
POSTCreate an organization
GETGet an organization
PATCHUpdate an organization
DELETEDelete an organization
GETList an organization's members
PATCHChange a member's role
DELETERemove a member from an organization
GETList an organization's invitations
POSTInvite a member into an organization
DELETERevoke an organization invitation
Was this page helpful?

Tell us how we can improve this guide.