# Clone an API key
**PUT /_security/api_key/clone**
**All methods and paths for this operation:**
POST
/_security/api_key/clone
PUT
/_security/api_key/clone
Create a copy of an existing API key with a new ID.
The cloned key inherits the role descriptors of the source key.
This is intended for applications (such as Kibana) that need to
create API keys on behalf of a user using an existing API key credential,
since derived API keys (API keys created by API keys) are not otherwise supported.
## Required authorization
* Cluster privileges: `manage_own_api_key`
## Servers
- http://api.example.com: http://api.example.com ()
## Authentication methods
- Api key auth
- Basic auth
- Bearer auth
## Parameters
### Query parameters
- **refresh** (string)
If `true` (the default) then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` then do nothing with refreshes.
### Body: application/json (object)
- **api_key** (string)
The credentials of the API key to clone.
This is the secret value returned when the key was originally created.
- **name** (string)
A name for the cloned API key.
If not provided, the name of the source key is used.
- **expiration** (string)
The expiration time for the cloned API key.
By default, API keys never expire.
Set to `null` to explicitly create a key with no expiration.
- **metadata** (object)
Arbitrary metadata to associate with the cloned API key.
It supports nested data structure.
Within the metadata object, keys beginning with `_` are reserved for system usage.
## Responses
### 200
#### Body: application/json (object)
- **api_key** (string)
The generated API key value for the cloned key.
- **expiration** (number)
Expiration in milliseconds for the API key.
- **id** (string)
The unique ID of the cloned API key.
- **name** (string)
The name of the cloned API key.
- **encoded** (string)
API key credentials which is the base64-encoding of
the UTF-8 representation of `id` and `api_key` joined
by a colon (`:`).
[Powered by Bump.sh](https://bump.sh)