Capability library · Application package

OpenAI package v1.0.0

OpenAI organization administration through the Admin API: projects, project API keys and service accounts, per-model rate limits, users, admin API keys, and usage and cost reports.

Review state: Reviewed · Distributable: yes, digest matches the release manifest

This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern

Before you enable this package

The Admin API key works only for administration endpoints. Bind PROJECT_ID, API_KEY_ID, RATE_LIMIT_ID, USER_ID and KEY_ID before enabling. Creating a service account or an admin key returns a live key, so send that response to your secret manager.

Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.

Capabilities (16)

Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/openai.json and embeds a copy in the release binary.

Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.

On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.

Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.

openai.projects.list v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://api.openai.com/v1/organization/projects
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

List projects.

List the organization's projects: id, name, status, residency and archived time. Archived projects are left out unless include_archived is true.

openai.project.create v1.0.0R2

Kind
tool
Action
create
Endpoint
POST https://api.openai.com/v1/organization/projects
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Create project.

Create a project in the organization. OpenAI documents that projects can be created and archived but not deleted.

openai.project.archive v1.0.0R3

Kind
tool
Action
delete
Endpoint
POST https://api.openai.com/v1/organization/projects/PROJECT_ID/archive
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Archive project.

Archive a project. OpenAI documents that archived projects cannot be used or updated, and the reference has no unarchive operation, so the capability declares delete at R3. PROJECT_ID is a placeholder.

openai.project.api-keys.list v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://api.openai.com/v1/organization/projects/PROJECT_ID/api_keys
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
pii

List project API keys.

List a project's API keys with their redacted values, last-used times and owners. A user-owned key carries the owner's name and email address, so the read is pii. PROJECT_ID is a placeholder.

openai.project.api-key.delete v1.0.0R3

Kind
tool
Action
delete
Endpoint
DELETE https://api.openai.com/v1/organization/projects/PROJECT_ID/api_keys/API_KEY_ID
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Delete project API key.

Delete one API key from a project, including a key owned by a service account. Requests using the key fail afterwards. PROJECT_ID and API_KEY_ID are placeholders.

openai.project.service-account.create v1.0.0R3

Kind
tool
Actions
create, share
Endpoint
POST https://api.openai.com/v1/organization/projects/PROJECT_ID/service_accounts
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Create project service account.

Create a service account in a project. By default the response returns an unredacted API key for it, so the capability declares share at R3. Set create_service_account_only to create the account without a key. Route any returned key straight to the secret manager. PROJECT_ID is a placeholder.

openai.project.rate-limits.list v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://api.openai.com/v1/organization/projects/PROJECT_ID/rate_limits
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

List project rate limits.

List a project's per-model rate limits: requests and tokens per minute, and the per-day, image, audio and batch limits where a model has them. PROJECT_ID is a placeholder.

openai.project.rate-limit.update v1.0.0R2

Kind
tool
Action
update
Endpoint
POST https://api.openai.com/v1/organization/projects/PROJECT_ID/rate_limits/RATE_LIMIT_ID
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Update project rate limit.

Change one per-model rate limit of a project. Raising a limit raises how fast the project can spend. PROJECT_ID and RATE_LIMIT_ID are placeholders.

openai.users.list v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://api.openai.com/v1/organization/users
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
pii

List users.

List the organization's users with their names, email addresses and roles.

openai.user.update v1.0.0R2

Kind
tool
Action
update
Endpoint
POST https://api.openai.com/v1/organization/users/USER_ID
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
pii

Update user.

Change a user's organization role (owner or reader, or a role_id). Promoting a user to owner grants full administrative control, so policy should raise this tier. USER_ID is a placeholder.

openai.user.delete v1.0.0R3

Kind
tool
Action
delete
Endpoint
DELETE https://api.openai.com/v1/organization/users/USER_ID
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
pii

Delete user.

Remove a user from the organization. USER_ID is a placeholder.

openai.admin-api-keys.list v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://api.openai.com/v1/organization/admin_api_keys
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
pii

List admin API keys.

