Control plane API
Organization, members, projects
Renaming the organisation, listing who is in it, and discovering the projects keys are minted against.
PATCH /organization
{"name": "New name"}Renames the caller's own organisation. Requires role owner or admin; a member gets 403 {"error": "owner or admin role required"}. The name must be non-blank, at most 255 characters, and contain no literal < or > (400 otherwise). A name another organisation already uses answers 409. On success an org.renamed event is written to the activity log.
GET /members
{
"members": [
{"user_id": "<uuid>", "email": "you@company.com", "role": "owner", "joined_at": "2026-08-04T10:38:49.451247+00:00"}
]
}Everyone in the caller's organisation. joined_at is the account's creation time (an account is created into its organisation in one step). Read-only: there is no endpoint to invite, remove or re-role a member today; a teammate joins by registering with the organisation's name, or by signing in with Google and naming it.
GET /projects
{
"projects": [
{"id": "<uuid>", "name": "Default Project", "created_at": "2026-07-19T20:23:55.062436+00:00"}
]
}The projects in the caller's organisation. Every organisation has at least the one created at sign-up, so this is never empty for a normally provisioned account. POST /keys requires a project_id from this list; analytics can be filtered by it. There is no create-project endpoint yet.
Something unclear or wrong on this page? Tell us. Machine-readable copies: llms.txt.