---
title: Get External Key
url: https://platform.claude.com/docs/en/api/go/organization/external_keys/retrieve
---

# Get External Key

`client.Organization.ExternalKeys.Get(ctx, externalKeyID) (*ExternalKey, error)`

**GET** `/v1/organizations/external_keys/{external_key_id}`

Retrieve a single external key config in the caller's organization by ID.

## Parameters

- `externalKeyID string` (path parameter)

  ID of the External Key.

  maxLength: 2048

## Returns

- `type ExternalKey`

  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).

  - `Type ExternalKey`

    default: external_key

  - `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 ExternalKeyAttachmentUnion`

    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.

    - `type ExternalKeyAttachedAttachment`

      - `Type Attached`

        default: attached

    - `type ExternalKeyUnattachedAttachment`

      - `Type Unattached`

        default: unattached

  - `CreatedAt Time`

    format: date-time

  - `DisplayName string`

    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.

  - `ProviderConfig ExternalKeyProviderConfigUnion`

    KMS provider identity and auth coordinates.

    - `type AWSExternalKeyConfig`

      - `Type AWS`

      - `KMSARN string`

        Full ARN of the AWS KMS key. On Claude Platform on AWS the key must be a single-Region key in your organization's own AWS account; cross-account keys, multi-Region keys, and alias ARNs are rejected.

        maxLength: 2048

      - `Region string Optional`

        AWS region. Derived from `kms_arn` if omitted.

    - `type GCPExternalKeyConfig`

      - `Type GCP`

      - `KeyName string`

        Full resource name of the Cloud KMS key.

    - `type AzureExternalKeyConfig`

      - `Type Azure`

      - `KeyName string`

        Name of the key within the vault.

      - `TenantID string`

        Azure AD tenant ID.

      - `VaultURI string`

        Key Vault data-plane URI — `https://{vault-name}.vault.azure.net` or `https://{hsm-name}.managedhsm.azure.net`.

      - `ClientID string Optional`

        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.

  - `UpdatedAt Time`

    format: date-time

## Example

```go
package main

import (
	"context"
	"fmt"

	"github.com/anthropics/anthropic-sdk-go"
	"github.com/anthropics/anthropic-sdk-go/option"
)

func main() {
	client := anthropic.NewClient(
		option.WithAPIKey("my-anthropic-api-key"),
	)
	externalKey, err := client.Organization.ExternalKeys.Get(context.TODO(), "external_key_id")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", externalKey.ID)
}
```

### 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"
}
```
