Cowdidocs
API ReferenceOrganization members

Invite a member

POST
/v1/organizations/{organizationId}/members/invitations

Invite an email to join the organization with roles. Requires the caller's org:members:write permission on the organization. Only a signed-in user can invite. An agent or a machine token gets 403. Each role must be an organization role that the organization can assign, or the request returns 400. The caller must hold every permission of each role, or the request returns 403. When a pending invitation for the email already exists, the request sets its roles to the requested roles, returns 200, and sends no email. Otherwise the request creates the invitation, returns 201, and sends the invitee an email built from accept_url. The invitee accepts or rejects it through the Accept an invitation/Reject an invitation operations.

AuthorizationBearer <token>

Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.

In: header

Path Parameters

organizationId*string

Unique identifier (slug) of the organization.

Request Body

application/json

Request to invite an email to join the organization with roles.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/organizations/greenwheels/members/invitations" \  -H "Content-Type: application/json" \  -d '{    "email": "jane@example.com",    "roles": [      "member"    ],    "accept_url": "https://app.greenwheels.example/invitations/accept"  }'
{  "id": "550e8400-e29b-41d4-a716-446655440004",  "organization_id": "greenwheels",  "email": "jane@example.com",  "roles": [    "organization-financing-admin"  ],  "status": "PENDING",  "created_at": "2026-03-15T10:00:00Z",  "resource_id": "string"}
{  "id": "550e8400-e29b-41d4-a716-446655440004",  "organization_id": "greenwheels",  "email": "jane@example.com",  "roles": [    "organization-financing-admin"  ],  "status": "PENDING",  "created_at": "2026-03-15T10:00:00Z",  "resource_id": "string"}
{  "code": "BAD_REQUEST",  "description": "Bad Request"}
{  "code": "UNAUTHORISED",  "description": "Unauthorised"}
{  "code": "FORBIDDEN",  "description": "Forbidden"}
{  "code": "RATE_LIMIT_EXCEEDED",  "description": "Too Many Requests"}
{  "code": "INTERNAL_ERROR",  "description": "Internal Server Error"}