curl --request GET \
--url https://test.deribit.com/api/v2/private/edit_api_key \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 2453,
"method": "private/edit_api_key",
"params": {
"name": "NewKeyName",
"max_scope": "account:read_write wallet:read_write block_trade:read trade:read_write",
"id": 3
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/edit_api_key"
payload = {
"jsonrpc": "2.0",
"id": 2453,
"method": "private/edit_api_key",
"params": {
"name": "NewKeyName",
"max_scope": "account:read_write wallet:read_write block_trade:read trade:read_write",
"id": 3
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 2453,
method: 'private/edit_api_key',
params: {
name: 'NewKeyName',
max_scope: 'account:read_write wallet:read_write block_trade:read trade:read_write',
id: 3
}
})
};
fetch('https://test.deribit.com/api/v2/private/edit_api_key', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.deribit.com/api/v2/private/edit_api_key",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 2453,
'method' => 'private/edit_api_key',
'params' => [
'name' => 'NewKeyName',
'max_scope' => 'account:read_write wallet:read_write block_trade:read trade:read_write',
'id' => 3
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test.deribit.com/api/v2/private/edit_api_key"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 2453,\n \"method\": \"private/edit_api_key\",\n \"params\": {\n \"name\": \"NewKeyName\",\n \"max_scope\": \"account:read_write wallet:read_write block_trade:read trade:read_write\",\n \"id\": 3\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test.deribit.com/api/v2/private/edit_api_key")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 2453,\n \"method\": \"private/edit_api_key\",\n \"params\": {\n \"name\": \"NewKeyName\",\n \"max_scope\": \"account:read_write wallet:read_write block_trade:read trade:read_write\",\n \"id\": 3\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/edit_api_key")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 2453,\n \"method\": \"private/edit_api_key\",\n \"params\": {\n \"name\": \"NewKeyName\",\n \"max_scope\": \"account:read_write wallet:read_write block_trade:read trade:read_write\",\n \"id\": 3\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 2453,
"result": {
"timestamp": 1560242482758,
"max_scope": "account:read_write block_trade:read trade:read_write wallet:read_write",
"id": 3,
"enabled": true,
"default": false,
"client_secret": "B6RsF9rrLY5ezEGBQkyLlV-UC7whyPJ34BMA-kKYpes",
"client_id": "1sXMQBhM",
"name": "NewKeyName"
}
}private/edit_api_key
Updates properties of an existing API key. You can modify the key name, scope, enabled status, features, and IP whitelist. At least one parameter must be provided.
Changes take effect immediately. If you modify the scope, the API key will only have access to the newly specified permissions.
๐ Related Articles:
Scope: account:read_write
curl --request GET \
--url https://test.deribit.com/api/v2/private/edit_api_key \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": 2453,
"method": "private/edit_api_key",
"params": {
"name": "NewKeyName",
"max_scope": "account:read_write wallet:read_write block_trade:read trade:read_write",
"id": 3
}
}
'import requests
url = "https://test.deribit.com/api/v2/private/edit_api_key"
payload = {
"jsonrpc": "2.0",
"id": 2453,
"method": "private/edit_api_key",
"params": {
"name": "NewKeyName",
"max_scope": "account:read_write wallet:read_write block_trade:read trade:read_write",
"id": 3
}
}
headers = {"Content-Type": "application/json"}
response = requests.get(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 2453,
method: 'private/edit_api_key',
params: {
name: 'NewKeyName',
max_scope: 'account:read_write wallet:read_write block_trade:read trade:read_write',
id: 3
}
})
};
fetch('https://test.deribit.com/api/v2/private/edit_api_key', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://test.deribit.com/api/v2/private/edit_api_key",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 2453,
'method' => 'private/edit_api_key',
'params' => [
'name' => 'NewKeyName',
'max_scope' => 'account:read_write wallet:read_write block_trade:read trade:read_write',
'id' => 3
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://test.deribit.com/api/v2/private/edit_api_key"
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": 2453,\n \"method\": \"private/edit_api_key\",\n \"params\": {\n \"name\": \"NewKeyName\",\n \"max_scope\": \"account:read_write wallet:read_write block_trade:read trade:read_write\",\n \"id\": 3\n }\n}")
req, _ := http.NewRequest("GET", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://test.deribit.com/api/v2/private/edit_api_key")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": 2453,\n \"method\": \"private/edit_api_key\",\n \"params\": {\n \"name\": \"NewKeyName\",\n \"max_scope\": \"account:read_write wallet:read_write block_trade:read trade:read_write\",\n \"id\": 3\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://test.deribit.com/api/v2/private/edit_api_key")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": 2453,\n \"method\": \"private/edit_api_key\",\n \"params\": {\n \"name\": \"NewKeyName\",\n \"max_scope\": \"account:read_write wallet:read_write block_trade:read trade:read_write\",\n \"id\": 3\n }\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 2453,
"result": {
"timestamp": 1560242482758,
"max_scope": "account:read_write block_trade:read trade:read_write wallet:read_write",
"id": 3,
"enabled": true,
"default": false,
"client_secret": "B6RsF9rrLY5ezEGBQkyLlV-UC7whyPJ34BMA-kKYpes",
"client_id": "1sXMQBhM",
"name": "NewKeyName"
}
}Query Parameters
API key ID
1
Describes maximal access for tokens generated with given key. If scope is not provided, its value is set as none.
๐ Related Article: Access Scope
[ "account:read", "trade:read", "block_trade:read_write", "wallet:none" ]
Name of key (only letters, numbers and underscores allowed; maximum length - 16 characters)
"TestName"
Enables/disables the API key. true to enable, false to disable
List of enabled advanced on-key features. Available options:
- restricted_block_trades: Limit the block_trade read the scope of the API key to block trades that have been made using this specific API key
- block_trade_approval: Block trades created using this API key require additional user approval. Methods that use block_rfq scope are not affected by Block Trade approval feature
restricted_block_trades, block_trade_approval Whitelist provided IP address on a selected key
Response
Success response
The JSON-RPC version (2.0)
2.0 Hide child attributes
Hide child attributes
Key identifier
1
The timestamp (milliseconds since the Unix epoch)
1536569522277
Client identifier used for authentication
"IY2D68DS"
Client secret or MD5 fingerprint of public key used for authentication
"P9Z_c73KaBPwpoTVfsXzehAhjhdJn5kM7Zlz_hhDhE8"
Describes maximal access for tokens generated with given key. If scope is not provided, its value is set as none.
๐ Related Article: Access Scope
[ "account:read", "trade:read", "block_trade:read_write", "wallet:none" ]
Informs whether this api key is default (field is deprecated and will be removed in the future)
false
PEM encoded public key (Ed25519/RSA) used for asymmetric signatures (optional)
"-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEApajFN0CSwIaaiIRPiFbiYYvpsLQLSccSLLsKPe984sc= -----END PUBLIC KEY-----"
Informs whether api key is enabled and can be used for authentication
true
Api key name that can be displayed in transaction log
"TestName"
List of enabled advanced on-key features.
Available options:
- restricted_block_trades: Limit the block_trade read the scope of the API key to block trades that have been made using this specific API key
- block_trade_approval: Block trades created using this API key require additional user approval. Methods that use block_rfq scope are not affected by Block Trade approval feature
List of IP addresses whitelisted for a selected key
The id that was sent in the request
Was this page helpful?