# Create Project Offering Role Creates a Project Offering Role. Endpoint: POST /v1/projects/{project_id}/offerings/{project_offering_id}/roles Version: v1 Security: ApiKey ## Path parameters: - `project_id` (string, required) - `project_offering_id` (string, required) ## Request fields (application/json-patch+json): - `role_id` (string, required) Id of the Role that will be performing work on this ProjectOffering. - `assignment` (object,null) Optional assignment of a Person or Requisition to this role. - `assignment.id` (string, required) The unique identifier of the resource assigned to the project offering role. - `assignment.type` (object, required) The type of the resource assigned to the project offering role. This describes which entity type is being referred to by id. - `tags` (array,null) Optional list of tags to associate with this Project Offering Role. Tags help categorize and filter roles. ## Response 201 fields (application/json): - `id` (string) The unique identifier for the project offering role. - `assignment` (object,null) The unique identifier for the (optional) person attached to the role. - `assignment.id` (string, required) The unique identifier of the resource assigned to the project offering role. - `assignment.type` (object, required) The type of the resource assigned to the project offering role. This describes which entity type is being referred to by id. - `role_id` (string) The unique identifier for role that describes the project offering role. - `tags` (array) A list of tags assigned to the Project Offering Role for filtering, categorization, or reporting. ## Response 400 fields (application/json): - `type` (string) RFC reference for the error type - `title` (string) Human-readable summary of the error - `status` (integer) HTTP status code - `errors` (array) Detailed error messages for each validation failure - `trace_id` (string) Trace identifier for debugging