Quote the WHUF cost of restoring the current streak gap
GET
/contributions/whuf-streak-restore/quote
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/contributions/whuf-streak-restore/quote"), 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/contributions/whuf-streak-restore/quote"
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/contributions/whuf-streak-restore/quote") .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/contributions/whuf-streak-restore/quote', 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/contributions/whuf-streak-restore/quote';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/contributions/whuf-streak-restore/quote";
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) .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/contributions/whuf-streak-restore/quote \ --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/contributions/whuf-streak-restore/quoteLists the missed days and the streak they interrupted, with the full cost (costWei), the member’s WHUF credit balance (creditWei) and what is still due after that credit (dueWei). openRestore is a restore the member started and has not finished.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Successful response
Media typeapplication/json
object
cooldownEndsAt
required
string | null
costPerDayWhuf
required
integer
costWei
required
integer format: int64
costWhuf
required
integer
creditWei
required
integer format: int64
dueWei
required
integer format: int64
maxDays
required
integer
missedDays
required
Array<string>
openRestore
required
previousStreakDays
required
integer
resultingStreakDays
required
integer
status
required
string
Example
{ "status": "available"}Authorization not provided
Media typeapplication/json
Authorization not provided error (401)
The error information
object
message
required
The error message
string
code
required
The error code
string
issues
An array of issues that were responsible for the error
Array<object>
object
message
required
string
Example
{ "code": "UNAUTHORIZED", "message": "Authorization not provided", "issues": []}Insufficient access
Media typeapplication/json
Insufficient access error (403)
The error information
object
message
required
The error message
string
code
required
The error code
string
issues
An array of issues that were responsible for the error
Array<object>
object
message
required
string
Example
{ "code": "FORBIDDEN", "message": "Insufficient access", "issues": []}Internal server error
Media typeapplication/json
Internal server error error (500)
The error information
object
message
required
The error message
string
code
required
The error code
string
issues
An array of issues that were responsible for the error
Array<object>
object
message
required
string
Example
{ "code": "INTERNAL_SERVER_ERROR", "message": "Internal server error", "issues": []}