Add an active Workspace member to the ProjectAdd an active Workspace member to the ProjectPOST/api/v1/projects/{project_id}/membersPath Parametersproject_idRequiredstring <uuid>Example0198ac5e-f9b7-7000-8000-000000000001Header ParametersX-CSRF-TokenRequiredstring·min 43·max 43Session-bound CSRF token. It must exactly match the __Host-assign_csrf cookie sent with the request.Idempotency-KeyRequiredstring·min 16·max 200Opaque client-generated key for safely retrying this operation.Request Bodyapplication/jsonactor_idRequiredstring <uuid>Opaque Assign-owned UUIDv7 identifier. Clients must not derive meaning from it.Example0198ac5e-f9b7-7000-8000-000000000001roleRequiredstringValuesmanagercontributorviewerResponses201The Project member.Show HeadersHide HeadersETagstringQuoted decimal optimistic-concurrency version.actor_idRequiredstring <uuid>Opaque Assign-owned UUIDv7 identifier. Clients must not derive meaning from it.Example0198ac5e-f9b7-7000-8000-000000000001display_nameRequiredstring·min 1·max 100roleRequiredstringValuesmanagercontributorvieweris_ownerRequiredbooleanTrue only for the Project's current owner/lead.revisionRequiredinteger·min 1created_atRequiredstring <date-time>RFC 3339 timestamp in UTC.Example2026-08-15T12:00:00Zupdated_atRequiredstring <date-time>RFC 3339 timestamp in UTC.Example2026-08-15T12:00:00Z400The request is malformed or fails validation.Show HeadersHide HeadersCache-Controlstring·const no-storePrevents storage of error responses by clients and intermediaries.X-Request-IDstring·min 1·max 200Correlation identifier for the request.X-Content-Type-Optionsstring·const nosniffPrevents user agents from MIME-sniffing the response.errorRequiredobjectShow Child AttributesHide Child Attributes401Authentication is missing, invalid, expired, or revoked.Show HeadersHide HeadersCache-Controlstring·const no-storePrevents storage of error responses by clients and intermediaries.X-Request-IDstring·min 1·max 200Correlation identifier for the request.X-Content-Type-Optionsstring·const nosniffPrevents user agents from MIME-sniffing the response.errorRequiredobjectShow Child AttributesHide Child Attributes404The resource does not exist or is not visible to this principal.Show HeadersHide HeadersCache-Controlstring·const no-storePrevents storage of error responses by clients and intermediaries.X-Request-IDstring·min 1·max 200Correlation identifier for the request.X-Content-Type-Optionsstring·const nosniffPrevents user agents from MIME-sniffing the response.errorRequiredobjectShow Child AttributesHide Child Attributes409The mutation conflicts with current resource state or idempotency history.Show HeadersHide HeadersCache-Controlstring·const no-storePrevents storage of error responses by clients and intermediaries.X-Request-IDstring·min 1·max 200Correlation identifier for the request.X-Content-Type-Optionsstring·const nosniffPrevents user agents from MIME-sniffing the response.errorRequiredobjectShow Child AttributesHide Child Attributes422The request is syntactically valid but violates a domain invariant.errorRequiredobjectShow Child AttributesHide Child Attributes500The server could not complete the request.Show HeadersHide HeadersCache-Controlstring·const no-storePrevents storage of error responses by clients and intermediaries.X-Request-IDstring·min 1·max 200Correlation identifier for the request.X-Content-Type-Optionsstring·const nosniffPrevents user agents from MIME-sniffing the response.errorRequiredobjectShow Child AttributesHide Child AttributescURLCopyTry201400401404409422500Authentication · Conventions and errors · API guides · Resource referenceCopy page for AIList the Project's explicit membersPreviousShift←Change a Project member's roleNextShift→