List the organization's admin API keys with redacted values, expiry, last-used time and the owning user's name.

openai.admin-api-key.create v1.0.0R3

Kind
tool
Actions
create, share
Endpoint
POST https://api.openai.com/v1/organization/admin_api_keys
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Create admin API key.

Create an organization admin API key, optionally with expires_in_seconds. The response carries the full key value, shown only on create, so the capability declares share at R3. Route it straight to the secret manager.

openai.admin-api-key.delete v1.0.0R3

Kind
tool
Action
delete
Endpoint
DELETE https://api.openai.com/v1/organization/admin_api_keys/KEY_ID
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Delete admin API key.

Delete an organization admin API key. Deleting the key this pack's credential refers to cuts off every capability here. KEY_ID is a placeholder.

openai.usage.completions.get v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://api.openai.com/v1/organization/usage/completions
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
internal

Get usage completions.

Read the organization's completions usage in time buckets (start_time required), optionally grouped by project, user, API key, model or batch.

openai.costs.get v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://api.openai.com/v1/organization/costs
Connector
http
Custody
inherits the pack credential block
Credential ref
inherits the pack credential block
Data class
financial

Get costs.

Read the organization's costs in daily buckets (start_time required), optionally grouped by project, user, line item, API key or API source. This is spend data, registered at the read floor.

Credential reference

The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.

Reference
secret-ref-openai-admin-key
Custody
customer_vault
Injection
header (Authorization)

Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.

Complete credential requirements

An OpenAI Admin API key held in the client's own secret manager. The stored material is the complete Authorization header value: 'Bearer ' followed by the key. Create the key on the organization's Admin API keys page in the OpenAI dashboard (or with the registered admin-key create capability) and set an expiry where your policy allows one. Rotate by creating a new key, storing it under this reference, then deleting the old one. Admin keys cannot be used for non-administration endpoints. The executor injects the stored value unchanged and performs no key lifecycle.

The value must live only in executor memory for a call and never in logs, traces, diagnostics or crash dumps; a deployment that cannot meet that bar must not enable the pack.

Resources

  • openai-organization (api, pii): https://api.openai.com/v1/organization
  • openai-organization-costs (api, financial): https://api.openai.com/v1/organization/costs

Technical package and review record

Complete provider requirements and exclusions

Every endpoint is on api.openai.com under /v1/organization, the base the Admin API reference and its curl examples use. PROJECT_ID, API_KEY_ID, RATE_LIMIT_ID, USER_ID and KEY_ID are path placeholders to bind before enabling. Admin API keys work only for administration endpoints, so this credential cannot call models.

Tiers sit at the floor of the declared actions. Archiving a project is registered as delete because OpenAI documents that archived projects cannot be used or updated and publishes no unarchive operation. Creating a service account (with its default key) and creating an admin key declare share, because the response hands a live secret to the caller. Deletes are R3. Rate-limit and role changes are R2 by the action floor, and policy should raise them: a higher limit raises spend capacity and an owner role grants full control.

Rotating an admin key or a service-account key is two registered calls: create the replacement, then delete the old key. The project API keys reference has no create operation, so a key owned by a user cannot be replaced through this pack; only its deletion is registered.

Every other administration operation in the reference is excluded, among them invites, groups and roles, project retrieval and update, project users and groups, project API key retrieval and update, service account retrieval, update, deletion and listing, key creation for an existing service account, certificates, external storage, data retention, model and hosted tool permissions, spend alerts and spend limits, admin key and user retrieval, audit logs, and every usage endpoint other than completions. AAES has not been certified by OpenAI; these endpoints are configuration to review and test.

Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.

The full documentation review record is supplied in the evaluation package. The platform evaluation package for AAES Operate and AAES Govern runs in your environment and is included only in the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.

Review block

This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is packs/review/records/openai.md in the repository (mirrored into the release binary's embedded assets).

Review completed: 2026-10-22

18 sources, retrieved 2026-10-22

Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.

Release identity

SHA-256 of the pack file bytes: 38d2a0573e1c238a259c10cf86db1c79044faed503644471ba3e1f0b593ba640

Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.