Skip to main content

AISIX Cloud Admin API

The AISIX Cloud Admin API is the stable, customer-facing automation contract for AISIX Cloud across its control-plane deployment options. It lets operators manage organization-scoped environments...

Caller API Keys

Environments

Models

Provider Keys

MCP Servers

A2A Agents

Members

  • GET List Members /members

    List organization members. Pagination is opt-in: omit page size to get the full member list in one response. page is only meaningful together with page size and is rejected without it.

  • POST Create Member /members

    Create a login-less member directly, bypassing the email-invitation handshake. The created principal can be added to teams and issued caller API keys immediately, but carries no dashboard credentials and can never sign in. The role is fixed to member.

Roles

  • PATCH Update Member Organization Role /members/{user_id}

    Replace a member's organization-wide role. Only an organization owner can assign roles. Assigning owner clears the member's environment role bindings because owners already have full access. The last owner cannot be demoted.

  • GET List Member Environment Role Bindings /members/{member_id}/role_bindings

    List the roles granted to one member in individual environments. Each binding adds its role to the member's organization role for resources inside that environment. It does not reduce the member's organization-level access or grant control over the environment object itself.

  • PUT Replace Member Environment Role Bindings /members/{member_id}/role_bindings

    Replace the member's complete set of environment-scoped role bindings. Send an empty array to remove every binding. Only an organization owner can change bindings. The target member cannot be an owner, and each environment can appear at most once. Changes can take up to 30...

  • GET List Roles /roles

    List the built-in owner, admin, and member roles together with every custom role defined in the authenticated organization.

  • POST Create Custom Role /roles

    Create an organization-scoped custom role. Its name is permanent because member and directory-sync assignments reference it by name. A custom role can grant only permission pairs available to the built-in admin role and cannot grant role management.

  • DELETE Delete Custom Role /roles/{role_name}

    Delete a custom role. Built-in roles cannot be deleted. A custom role must first be removed from members, pending invitations, directory-sync settings, and environment role bindings. Member assignments and environment bindings can be cleared through this API. Pending...

  • PATCH Update Custom Role /roles/{role_name}

    Update a custom role's description or replace its permissions. The role name cannot change. Built-in roles cannot be updated. Permission changes can take up to 30 seconds to propagate across control-plane replicas.

Guardrails

Cache Policies

Observability Exporters

Rate Limit Policies

Data Plane Nodes

  • GET List Data Plane Nodes /environments/{env_id}/dp_nodes

    List the data plane nodes that have connected to the environment. A node appears after its first status report; a gateway certificate that was issued but never used to connect is not listed. Each entry reflects the node's most recent report, including which configuration...

Rejected Resources

  • GET List Rejected Resources /environments/{env_id}/rejected_resources

    List configuration resources in the environment that at least one data plane node is currently refusing to apply. A save can succeed at the API and still be rejected at a gateway — for example when an older gateway version does not recognize a newer field. A rejected resource...

MCP Access Policies

OIDC Providers

Claim Mappings

Passthrough Routes

Budgets

  • GET List Budgets /budgets

    List every budget in the organization, across all scopes, each with its current-period spend state. Budgets whose spend is not tracked as a single total (team member) return a zero-seeded state: the limit applies to each member of the team separately.

  • POST Create Budget /budgets

    Create a spending cap. Each target — identified by the scope + scope ref pair — can hold at most one budget; creating a second one for the same target is rejected with 409. A hard stop budget makes the gateway reject matching traffic with 429 budget exceeded once the period's...

  • GET Get Budget /budgets/{budget_id}

    Return one budget together with its current-period spend state. The state starts as a zero seed at creation and updates as spend is aggregated.

  • DELETE Delete Budget /budgets/{budget_id}

    Remove a budget. Spend tracking continues; only the cap is removed. Enforcement stops within a few seconds — in-flight traffic checked against a cached decision may still be rejected briefly.

  • PATCH Update Budget /budgets/{budget_id}

    Update a budget's name, limit, period, or enforcement mode. Fields left out keep their current values. The budget's scope and scope ref are fixed at creation — to cap a different target, create a new budget.

Notification Channels