Assign an owner to an ownerless connector
/connector/{slug}/owner
Gives a connector that has no owner an owner, and nothing else — every grant is left as it was. Never moves an existing owner: a connector that already has one answers 409 `connector_has_owner` (that is `POST /connector/{slug}/transfer`, owner only), and so does a claim that loses a race with another claim or the creator backfill. Requires `connector:manage`. The target must be an active member of the organization. Naming yourself additionally requires a real `edit` grant of your own (`can_claim`) — a bare `connector:manage` never makes its holder the owner of a connector nobody shared with them (403); naming someone else needs no grant of yours, so a `connector:manage` holder who reaches nothing may assign it. 404 only for a slug that is not an org-owned connector. Recorded in the audit log as `connector.owner_assigned`. The 200 is the connector as the CALLER now sees it.
Path Parameters
Connector slug of an org-owned connector.
Request Body
New owning member (usr_…).
curl -X POST 'https://api.elaichi.ai/connector/<slug>/owner' \
-H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"owner_user_id":"your_owner_user_id"}'const body = {
"owner_user_id": "your_owner_user_id"
};
const response = await fetch('https://api.elaichi.ai/connector/<slug>/owner', {
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/connector/<slug>/owner"
headers = {
"Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
"Content-Type": "application/json",
}
payload = {
"owner_user_id": "your_owner_user_id"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())