> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abliteration.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Administration API

> Manage Abliteration organizations, projects, API keys, policies, spend limits, balances, usage, and costs with an organization-owned Admin API key.

The Administration API is for organization management and automation. It uses
organization-owned **Admin API keys**, not the `ak_...` Project API keys used
for model inference.

| Credential | Use |
| - | - |
| Admin API key | Call `/v1/organization` management endpoints |
| `ak_...` Project API key | Call model inference endpoints for one project |

## Create the first Admin API key

1. Sign in to the [Abliteration Console](https://abliteration.ai/console).
2. Select the organization you want to manage.
3. Open **Admin API keys**.
4. Select **Create API key**.
5. Choose the minimum permissions required for the integration.
6. Copy the key when it is shown. The full value is displayed once.

Only organization owners and admins can manage Admin API keys in the Console.
An invited user must accept the invitation before their role becomes active.

<Warning>
  Admin API keys are server-side credentials. Store them in a secret manager
  or environment variable. Do not commit them or expose them in browser code,
  mobile application bundles, or other public clients. Browser applications
  must call their own backend. Direct browser JavaScript access is unsupported.
</Warning>

## Authenticate

Use the Production base URL and send the Admin API key as a bearer token:

```bash theme={"system"}
export ABLITERATION_ADMIN_KEY="your-admin-api-key"

curl https://api.abliteration.ai/v1/organization \
  -H "Authorization: Bearer $ABLITERATION_ADMIN_KEY"
```

An Admin API key is bound to one organization. The API derives the organization
from the credential; requests do not accept an organization ID override.

## Permissions

Each key has explicit permissions. A key can create another Admin API key only
with a subset of its own permissions.

| Permission | Access |
| - | - |
| `organization:read` | Read organization metadata |
| `projects:read` | List and retrieve projects |
| `projects:create` | Create, rename, and archive projects |
| `project_api_keys:read` | List and retrieve Project API keys |
| `project_api_keys:create` | Create Project API keys |
| `project_api_keys:revoke` | Revoke Project API keys |
| `admin_api_keys:read` | List and retrieve Admin API keys |
| `admin_api_keys:create` | Create Admin API keys |
| `admin_api_keys:revoke` | Revoke Admin API keys |
| `billing:read` | Read balances, usage, and costs |
| `spend_limits:read` | Read organization and project spend limits |
| `spend_limits:write` | Set and delete organization and project spend limits |
| `policies:read` | Read policies, published versions, and effective project policies |
| `policies:write` | Create, edit, publish, pause, resume, and delete policies |

## Idempotent creates

Project creation, policy creation, Project API-key creation, and Admin API-key
creation require an `Idempotency-Key` header between 8 and 200 characters.
Reusing a key with the same request returns the original result. Reusing it
with a different request returns `409 idempotency_conflict`.

An idempotent retry of API-key creation can return the same creation response,
including the secret. Protect retry responses and do not log them.

If a retry returns `409 idempotency_reconciliation_required`, review the
organization's Admin API keys before using a new idempotency key. Follow the
recovery steps in [Administration API errors](/administration/errors).

```bash theme={"system"}
curl https://api.abliteration.ai/v1/organization/projects \
  -X POST \
  -H "Authorization: Bearer $ABLITERATION_ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: project-create-20260930-01" \
  -d '{"name":"Production"}'
```

## Next steps

* Browse the Administration API resources in the sidebar for generated
  request and response reference.
* See [Manage policies](/administration/policies) for the draft and publish
  workflow.
* See [Administration API errors](/administration/errors) for error handling
  and rate-limit headers.
