Add an organization member
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.
Authorization
oauth2 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
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"}List the caller's organizations GET
List every organization the caller has a membership in. Requires an authenticated user token; a caller always sees only their own memberships. Returns an empty list when the caller has no membership. Roles are not included: they live in WorkOS, not in this projection.
List pending invitations GET
List the organization's pending member invitations, optionally filtered by role. Requires the caller's `org:members:read` permission on the organization. Returns a page ordered by a keyset cursor; pass the response's `next`/`prev` link, or the `after`/`before` value it carries, to page through the rest.