Get the caller’s protected vouches
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Get, RequestUri = new Uri("https://api.ethos.network/api/v2/vouches/protected?profileId=1&limit=50"), Headers = { { "X-Ethos-Api-Key", "<X-Ethos-Api-Key>" }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://api.ethos.network/api/v2/vouches/protected?profileId=1&limit=50"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Ethos-Api-Key", "<X-Ethos-Api-Key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder() .url("https://api.ethos.network/api/v2/vouches/protected?profileId=1&limit=50") .get() .addHeader("X-Ethos-Api-Key", "<X-Ethos-Api-Key>") .build();
Response response = client.newCall(request).execute();import axios from 'axios';
const options = { method: 'GET', url: 'https://api.ethos.network/api/v2/vouches/protected', params: {profileId: '1', limit: '50'}, headers: {'X-Ethos-Api-Key': '<X-Ethos-Api-Key>'}};
try { const { data } = await axios.request(options); console.log(data);} catch (error) { console.error(error);}const url = 'https://api.ethos.network/api/v2/vouches/protected?profileId=1&limit=50';const options = {method: 'GET', headers: {'X-Ethos-Api-Key': '<X-Ethos-Api-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}use reqwest;
#[tokio::main]pub async fn main() { let url = "https://api.ethos.network/api/v2/vouches/protected";
let querystring = [ ("profileId", "1"), ("limit", "50"), ];
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("X-Ethos-Api-Key", "<X-Ethos-Api-Key>".parse().unwrap());
let client = reqwest::Client::new(); let response = client.get(url) .query(&querystring) .headers(headers) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request GET \ --url 'https://api.ethos.network/api/v2/vouches/protected?profileId=1&limit=50' \ --header 'X-Ethos-Api-Key: <X-Ethos-Api-Key>'wget --quiet \ --method GET \ --header 'X-Ethos-Api-Key: <X-Ethos-Api-Key>' \ --output-document \ - 'https://api.ethos.network/api/v2/vouches/protected?profileId=1&limit=50'List the vouches that you made before WHUF started. You have not converted these vouches to WHUF yet. Cursor-paginated, newest vouch id first. Each item carries two amounts: stakedWei is the amount frozen at the snapshot, and liveBalanceWei is the current V1 balance. You can convert the vouch to WHUF, or vouch again if you already removed it. > ⚠️ Warning: This is a beta endpoint. It is not guaranteed to be stable and may change or break without notice.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Responses
Section titled “Responses”Successful response
object
object
Ethereum address (0x-prefixed, 20 bytes)
object
object
object
object
object
@deprecated Native-currency lifetime totals only. Use stats.vouchTotals (per-token). Removed after 2026-10-20.
object
object
object
object
object
object
Example
{ "values": [ { "state": "live", "subjectUser": { "status": "ACTIVE", "humanVerificationStatus": "REQUESTED", "stats": { "vouchTotals": [ { "token": { "id": "eth" } } ], "whufGuarantee": { "status": "active" } } } } ]}Invalid input data
The error information
object
The error message
The error code
An array of issues that were responsible for the error
object
Example
{ "code": "BAD_REQUEST", "message": "Invalid input data", "issues": []}Authorization not provided
The error information
object
The error message
The error code
An array of issues that were responsible for the error
object
Example
{ "code": "UNAUTHORIZED", "message": "Authorization not provided", "issues": []}Insufficient access
The error information
object
The error message
The error code
An array of issues that were responsible for the error
object
Example
{ "code": "FORBIDDEN", "message": "Insufficient access", "issues": []}Not found
The error information
object
The error message
The error code
An array of issues that were responsible for the error
object
Example
{ "code": "NOT_FOUND", "message": "Not found", "issues": []}Internal server error
The error information
object
The error message
The error code
An array of issues that were responsible for the error
object
Example
{ "code": "INTERNAL_SERVER_ERROR", "message": "Internal server error", "issues": []}