Skip to content
POST /connection/{id}/share

Grants one member, team, or the whole org `view` or `use` access to this connection. Sharing never changes `owner_user_id` — that only moves through `POST /connection/{id}/transfer` (docs/access-model.md §2). `use` is what lets the grantee bind this connection into their own toolbox entries and run tools through it. `edit` is not a valid level here: renaming, deleting or transferring a connection stays with the owner alone, never with a share (and never with `connection:manage` any more either, removed 2026-09-04). A private connection (no existing grants) may only be shared by its own owner — no organization permission reaches another member's private connection, sharing included; the owner opting people in is the one deliberate way in. Requires `edit` access or ownership, and `connection:share`; for a connection granted to a team, that team's admin also qualifies.

Path Parameters

idstring
required·

Connection id (conn_…).

Request Body

grantee_idstring,null

User id (usr_…) or team id (team_…). Omitted or null for an org-wide grant.

grantee_typestring
Possible values:
userteamorg
levelstring
Possible values:
viewuse
curl -X POST 'https://api.elaichi.ai/connection/<id>/share' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"grantee_type":"user","level":"view"}'
const body = {
  "grantee_type": "user",
  "level": "view"
};

const response = await fetch('https://api.elaichi.ai/connection/<id>/share', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
import os
import requests

url = "https://api.elaichi.ai/connection/<id>/share"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}
payload = {
    "grantee_type": "user",
    "level": "view"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())