---
title: "Creates a new project role."
method: POST
path: "/projectroles"
tags: ["projectRoles"]
---

# Creates a new project role.

`POST /projectroles`

<Note title="Subscription Level" icon="layer-group">This endpoint requires the `Standard` plan or higher.</Note>

<Check title="Required Permissions" icon="key">The user must be an admin or have `workspace-manage-config:write` permissions.</Check>

## Headers

- `Authorization` string, required

## Request body

- ProjectRoleForm
  - `name` string, required — The name of the project role. Required.
  - `isDefault` boolean, nullable — Whether to use this role as default when adding new project members.
  - `defaultProjectRoleId` string, uuid, nullable — The id of the new default project role. Required if the updated project role is the current default role.
  - `allowOnlyProjectMasterDataRead` boolean — Whether this role is allowed to have only read permissions for project-master-data.

## Response `200`

OK

- ProjectRole
  - `name` string, required — The name of the project role. Required.
  - `isDefault` boolean, nullable — Whether to use this role as default when adding new project members.
  - `defaultProjectRoleId` string, uuid, nullable — The id of the new default project role. Required if the updated project role is the current default role.
  - `allowOnlyProjectMasterDataRead` boolean — Whether this role is allowed to have only read permissions for project-master-data.
  - `id` string, uuid — The id of the project role.
  - `memberCount` integer — The count of members which are linked to this role.
  - `members` ProjectMember[], nullable — The members which are linked to this role.
    - `id` string, uuid — The id of the project member entity.
    - `userId` string, uuid — The id of the user who is this project member.
    - `firstName` string, nullable — The first name of the user.
    - `lastName` string, nullable — The last name of the user.
    - `hasImage` boolean, nullable — Whether the user has an image.
    - `projectRoleId` string, uuid — The project role of the project member.
    - `projectRoleName` string, nullable — The project role name of the project member.
    - `isResponsible` boolean — Whether the user is responsible for this project.
    - `isDeactivated` boolean — Whether the user is deactivated.
    - `isExternal` boolean — True if this entity is coming from an external workspace (awork Connect).
  - `createdOn` string, date-time — The date this entity was created.
  - `createdBy` string, uuid — The id of the user who created this entity.
  - `updatedOn` string, date-time — The date this entity was last modified.
  - `updatedBy` string, uuid — The id of the user who last modified this entity.

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/awork-io/apis/api-v1-reference.md) · [All operations](https://skmtc.net/awork-io/apis/api-v1-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/awork-io/api-v1-reference/versions/f784a53f60df/schema)
