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