---
title: "Add project group"
method: POST
path: "/organization/projects/{project_id}/groups"
tags: ["Project groups"]
---

# Add project group

`POST /organization/projects/{project_id}/groups`

Grants a group access to a project.

## Path parameters

- `project_id` string, required

## Request body

- InviteProjectGroupBody — Request payload for granting a group access to a project.
  - `group_id` string, required — Identifier of the group to add to the project.
  - `role` string, required — Identifier of the project role to grant to the group.

## Response `200`

Group granted access to the project successfully.

- ProjectGroup — Details about a group's membership in a project.
  - `object` 'project.group', required — Always `project.group`.
  - `project_id` string, required — Identifier of the project.
  - `group_id` string, required — Identifier of the group that has access to the project.
  - `group_name` string, required — Display name of the group.
  - `group_type` 'group' | 'tenant_group', required — The type of the group.
  - `created_at` integer, required — Unix timestamp (in seconds) when the group was granted project access.

## Other responses

- `400` — The request parameters are invalid or the requested operation cannot be performed.
- `403` — The caller does not have permission to perform this operation.
- `404` — The endpoint is unavailable or a requested group, user, or project was not found.
- `429` — The request was rejected because a rate limit was exceeded.
- `500` — The group operation could not be completed because of a server error.

## Changes

- **2026-09-25** `d86203de41ae` — 4 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
  - added the non-success response with the status `500`
- **2026-09-03** `9430b00d75b4` — 1 info
  - added the optional property `error/misalignment` to the response with the `429` status
- **2026-08-14** `6ac2618eefd7` — 1 info
  - added the non-success response with the status `429`
- **2026-08-05** `ab0c5306e390` — 2 warning
  - added the new `group` enum value to the `group_type` response property for the response status `200`
  - added the new `tenant_group` enum value to the `group_type` response property for the response status `200`
- **2026-05-13** `74cbcf73838f` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openai/apis/openapi/changes/organization/projects/:project_id/groups/post.md)

---

[API](https://skmtc.dev/openai/apis/openapi.md) · [All operations](https://skmtc.dev/openai/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc.dev/openai/apis/openapi/revisions/222f167a2327?raw)
