List API Keys
curl --request GET \
--url https://api.agent-drop.com/v1/api-keys \
--header 'Authorization: <authorization>'import requests
url = "https://api.agent-drop.com/v1/api-keys"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.agent-drop.com/v1/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_URL => "https://api.agent-drop.com/v1/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 => [
"Authorization: <authorization>"
],
]);
$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.agent-drop.com/v1/api-keys"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.agent-drop.com/v1/api-keys")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agent-drop.com/v1/api-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"keys": [
{}
],
"keys[].id": "<string>",
"keys[].name": "<string>",
"keys[].prefix": "<string>",
"keys[].last_used_at": "<string>",
"keys[].transfer_count": 123,
"keys[].created_at": "<string>"
}API Keys
List API Keys: Account and Agent-Scoped Tokens
List every AgentDrop API key on your account with prefix, scope, creation date, and last-used timestamp. Key values themselves are never returned again.
GET
/
v1
/
api-keys
List API Keys
curl --request GET \
--url https://api.agent-drop.com/v1/api-keys \
--header 'Authorization: <authorization>'import requests
url = "https://api.agent-drop.com/v1/api-keys"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.agent-drop.com/v1/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_URL => "https://api.agent-drop.com/v1/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 => [
"Authorization: <authorization>"
],
]);
$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.agent-drop.com/v1/api-keys"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.agent-drop.com/v1/api-keys")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agent-drop.com/v1/api-keys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"keys": [
{}
],
"keys[].id": "<string>",
"keys[].name": "<string>",
"keys[].prefix": "<string>",
"keys[].last_used_at": "<string>",
"keys[].transfer_count": 123,
"keys[].created_at": "<string>"
}Retrieve all API keys associated with your account. Returns key metadata only, full key values are never shown after creation.
Full API key values are only returned once, in the create-api-key response. If you lose a key, revoke it and create a new one.
Request
Headers
string
required
Bearer token. Example:
Bearer agd_live_xxxxxxxxxxxxxxxxxxxxResponse
array
Array of API key objects.
Key Object
string
The key ID, used for revocation.
string
The descriptive name you assigned to this key.
string
The first characters of the key (e.g.
agd_live_xxxx). Useful for identifying which key is in use.string
ISO 8601 timestamp of the last time this key was used.
null if never used.integer
Total number of transfers created with this key.
string
ISO 8601 creation timestamp.
Examples
curl -X GET https://api.agent-drop.com/v1/api-keys \
-H "Authorization: Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"
import requests
response = requests.get(
"https://api.agent-drop.com/v1/api-keys",
headers={"Authorization": "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"},
)
keys = response.json()["keys"]
for key in keys:
print(f"{key['name']} ({key['prefix']}) - {key['transfer_count']} transfers")
const response = await fetch(
"https://api.agent-drop.com/v1/api-keys",
{
headers: { Authorization: "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx" },
}
);
const { keys } = await response.json();
keys.forEach((k) => console.log(`${k.name} (${k.prefix}) - ${k.transfer_count} transfers`));
Response
{
"keys": [
{
"id": "key_a1b2c3d4",
"name": "production-agent",
"prefix": "agd_live_xxxx",
"last_used_at": "2026-03-28T09:15:00Z",
"transfer_count": 142,
"created_at": "2026-03-10T08:00:00Z"
},
{
"id": "key_e5f6g7h8",
"name": "staging-tests",
"prefix": "agd_live_yyyy",
"last_used_at": null,
"transfer_count": 0,
"created_at": "2026-03-25T16:00:00Z"
}
]
}
Errors
| Status | Code | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing API key |
