Ask an address into a company
const url = 'https://beta-api.plune.ai/v1/companies/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/members';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},};
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/members \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \An owner or an admin; only an owner asks somebody in as an owner. Two outcomes, told apart by kind: an address that already has a Plune account is a member at once; any other gets an invitation — a mail names the company, the beta door lets the address through, and the sign-in turns the invitation into a membership. Being in the company opens none of its projects. Twice for the same address is 409.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Request Body required
Section titled “Request Body required ”object
What a member of a company may do (ADR 0038). owner and admin manage its people and add them to its projects — only an owner makes, unmakes or removes an owner, and only an owner deletes it; member and reader join its projects themselves. A company role opens no project: joining one gives the project role it maps to — owner and admin → owner, member → member, reader → reader.
Examples
An address without an account — an invitation
{ "role": "member"}An address that already signed in — a member at once
{ "role": "member"}Responses
Section titled “ Responses ”Asked — kind says which of the two it became
What asking an address into a company produced: a member at once when an account holds it (kind: member), else an invitation for the address to sign in with (kind: invitation).
object
The display name (T3) — absent until the person has given one.
What a member of a company may do (ADR 0038). owner and admin manage its people and add them to its projects — only an owner makes, unmakes or removes an owner, and only an owner deletes it; member and reader join its projects themselves. A company role opens no project: joining one gives the project role it maps to — owner and admin → owner, member → member, reader → reader.
Who brought them in (a userId) — absent for the person who made the company.
What asking an address into a company produced: a member at once when an account holds it (kind: member), else an invitation for the address to sign in with (kind: invitation).
object
What a member of a company may do (ADR 0038). owner and admin manage its people and add them to its projects — only an owner makes, unmakes or removes an owner, and only an owner deletes it; member and reader join its projects themselves. A company role opens no project: joining one gives the project role it maps to — owner and admin → owner, member → member, reader → reader.
Example
{ "kind": "invitation", "id": "6f1c2b3a-0000-4000-8000-0000000000a6", "role": "member", "createdAt": "2026-09-16T09:12:04.151Z"}Invalid body — an email address and one of the four roles
object
Example generated
{ "error": "example"}No / invalid token or session
A member or a reader asked — or an admin asked for an owner
object
Example
{ "error": "company owner or admin only"}No such company among yours
object
Example generated
{ "error": "example"}Already in, or already invited
object
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