Get the active vouch the caller already holds on a subject
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/pair-state?subjectUserkey=example"), 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/pair-state?subjectUserkey=example"
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/pair-state?subjectUserkey=example") .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/pair-state', params: {subjectUserkey: 'example'}, 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/pair-state?subjectUserkey=example';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/pair-state";
let querystring = [ ("subjectUserkey", "example"), ];
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/pair-state?subjectUserkey=example' \ --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/pair-state?subjectUserkey=example'Answers for the pair, not for one encoding: every wallet the caller holds is checked against every userkey of the subject, across both vouch versions. The author is always the authenticated caller, so the answer only ever describes the caller’s own vouch. Use it before offering to vouch — a non-none answer means the V2 write paths that run the pair rule would refuse a new vouch, and the existing vouch is the one to increase or convert. > ⚠️ 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
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": []}