---
title: "Invite members"
method: POST
path: "/api/projects/{projectId}/members"
tags: ["Member"]
---

# Invite members

`POST /api/projects/{projectId}/members`

Invite one or more users to become members of a project, optionally assigning them to groups and setting owner status.

## Path parameters

- `projectId` string, uuid, required

## Request body

- object
  - `userIds` string[], required — List of user IDs to invite to the project
  - `groupIds` string[] — List of group IDs to assign to the new members
  - `owner` boolean — Whether the invited members should be project owners

## Response `200`

List of newly created membership records

- object[] — List of newly created membership records
  - `id` string, uuid, required — Unique identifier of the member
  - `owner` boolean — Whether the member is an owner of the project
  - `userId` string, uuid — User ID of the member
  - `projectId` string, uuid — Project ID the member belongs to
  - `user` object — User details of the member
    - `id` string, uuid, required — Unique identifier of the user
    - `email` string, email, required — Email address of the user
    - `firstName` string, nullable, required — First name of the user
    - `lastName` string, nullable, required — Last name of the user
    - `type` string, required — Type of user (e.g., OWNER, ADMIN, MEMBER)
    - `status` string, required — Status of the user (e.g., ACTIVE, INACTIVE)
    - `organisationId` string, uuid, required — Organisation the user belongs to
    - `isService` boolean — Whether this is a service account
    - `createdAt` string, required — Timestamp when the user was created
    - `updatedAt` string, required — Timestamp when the user was last updated
  - `groups` object[] — Groups the member belongs to
    - `id` string, uuid, required — Unique identifier of the group
    - `name` string, required — Name of the group
    - `description` string, nullable — Description of the group
    - `projectId` string, uuid, required — Project the group belongs to
    - `permissions` string[], nullable, required — List of permissions assigned to the group
    - `roleId` string, uuid, nullable — Role ID associated with the group
  - `createdAt` string, required — Timestamp when the member was created
  - `updatedAt` string, required — Timestamp when the member was last updated

---

[API](https://skmtc.dev/gorules/apis/gorules-agent-api.md) · [All operations](https://skmtc.dev/gorules/apis/gorules-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gorules/gorules-agent-api/revisions/52c0773fcd80/schema)
