Changelog
New

Manage members with /orgs/current/members

Invite, promote and remove organization members through /orgs/current/members, and cancel pending invitations through /orgs/current/invitations.

API SDK

Membership used to live under /team/*, which named a resource the API does not have. There is no team. There is an organization, and it has members and invitations. The four operations now sit where they belong.

import { createClient } from "@rendobar/sdk";
const client = createClient({ apiKey: process.env.RENDOBAR_API_KEY });
await client.orgs.members.invite({ email: "[email protected]", role: "member" });
await client.orgs.members.changeRole({ memberId, role: "admin" });
await client.orgs.members.remove({ memberId });
await client.orgs.invitations.revoke({ invitationId });

The same operations over HTTP:

Terminal window
curl -X POST https://api.rendobar.com/orgs/current/members \
-H "Authorization: Bearer $RENDOBAR_API_KEY" \
-d '{"email":"[email protected]","role":"member"}'

The target now travels in the path rather than the body, so changing a role is a PATCH to /orgs/current/members/{memberId} and removing someone is a DELETE to the same URL. Any member can DELETE their own membership to leave.

  • client.team.* and the /team/* routes keep working and are marked deprecated. They call the same code, so the two surfaces cannot drift.
  • client.team.changeRole() sent POST to a PATCH route and failed for every caller since it shipped. It now sends PATCH.
  • Permission failures return 403 with the reason. Several previously came back as a generic 500, and the two limit errors reported the wrong cause.
Share