Create External Key changedapi/beta/organization/external_keys/create
Nearest release: v2.1.247, published under an hour before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+210added
Lines−0removed
From line
—
no hunk to open at
First seen
26 Aug 2026
this site's first read of the page
Recorded edits7to this page, all time
# Create External Key ## Body parameters ## Returns ## Example ### Response (200)
The whole hunk
210 lines, new page
/
lines
A whole new page. There's nothing to diff it against, so here is what it says.
# Create External Key
**POST** `/v1/organizations/external_keys`
Create an external key config owned by the caller's organization.
## Body parameters
- `provider_config: BetaAWSExternalKeyConfig or BetaGCPExternalKeyConfig or BetaAzureExternalKeyConfigParam`
KMS provider identity and auth coordinates.
- `BetaAWSExternalKeyConfig object`
- `kms_arn: string`
Full ARN of the AWS KMS key.
maxLength: 2048
- `type: "aws"`
- `region: optional string or null`
AWS region. Derived from `kms_arn` if omitted.
- `role_arn: optional string or null`
**Deprecated**
IAM role ARN. Deprecated — Anthropic reaches the KMS key via a managed intermediate role; this field is ignored.
- `BetaGCPExternalKeyConfig object`
- `key_name: string`
Full resource name of the Cloud KMS key.
- `type: "gcp"`
- `BetaAzureExternalKeyConfigParam object`
Azure Key Vault provider configuration.
- `key_name: string`
Name of the key within the vault.
- `tenant_id: string`
Azure AD tenant ID.
- `type: "azure"`
- `vault_uri: string`
Key Vault data-plane URI — `https://{vault-name}.vault.azure.net` or `https://{hsm-name}.managedhsm.azure.net`.
- `client_id: optional string or null`
Azure AD application (client) ID. Omit to use Anthropic's multitenant app. Provide only if using a single-tenant app registration in the customer's directory.
- `display_name: optional string or null`
Human-friendly display name.
maxLength: 255, minLength: 1
- `geo: optional "us"`
Data residency geo. Only `us` is supported.
## Returns
- `BetaExternalKey object`
CMEK external key config belonging to the caller's organization.
Configs are organization-scoped. Workspaces attach to a config; once any
workspace references it, the provider fields become effectively immutable
(existing encrypted data needs the config for decrypt).
- `id: string`
Identifier of the external key config. A tagged ID prefixed `ekey_`, or — for organizations on the Claude Platform on AWS — the AWS KMS key ARN.
- `attachment: BetaExternalKeyAttachedAttachment or BetaExternalKeyUnattachedAttachment`
Whether any workspace uses this config to encrypt its data — counting live and archived workspaces (an archived workspace's data remains encrypted under the config), excluding deleted ones. Only an attached config is used by the encryption path; an `unattached` config is inert and can be deleted.
- `BetaExternalKeyAttachedAttachment object`
- `type: "attached"`
default: attached
- `BetaExternalKeyUnattachedAttachment object`
- `type: "unattached"`
default: unattached
- `created_at: string`
format: date-time
- `display_name: string or null`
Human-friendly display name. Null if none was set.
- `geo: string`
Data residency geo. Selects which regional validator handles this key's encrypt/decrypt roundtrips.
- `provider_config: BetaAWSExternalKeyConfig or BetaGCPExternalKeyConfig or BetaAzureExternalKeyConfig`
KMS provider identity and auth coordinates.
- `BetaAWSExternalKeyConfig object`
- `kms_arn: string`
Full ARN of the AWS KMS key.
maxLength: 2048
- `type: "aws"`
- `region: optional string or null`
AWS region. Derived from `kms_arn` if omitted.
- `role_arn: optional string or null`
**Deprecated**
IAM role ARN. Deprecated — Anthropic reaches the KMS key via a managed intermediate role; this field is ignored.
- `BetaGCPExternalKeyConfig object`
- `key_name: string`
Full resource name of the Cloud KMS key.
- `type: "gcp"`
- `BetaAzureExternalKeyConfig object`
- `key_name: string`
Name of the key within the vault.
- `tenant_id: string`
Azure AD tenant ID.
- `type: "azure"`
- `vault_uri: string`
Key Vault data-plane URI — `https://{vault-name}.vault.azure.net` or `https://{hsm-name}.managedhsm.azure.net`.
- `client_id: optional string or null`
Azure AD application (client) ID. Omit to use Anthropic's multitenant app. Provide only if using a single-tenant app registration in the customer's directory.
- `type: "external_key"`
default: external_key
- `updated_at: string`
format: date-time
## Example
```bash
curl https://api.anthropic.com/v1/organizations/external_keys \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H "X-Api-Key: $ANTHROPIC_API_KEY" \
-d '{
"provider_config": {
"kms_arn": "arn:aws:kms:us-east-1:111122223333:key/abcd1234-5678-90ab-cdef-000011112222",
"type": "aws"
}
}'
```
### Response (200)
```json
{
"id": "ekey_01SDCCSbTxrXDpWc1phhtcfK",
"attachment": {
"type": "attached"
},
"created_at": "2024-10-30T23:58:27.427722Z",
"display_name": "prod-us-key",
"geo": "us",
"provider_config": {
"kms_arn": "arn:aws:kms:us-east-1:111122223333:key/abcd1234-5678-90ab-cdef-000011112222",
"type": "aws",
"region": "us-east-1",
"role_arn": "arn:aws:iam::111122223333:role/anthropic-cmek"
},
"type": "external_key",
"updated_at": "2024-10-30T23:58:27.427722Z"
}
```
No line in this hunk matches that.