auth for identity and orgs for teams. hosted().orgs is also available; hosted().auth is not.
Method reference: calls, parameters, and response fields.
Examples reuse the SDK setup. Except for complete programs below, run Python snippets inside the async function shown in the Python guide.
Check your identity
Allow images on edith-1.1
SetEVOLVE_API_KEY to a full-access key. Then allow every API key on your account to send images to edith-1.1:
403 images_not_enabled. A change reaches edith-1.1 within a minute.
Read the setting with auth().features(). You can also change it on the dashboard’s API keys page or with evolve auth images on. For image limits and billing, see Usage and billing.
Manage API keys over HTTP
Create keys in the dashboard. Choose Full access to submit or change work, or Read-only to inspect it. Write requests with a read-only key return403 read_only_key; full access still respects your account’s permissions.
Key listing and revocation are HTTP operations, without corresponding methods in either SDK. These examples use the same EVOLVE_API_KEY as the clients:
- List your keys
- Revoke a key
{ items, nextCursor, hasMore }, newest first. limit defaults to 50, with a maximum of 200; pass nextCursor as the next request’s cursor.Each item has id, label, created_at, and last_used_at. Secret values are never returned; last_used_at is currently null. Only your own account keys are listed, excluding credentials created for individual runs.Choose a team
list() returns an array/list, not a paginated handle. get accepts an organization slug or id. Detail includes membership count, quotas, and usage.
Pass org in client configuration or a supported create call to make that team own the resource.
Team methods
name in create is the slug; display name is optional. Creating an invite requires an organization owner. invite uses the server’s defaults and takes no expiry/use-limit options in these SDKs.
Team membership enables shared access to team-owned work. It does not grant every creator-only action, such as managing a job’s external shares or deleting its record. See teams and sharing.
Manage teams over HTTP
The operations below are not methods on either SDK client. Prefix each path withhttps://dashboard.evolvingmachines.ai and send Authorization: Bearer $EVOLVE_API_KEY. Writes require a full-access key. Send JSON bodies with Content-Type: application/json.
Replace {org} with the team’s slug or id. Get {userId} from orgs().members(org); use the user_id returned by auth().status() when leaving your own membership. Get {inviteId} from an invitation’s invite_id.
Rename or delete a team
Rename or delete a team
An owner can update the slug, display name, or both:Optional
PATCH /api/orgs/{org}slug: 1–48 lowercase letters, digits, or hyphens; no leading/trailing hyphen or reserved name. display_name: 1–120 characters after trimming. Success returns the updated organization; a taken slug returns 409 org_slug_taken.DELETE /api/orgs/{org} deletes the team and returns { deleted: true, org_id }. It requires an owner and returns 409 org_in_use while jobs or datasets remain, with their counts in details.Change a role, remove a member, or leave
Change a role, remove a member, or leave
An owner can set a member’s role to Success returns the updated member.
owner or member:PATCH /api/orgs/{org}/members/{userId}DELETE on the same path removes that member and returns { removed: true, user_id, role }. Owners can remove others; members can remove themselves to leave.Demoting or removing the last owner returns 409 org_last_owner. Promote another owner first. A missing member returns 404 org_member_not_found.Set invitation limits
Set invitation limits
An owner can create a token with a chosen lifetime and use limit:
POST /api/orgs/{org}/invitesSuccess returns
201 with invitation metadata and token. The token is returned only at creation. CLI and SDK invite calls expose neither option and use these defaults.Joining an existing membership returns already_member: true without consuming a use. For a new member, an expired, revoked, or exhausted token returns 410 invite_invalid; an unknown token returns 404 invite_not_found.List or revoke invitations
List or revoke invitations
Both operations require an owner:
GET /api/orgs/{org}/invitesReturns { items }, newest first. Items contain invite_id, expires_at, max_uses, uses, revoked_at, and created_at; tokens are not included.DELETE /api/orgs/{org}/invites/{inviteId}Returns the invitation metadata with revoked_at set. Repeating the request leaves it revoked. This prevents new joins without removing existing members. An unknown invitation returns 404 invite_not_found.403 org_personal_immutable.
