Cowdidocs
API ReferenceOrganization members

Add an organization member

POST
/v1/organizations/{organizationId}/members

Attach an existing user to the organization as a member. Requires the caller's org:members:write permission on the organization. Optionally sets organization_user_id, the organization's own identifier for the user. Returns 409 when the user is already a member, and 404 when the user does not exist.

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 attach an existing user to the organization as a member.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/organizations/greenwheels/members" \  -H "Content-Type: application/json" \  -d '{    "user_id": "550e8400-e29b-41d4-a716-446655440000"  }'
{  "user_id": "550e8400-e29b-41d4-a716-446655440000",  "organization_id": "greenwheels"}
{  "code": "BAD_REQUEST",  "description": "Bad Request"}
{  "code": "UNAUTHORISED",  "description": "Unauthorised"}
{  "code": "FORBIDDEN",  "description": "Forbidden"}
{  "user_id": "550e8400-e29b-41d4-a716-446655440000",  "organization_id": "greenwheels"}
{  "user_id": "550e8400-e29b-41d4-a716-446655440000",  "organization_id": "greenwheels"}
{  "code": "RATE_LIMIT_EXCEEDED",  "description": "Too Many Requests"}
{  "code": "INTERNAL_ERROR",  "description": "Internal Server Error"}