Skip to main content
GET
/
api-keys
List API keys
curl --request GET \
  --url http://localhost:5001/api-keys \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/api-keys"

headers = {"X-blnk-key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-blnk-key': '<api-key>'}};

fetch('http://localhost:5001/api-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_PORT => "5001",
CURLOPT_URL => "http://localhost:5001/api-keys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-blnk-key: <api-key>"
],
]);

$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 := "http://localhost:5001/api-keys"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("X-blnk-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("http://localhost:5001/api-keys")
.header("X-blnk-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/api-keys")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["X-blnk-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
Use blnk.api_keys.list to list API keys for an owner.
1

Call the method

blnk.api_keys.list
response = blnk.api_keys.list({
  "owner": "merchant_a",
})
FieldTypeDescription
ownerstrOwner whose keys to return. Required when authenticating with the master key.
2

Use the key list

Iterate over response.data to find keys by name, scopes, or expiration. Plaintext key values are not included in list results.
3

Response

200 OK
[
  {
    "api_key_id": "key_abc123def456",
    "name": "Service Account",
    "owner_id": "owner_id",
    "scopes": ["ledgers:read", "balances:write"],
    "expires_at": "2026-03-11T00:00:00Z",
    "created_at": "2024-01-15T10:30:00Z",
    "last_used_at": "2024-01-20T14:30:00Z"
  }
]
FieldTypeDescription
response.datalist[dict]Array of API key records without the plaintext key value.

How API keys work

Scopes, the master key, and the auth model.

List API keys

HTTP request and response schema.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.