Add somebody from the company to one of its projects
const url = 'https://beta-api.plune.ai/v1/companies/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/projects/example/members';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"userId":"6f1c2b3a-0000-4000-8000-0000000000a2"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://beta-api.plune.ai/v1/companies/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/projects/example/members \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "userId": "6f1c2b3a-0000-4000-8000-0000000000a2" }'An owner or an admin adds another member of the company to one of its projects, with the role THEIR company role maps to. Only the company’s people: somebody outside it answers 404, the same as an id nobody has — an address from outside is asked in through POST /v1/companies/{id}/members or POST /v1/members.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Request Body required
Section titled “Request Body required ”object
A member of the company, as GET /v1/companies/{id} lists them
Example
{ "userId": "6f1c2b3a-0000-4000-8000-0000000000a2"}Responses
Section titled “ Responses ”Added — with this role
object
What a member may do (B8-team). owner runs the project — members, roles, its name; member does everything else; reader is refused every write at the boundary, before a handler runs.
Example
{ "projectId": "9c4e7d10-0000-4000-8000-0000000000a4", "userId": "6f1c2b3a-0000-4000-8000-0000000000a2", "role": "owner"}Invalid body — a user id
object
Example generated
{ "error": "example"}No / invalid token or session
A member or a reader asked
object
Example
{ "error": "company owner or admin only"}No such company among yours, no such project in it, or nobody of that id in the company
object
Example
{ "error": "member '6f1c2b3a-0000-4000-8000-0000000000a2' not found"}Already in it, or the project is at its member limit
object
Example generated
{ "error": "example"}Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers ”Seconds until the window rolls over