---
title: Validate External Key
url: https://platform.claude.com/docs/en/api/csharp/organization/external_keys/validate
---

# Validate External Key

`ExternalKeyValidateResponse Organization.ExternalKeys.Validate(parameters, cancellationToken = default)`

**POST** `/v1/organizations/external_keys/{external_key_id}/validate`

Validate an external key config against the customer's KMS.

Anthropic performs an encrypt/decrypt roundtrip against the configured
KMS key and waits up to 30 seconds for the result. The response status is
`success` if the roundtrip succeeded, or `failure` with an error
message if it failed or timed out.

## Parameters

- `ExternalKeyValidateParams parameters`

  - `required string externalKeyID` (path parameter)

    ID of the External Key.

    maxLength: 2048

## Returns

- `class ExternalKeyValidateResponse`

  Result of a validation roundtrip against the customer's KMS.

  HTTP 200 for both outcomes — the operation completed; `status` says
  whether the key works.

  - `JsonElement Type = "external_key_validation"`

  - `required string? Error`

    Error message when status is `failure`. Null otherwise.

  - `required Status Status`

    `success` — encrypt/decrypt roundtrip succeeded. `failure` — the roundtrip failed or timed out; see `error`.

    - `Failure("failure")`

    - `Success("success")`

## Example

```csharp
using System;
using Anthropic.Models.Organization.ExternalKeys;

ExternalKeyValidateParams parameters = new()
{
    ExternalKeyID = "external_key_id"
};

var response = await client.Organization.ExternalKeys.Validate(parameters);

Console.WriteLine(response);
```

### Response (200)

```json
{
  "error": "error",
  "status": "failure",
  "type": "external_key_validation"
}
```
