Skip to main content

Who this is for

These endpoints are for organizations and their client workspaces only. An organization is an agency, reseller, white-label partner or enterprise that runs several Enginy workspaces (its clients) under one contract.
  • GET /v1/workspace works for every workspace. It tells you whether the workspace belongs to an organization, how it is billed and how it gets more capacity.
  • The /v1/organization endpoints work only from a workspace that belongs to an organization, with an API key whose creator holds an organization role. The role is checked first: without one, reads answer 403 ORGANIZATION_READ_FORBIDDEN and writes 403 ORGANIZATION_ADMIN_FORBIDDEN. With one, a workspace that is not in an organization (it left, or never joined) gets 404 NOT_IN_ORGANIZATION.
Upsell and management only. You can create clients, redistribute capacity between them, and buy or request more. No endpoint lowers your organization’s contracted quota, downgrades a plan or cancels anything. To reduce what you pay, contact your Enginy account manager.

Permissions

Two checks apply to every organization call: The access check reads the role of the person who created the API key (the connected user for MCP), in the workspace the key belongs to, on every call. A key never carries more than its creator holds now: revoking their organization role refuses their keys on the next call. A workspace admin role alone gives no organization access. GET /v1/workspace needs only the WORKSPACE_READ scope. Scopes do not include each other: a key that both reads and writes needs WORKSPACE_READ and WORKSPACE_WRITE (or ALL). MCP grants are different: a write scope there includes its read scope. Refusals carry the reason in details.code:

Self-serve and Sales-led billing

Every workspace is billed one of two ways: GET /v1/workspace returns billing.model and upsell.path. GET /v1/organization/clients returns billedSelfServe for each client. Capacity changes on a self-serve client are refused with ACCOUNT_BILLED_SELF_SERVE. Clients you create with the API are Sales-led, billed on the organization deal. How the organization itself gets more depends on capabilities.purchaseMode from GET /v1/organization:
  • self-serve (agencies, resellers, white-label partners): buy with POST /v1/organization/capacity/purchases. A billing agreement with Enginy is required. A purchase commits and is billed at once; one purchase adds at most 1,000,000 credits or 1,000 identities.
  • request (enterprises): ask with POST /v1/organization/capacity/requests. Nothing changes until Enginy answers.

Read your workspace

Create a client workspace

The new workspace counts against the organization’s client quota (ACCOUNT_LIMIT_REACHED when full), and its initial credits and identities come from the organization pools. The API key creator becomes its first admin, and the website sets its logo. The AI playbook is not filled automatically: fill it with PUT /v1/ai-playbook using an API key of the new workspace, or in the app. To work in the new workspace through the API, create an API key in it.

Distribute capacity

List clients with their capacity and the organization pools:
Set a client’s cap to an absolute value. The difference moves to or from the organization’s unallocated pool:
Or move an amount between two clients (null is the pool):
  • Credits moved mid-month are delivered or retracted right away (immediateAmount). A move out never takes more than the client’s unspent credits this month.
  • A client’s identity cap cannot go below its connected identities.
  • Lowering a client’s cap returns capacity to the pool for another client. It does not lower what the organization pays.
  • Every change is recorded in GET /v1/organization/capacity/history.

Get more capacity

The quota grows by amount and additionalMonthlyCost is added to your monthly invoice. Allocate the new capacity to clients afterwards. Credits are bought in batches of 1,000. Enterprises send the same body to POST /v1/organization/capacity/requests. Enterprises with a contract view can compare contracted, allocated and consumed capacity with GET /v1/organization/contract.