Members

Who's in a project and their role, and inviting people.

MethodPathSummary
GET/v1/app/project/projects/:id/membersList a project's members
GET/v1/app/project/projects/:id/available-usersList tenant users not yet on this project
PATCH/v1/app/project/projects/:id/members/:userIdChange a project member's role
DELETE/v1/app/project/projects/:id/members/:userIdRemove a project member, or leave the project yourself
GET/v1/app/project/projects/:id/invitesList a project's pending invites
POST/v1/app/project/projects/:id/invitesInvite an existing tenant user to a project
DELETE/v1/app/project/projects/:id/invites/:inviteIdRevoke a pending project invite
GET/v1/app/project/invitesList pending invites addressed to the caller
POST/v1/app/project/invites/:id/acceptAccept a pending project invite
POST/v1/app/project/invites/:id/declineDecline a pending project invite

#List a project's members

GET/v1/app/project/projects/:id/members

List a project's members. Requires at least viewer role on the project.

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/members
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
membersarray of any
Example response
JSON
{
  "members": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/members' \
  -H "X-API-Key: $BRAMBLE_KEY"

#List tenant users not yet on this project

GET/v1/app/project/projects/:id/available-users

List tenant users not yet on this project. Requires at least admin role on the project.

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/available-users
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
usersarray of any
Example response
JSON
{
  "users": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/available-users' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Change a project member's role

PATCH/v1/app/project/projects/:id/members/:userId

Change a project member's role. Requires at least admin role on the project. Refuses to demote the last remaining owner.

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/members/:userId
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger
userIdrequiredinteger

Request body JSON

NameTypeDescription
rolestring

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Errors

StatusMessage
400Invalid role
400Project must keep at least one owner
404Member not found

Example request

Bash
curl -X PATCH 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/members/1' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"role":"string"}'

#Remove a project member, or leave the project yourself

DELETE/v1/app/project/projects/:id/members/:userId

Remove a project member, or leave the project yourself. Requires viewer role when removing yourself, admin role otherwise. Refuses to remove the last remaining owner.

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/members/:userId
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger
userIdrequiredinteger

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Errors

StatusMessage
400Project must keep at least one owner
404Member not found

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/members/1' \
  -H "X-API-Key: $BRAMBLE_KEY"

#List a project's pending invites

GET/v1/app/project/projects/:id/invites

List a project's pending invites. Requires at least admin role on the project.

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/invites
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
invitesarray of any
Example response
JSON
{
  "invites": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/invites' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Invite an existing tenant user to a project

POST/v1/app/project/projects/:id/invites

Invite an existing tenant user to a project. Requires at least admin role on the project. The invited user must already exist in the caller's tenant (staff or guest, active).

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/invites
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
user_idrequiredinteger
roleany

Response 201

FieldTypeDescription
idinteger
tokenstring
Example response
JSON
{
  "id": 42,
  "token": "…"
}

Errors

StatusMessage
400user_id is required
400Invalid role
404User not found in your organisation
409User is already a project member

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/invites' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id":7,"role":"…"}'

#Revoke a pending project invite

DELETE/v1/app/project/projects/:id/invites/:inviteId

Revoke a pending project invite. Requires at least admin role on the project.

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/projects/:id/invites/:inviteId
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger
inviteIdrequiredinteger

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Example request

Bash
curl -X DELETE 'https://<your-org>.brambleit.cloud/api/v1/app/project/projects/42/invites/1' \
  -H "X-API-Key: $BRAMBLE_KEY"

#List pending invites addressed to the caller

GET/v1/app/project/invites
Address
https://<your-org>.brambleit.cloud/api/v1/app/project/invites
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Response 200

FieldTypeDescription
invitesarray of any
Example response
JSON
{
  "invites": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/invites' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Accept a pending project invite

POST/v1/app/project/invites/:id/accept

Accept a pending project invite. Invite ID

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/invites/:id/accept
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
okboolean
project_idinteger
Example response
JSON
{
  "ok": true,
  "project_id": 7
}

Errors

StatusMessage
404Invite not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/project/invites/42/accept' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Decline a pending project invite

POST/v1/app/project/invites/:id/decline

Decline a pending project invite. Invite ID

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/invites/:id/decline
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.

Path parameters

NameTypeDescription
idrequiredinteger

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Errors

StatusMessage
404Invite not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/project/invites/42/decline' \
  -H "X-API-Key: $BRAMBLE_KEY"