List approval keys
List the approval public keys registered for the specified API user.
Endpoint Permission: Owner, Admin, Non-Signing Admin, Approver, Signer, Security Admin, Security Auditor.
GET
/
management
/
api_users
/
{userId}
/
approval_keys
TypeScript
const response: Promise<FireblocksResponse<ListApprovalApiKeysResponse>> = fireblocks.approvalsBeta.getApprovalKeys(approvalsBetaApiGetApprovalKeysRequest);CompletableFuture<ApiResponse<ListApprovalApiKeysResponse>> response = fireblocks.approvalsBeta().getApprovalKeys(userId, pageSize, pageCursor);response = fireblocks.approvals_beta.get_approval_keys(user_id, page_size, page_cursor);curl --request GET \
--url https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keysconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys', 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://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "fab543c0-d6be-414c-aa05-5c6c84269d7a",
"name": "primary signing key",
"createdAt": "1750000000",
"lastUsedAt": "1750600000",
"approvalApiPublicKey": {
"algorithm": "ECDSA_SECP256R1",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQ...\n-----END PUBLIC KEY-----"
},
"userId": "8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94",
"status": "APPROVAL_API_KEY_STATUS_ENABLED"
}
],
"next": "cursor for the next page"
}{
"message": "<string>",
"code": 123
}Path Parameters
The ID of the API user whose approval keys to list.
Query Parameters
Number of results per page. Maximum 15. Defaults to 10.
Required range:
1 <= x <= 15Cursor returned from the previous response (the next field) to fetch the next page.
Response
The API user's approval keys.
The approval API keys registered for the API user.
The registered approval API keys.
Show child attributes
Show child attributes
Example:
[
{
"id": "fab543c0-d6be-414c-aa05-5c6c84269d7a",
"name": "primary signing key",
"createdAt": "1750000000",
"lastUsedAt": "1750600000",
"approvalApiPublicKey": {
"algorithm": "ECDSA_SECP256R1",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQ...\n-----END PUBLIC KEY-----"
},
"userId": "8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94",
"status": "APPROVAL_API_KEY_STATUS_ENABLED"
}
]
Cursor for the next page of results. Pass it back as the pageCursor query param to fetch the next page. Empty or absent when this is the last page.
Example:
"cursor for the next page"
Was this page helpful?
⌘I
TypeScript
const response: Promise<FireblocksResponse<ListApprovalApiKeysResponse>> = fireblocks.approvalsBeta.getApprovalKeys(approvalsBetaApiGetApprovalKeysRequest);CompletableFuture<ApiResponse<ListApprovalApiKeysResponse>> response = fireblocks.approvalsBeta().getApprovalKeys(userId, pageSize, pageCursor);response = fireblocks.approvals_beta.get_approval_keys(user_id, page_size, page_cursor);curl --request GET \
--url https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keysconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys', 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://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/management/api_users/{userId}/approval_keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "fab543c0-d6be-414c-aa05-5c6c84269d7a",
"name": "primary signing key",
"createdAt": "1750000000",
"lastUsedAt": "1750600000",
"approvalApiPublicKey": {
"algorithm": "ECDSA_SECP256R1",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQ...\n-----END PUBLIC KEY-----"
},
"userId": "8f3c1a2e-4b7d-4c91-a0e5-2d6f8b1c3a94",
"status": "APPROVAL_API_KEY_STATUS_ENABLED"
}
],
"next": "cursor for the next page"
}{
"message": "<string>",
"code": 123
}