curl --request GET \
--url https://api.botshield.ai/operations/secured-accounts/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.botshield.ai/operations/secured-accounts/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.botshield.ai/operations/secured-accounts/list', 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.botshield.ai/operations/secured-accounts/list",
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: Bearer <token>"
],
]);
$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.botshield.ai/operations/secured-accounts/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.botshield.ai/operations/secured-accounts/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.botshield.ai/operations/secured-accounts/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"data": {
"rows": [
{
"handle": "<string>",
"status": "active",
"secured_at": "2023-11-07T05:31:56Z",
"unlinked_at": "2023-11-07T05:31:56Z",
"unlinked_by": "platform",
"unlink_reason": "credential_changed",
"surface_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"total": 123,
"environment": "development",
"limit": 123,
"offset": 123
},
"error": {
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"min_ttl_seconds": 123,
"max_ttl_seconds": 123,
"retryable": true,
"next_step": "<string>",
"violations": [
{
"source": "<string>",
"type": "<string>",
"path": "<string>",
"severity": "<string>",
"value": "<unknown>",
"explanation": "<string>",
"fix": "<string>"
}
],
"reason": "rate",
"bucket": "<string>",
"retry_in": 123,
"limits": {},
"upgrade_url": "<string>"
}
}
}{
"message": "Invalid input provided",
"input": {},
"errors": [
{
"propertyPath": "<string>",
"invalidValue": "<unknown>",
"message": "<string>"
}
]
}{
"error": {
"message": "<string>",
"statusCode": 123
}
}List Secured Accounts
Your Secured Accounts, newest first. Filter to one account with platform_user_ref (exact match) or by status. Rows carry the handle and binding facts — never your ref or anything that identifies the person. The environment is your API key’s: a bs_dev_… key sees and changes development Secured Accounts only, a bs_prod_… key production only. Server API keys only — site keys (pk_…) are refused.
curl --request GET \
--url https://api.botshield.ai/operations/secured-accounts/list \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.botshield.ai/operations/secured-accounts/list"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.botshield.ai/operations/secured-accounts/list', 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.botshield.ai/operations/secured-accounts/list",
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: Bearer <token>"
],
]);
$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.botshield.ai/operations/secured-accounts/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.botshield.ai/operations/secured-accounts/list")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.botshield.ai/operations/secured-accounts/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"data": {
"rows": [
{
"handle": "<string>",
"status": "active",
"secured_at": "2023-11-07T05:31:56Z",
"unlinked_at": "2023-11-07T05:31:56Z",
"unlinked_by": "platform",
"unlink_reason": "credential_changed",
"surface_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"total": 123,
"environment": "development",
"limit": 123,
"offset": 123
},
"error": {
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"min_ttl_seconds": 123,
"max_ttl_seconds": 123,
"retryable": true,
"next_step": "<string>",
"violations": [
{
"source": "<string>",
"type": "<string>",
"path": "<string>",
"severity": "<string>",
"value": "<unknown>",
"explanation": "<string>",
"fix": "<string>"
}
],
"reason": "rate",
"bucket": "<string>",
"retry_in": 123,
"limits": {},
"upgrade_url": "<string>"
}
}
}{
"message": "Invalid input provided",
"input": {},
"errors": [
{
"propertyPath": "<string>",
"invalidValue": "<unknown>",
"message": "<string>"
}
]
}{
"error": {
"message": "<string>",
"statusCode": 123
}
}Authorizations
Your secret API key (bs_dev_… for development, bs_production_… for production), or a site key (pk_test_… / pk_live_…) when calling from an allowed origin. Create keys in the Console under Settings → Developer Tools.
Query Parameters
Your stable user id for the account (the same platform_user_ref you passed when it was secured). Hashed server-side; never stored or returned.
512Omit for both.
active, unlinked Page size. Default 25, max 100.
1 <= x <= 100Default 0.
x >= 0Response
One page of Secured Accounts. NOTE: handler errors also arrive here (HTTP 200) as data.error — codes: api_key_required / invalid_api_key (401), partner_not_found (403), invalid_platform_user_ref / invalid_status (400), secured_accounts_unavailable (500).
Show child attributes
Show child attributes
