Project User
Project user is the link object between Projects and Users. With them, you define who belongs to what project, and what they can do in the project.
Attributes
project
The id of the project the membership is for.
When requesting, can be expanded to the full project object by including the query parameter expand=project
.
- Type:
string
- Required:
true
user
The id of the user the membership is for.
When requesting, can be expanded to the full user object by including the query parameter expand=user
.
- Type:
string
- Required:
true
role
The role the user has directly in the project. Must be one of admin
, manager
, master
, developer
, or guest
.
- Type:
string
- Required:
true
highest_role
The highest role the user has in the project either directly or through groups. This field is automatically updated.
- Type:
string
Operations
GET /projects/:project_id/project_users
List all project users for a project, with optional limit and offset parameters, as a metadata-results object.
GET /projects/:project_id/project_users/:user_id
Return a specific project user.
Example request
curl -X GET \ -H "Accept: application/vnd.hth.v1" \ -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \ https://helixteamhub.cloud/api/projects/luotsi/project_users/vluoto
Example response
{ "api_status": 200, "api_timestamp": "2012-10-25T08:42:01Z", "project": { "id": "luotsi" }, "user": { "id": "vluoto" }, "role": "developer", "highest_role": "admin" }
Example request with user and project fields expanded
curl -X GET \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
https://helixteamhub.cloud/api/projects/luotsi/project_users/vluoto?expand=user,project
Example response with user and project fields expanded
{
"api_status": 200,
"api_timestamp": "2012-10-25T09:29:37Z",
"project": {
"api_status": 200,
"api_timestamp": "2012-10-25T09:29:37Z",
"id": "luotsi",
"created_at": "2012-10-25T09:29:37Z",
"updated_at": "2012-10-25T09:29:37Z",
"name": "Helix TeamHub",
"description": "Helix TeamHub is Eficode's new product. It's called Helix TeamHub.",
"color": "green",
"avatar": {
"large": "/projects/luotsi/avatars/luotsi_l.png",
"medium": "/projects/luotsi/avatars/luotsi_m.png",
"small": "/projects/luotsi/avatars/luotsi_s.png"
},
"visibility": "company"
},
"user": {
"api_status": 200,
"api_timestamp": "2012-10-25T09:29:37Z",
"id": "vluoto",
"created_at": "2012-10-25T09:29:37Z",
"updated_at": "2012-10-25T09:29:37Z",
"email": "veli-matti.luoto@eficode.com",
"first_name": "Veli-Matti",
"last_name": "Luoto",
"display_name": "Veli-Matti Luoto",
"company_admin": true,
"instance_admin": true,
"description": "*^-D",
"phone": "+358 50 599 0681",
"title": "Software Engineer",
"avatar": {
"large": "",
"medium": "",
"small": "",
},
"synchronized_fields": [],
"locale": "en",
"source": "",
},
"role": "developer",
"highest_role": "admin"
}
POST /projects/:project_id/project_users
Add a project user for a project.
Example request
curl -X POST \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
-H "Content-Type: application/json" \
-d '{ "id": "asyrjasalo", "role": "guest" }' \
https://helixteamhub.cloud/api/projects/luotsi/project_users
Example response
{
"api_status": 201,
"api_timestamp": "2012-10-25T09:29:37Z",
"project": {
"id": "luotsi"
},
"user": {
"id": "asyrjasalo"
},
"role": "guest",
"highest_role": "guest"
}
PUT /projects/:project_id/project_users/:user_id
Update role for a project user. Returns the updated project user.
Example request
curl -X PUT \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
-H "Content-Type: application/json" \
-d '{ "role": "admin" }' \
https://helixteamhub.cloud/api/projects/luotsi/project_users/asyrjasalo
Example response
{
"api_status": 200,
"api_timestamp": "2013-11-28T10:12:20Z",
"project": {
"id": "luotsi"
},
"user": {
"id": "asyrjasalo"
},
"role": "admin",
"highest_role": "admin"
}
DELETE /projects/:project_id/project_users/:user_id
Remove a user from a project. Returns the removed project user.
Example request
curl -X DELETE \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
https://helixteamhub.cloud/api/projects/luotsi/project_users/asyrjasalo
Example response
{
"api_status": 200,
"api_timestamp": "2013-11-28T10:12:28Z",
"project": {
"id": "luotsi"
},
"user": {
"id": "asyrjasalo"
},
"role": "admin",
"highest_role": "admin"
}