curl --request POST \
--url https://laso.finance/revokeUnusedAgentApiKeys \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"userId": "usr_7aff81763cae58c936aa6de67dd5a95e"
}
}
'import requests
url = "https://laso.finance/revokeUnusedAgentApiKeys"
payload = { "data": { "userId": "usr_7aff81763cae58c936aa6de67dd5a95e" } }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({data: {userId: 'usr_7aff81763cae58c936aa6de67dd5a95e'}})
};
fetch('https://laso.finance/revokeUnusedAgentApiKeys', 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://laso.finance/revokeUnusedAgentApiKeys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'userId' => 'usr_7aff81763cae58c936aa6de67dd5a95e'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://laso.finance/revokeUnusedAgentApiKeys"
payload := strings.NewReader("{\n \"data\": {\n \"userId\": \"usr_7aff81763cae58c936aa6de67dd5a95e\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.post("https://laso.finance/revokeUnusedAgentApiKeys")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"userId\": \"usr_7aff81763cae58c936aa6de67dd5a95e\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://laso.finance/revokeUnusedAgentApiKeys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"userId\": \"usr_7aff81763cae58c936aa6de67dd5a95e\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {}
}Revoke all unused API keys
Revokes every live lasoak_ API key on the account that no agent has used yet: never exchanged at agentAuth and never used to connect, the keys the dashboard lists as “Has not signed in yet”. The same action as Revoke all on the dashboard. Keys any agent has used are left alone. A key you just issued and have not used yet counts as unused, so do not call this while a new agent is still setting up.
A Firebase callable. Callables wrap the request in {"data": ...} and the reply in {"result": ...}. Send the id_token from /auth as a Bearer token. Free.
curl --request POST \
--url https://laso.finance/revokeUnusedAgentApiKeys \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"userId": "usr_7aff81763cae58c936aa6de67dd5a95e"
}
}
'import requests
url = "https://laso.finance/revokeUnusedAgentApiKeys"
payload = { "data": { "userId": "usr_7aff81763cae58c936aa6de67dd5a95e" } }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({data: {userId: 'usr_7aff81763cae58c936aa6de67dd5a95e'}})
};
fetch('https://laso.finance/revokeUnusedAgentApiKeys', 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://laso.finance/revokeUnusedAgentApiKeys",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'userId' => 'usr_7aff81763cae58c936aa6de67dd5a95e'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://laso.finance/revokeUnusedAgentApiKeys"
payload := strings.NewReader("{\n \"data\": {\n \"userId\": \"usr_7aff81763cae58c936aa6de67dd5a95e\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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.post("https://laso.finance/revokeUnusedAgentApiKeys")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"userId\": \"usr_7aff81763cae58c936aa6de67dd5a95e\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://laso.finance/revokeUnusedAgentApiKeys")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"userId\": \"usr_7aff81763cae58c936aa6de67dd5a95e\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {}
}Authorizations
Firebase ID token from /auth or any paid route, sent as a Bearer token: Authorization: Bearer <id_token> (the Bearer prefix is required).
Body
Show child attributes
Show child attributes
Response
revokedCount: how many keys were revoked. Zero when there were none.
Was this page helpful?