Yatiñanaka uñt’ayaña Kamachiqanak
Suma, jayaña ukat thaya uñt'aña
Uñjasi kaxunäwi uñjkata, Lightning ukat yatiqañataki, uñst'añataki qullqit uñjañataki, utjaskir uñjañataki, jisa yatichañataki, ukat uñjañatakiti.
Aka pankax maquinat jaqukipatawa, ukhamat jan ch’amäñapataki. Inglés arut originalax uka versión ukawa.
Qillqata ch'amanchaña
Jumanak jaya k'umi sumatawi, ukat uñjasi uka k'uychi munañanakax k'umapachäwi.
GET https://nymbot.ai/api/v1/credits/balance — API key uñt'añ muni. POST llkirawayiwa, jisaqirinakampi kunsatxa.
balance janpacha qullqi aka paynaka Bitcoin qullqi ukanaka uñt'añataki,
sapa lurawinakax mä qullqi uñt'añanakawa (null chunka ukax jikhata k'uñataxi. Askax
k'uchinaka ukat satsakanwa, ukhamaw saltawinaka uñacht'asi. key juk'ampi uñt'ayi
munata. Juk'ampi ukan t'aqasa jark'ata utjaskirawa, ukatxa saltañataki uñjasiñataki uñjaskaki.
Tarkasiri
{
"balance": 49.18,
"balance_sats": 42037,
"standard": { "credits": 120.4, "sats": 1204 },
"pro": { "credits": 408.33, "sats": 40833 },
"key": {
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"limit_sats": 20000,
"period_used_sats": 3412,
"total_used_sats": 18230,
"reset_period": "monthly",
"reset_at": "2026-10-01T00:00:00Z"
}
}
| Kamachi | Maykat? |
|---|---|
401 | Ch'uqi jank'atï, janiw yatiqäkiti, q'itiyäwi ukana p'iqitayäwi. |
cURL
curl https://nymbot.ai/api/v1/credits/balance \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os
import requests
res = requests.get(
"https://nymbot.ai/api/v1/credits/balance",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
)
balance = res.json()
print(balance["standard"]["sats"], balance["pro"]["sats"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/credits/balance", {
headers: { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY },
});
const balance = await res.json();
console.log(balance.standard.sats, balance.pro.sats);
Qullqi chaskiytaki yurit jilayiri ukanaka
Kunjamasa qullqi sartañäni, uñt'awi ukanakax. Lightning sapa sarnaqäwi ukanakaw.
GET https://nymbot.ai/api/v1/topup/payment-methods — jani mayatllataki.
Jach'a ch'uqi yanapt'äwi 10 tikim jik'i 1,000,000 sats; Pro yanapt'äwiwa mä Pro kreydu juk'amp tukuyañ muni, ukatxa
100 sats ukan qallta. Dólar sapa limitonaka Bitcoin qullqi ukan yanapt'äwinakampiwayi. bulk_bonus jisa jach'a ch'uqi ch'uqi yatiqawinaka: 10%, 15% ukhamachu 20% janiwa standard ch'uqi ch'uqi 500, 1,000 ukhamachu 5,000 sats ukanakaw, ukat Pro ch'uqi ch'uqi 5,000, 10,000 ukhamachu 50,000 sats ukanakaw.
Tarkasiri
{
"supported_methods": [
{
"method": "btc-lightning",
"display_name": "Bitcoin Lightning",
"supported_currencies": ["SATS", "USD", "BTC"],
"limits": {
"SATS": { "min": 10, "max": 1000000 },
"USD": { "min": 0.02, "max": 1170 },
"BTC": { "min": 1e-7, "max": 0.01 }
},
"tiers": ["standard", "pro"],
"default_tier": "pro",
"tier_min_sats": { "standard": 10, "pro": 100 },
"sats_per_credit": { "standard": 10, "pro": 100 },
"bulk_bonus": [
{ "bonus": 0.1, "standard_sats": 500, "pro_sats": 5000 },
{ "bonus": 0.15, "standard_sats": 1000, "pro_sats": 10000 },
{ "bonus": 0.2, "standard_sats": 5000, "pro_sats": 50000 }
]
}
]
}
cURL
curl https://nymbot.ai/api/v1/topup/payment-methods
Python
import requests
methods = requests.get("https://nymbot.ai/api/v1/topup/payment-methods").json()
print(methods["supported_methods"][0]["limits"])
JavaScript
const methods = await (await fetch("https://nymbot.ai/api/v1/topup/payment-methods")).json();
console.log(methods.supported_methods[0].limits);
Lightning ukama qullu utjañani
Lightning factura uñacht'asipxani uka nym ukarwa yatiqirinaka uñt'ayapxani. Kunsam Lightning qhipu ukanakaw payitayapxäxm, ukanawa, uñacht'asipxañani k’umapañataki uka k’uqi ch’amanchañataki.
POST https://nymbot.ai/api/v1/topup/create/btc-lightning — API key uñt'añ muni.
| Chakra | Jakawi | Yatiqañ munata | Yatichäwi |
|---|---|---|---|
amount | yatak | Jïsa | Qawqha, uka currencySats uñchuy sapa yatiqata. |
currency | qillqa qala | Jisa ukhamaraki | SATS (juk'ampi uñt'ata), USD ukama BTCDólares Bitcoin qullqi yatiqata ukan ukhama qillqata. |
tier | qillqa qala | Jisa ukhamaraki | pro (ukax janiwa) ukax standard¿Kuna mayachäwinakaruw k’uchuypäni? |
Yatiqaña creditu 10 sats ukat Pro creditu 100 satswa, ukat juk'amp q'umayachäwi;
credits kunatsa uka factura ukax jichhaki uñjaskitaxa uñt'ayapxani.
Tarkasiri
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"payment_request": "lnbc100u1p5...",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": "2026-09-30T09:27:00Z",
"status": "pending"
}
| Kamachi | Maykat? |
|---|---|
400 | Kaksi metodu ñaniru (unsupported_method), amuyt'asiñanakana mä qullqi (unsupported_currency) ukat tier, jan utji qullqi, ukax jisk'achanaka qullqi (amount_too_small), 1,000,000 sats wali (amount_too_large) ukax Lightning wallet ukax jach'uyapata (amount_out_of_range). |
429 | Aka nym uñt'ataki kuskari 60 qillqata, ukax aka jakun uñt'ataki 120, mä saqan jark'ata (*rate_limit_exceeded, -mpi Retry-After). |
502 | Jichhax wali walja k'irinaka uñjaskata kitiwa (invoice_unavailable, -mpi Retry-After). |
cURL
curl https://nymbot.ai/api/v1/topup/create/btc-lightning \
-H "Authorization: Bearer $NYMBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount": 10000, "currency": "SATS", "tier": "pro"}'
Python
import os
import requests
res = requests.post(
"https://nymbot.ai/api/v1/topup/create/btc-lightning",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
json={"amount": 10000, "currency": "SATS", "tier": "pro"},
)
invoice = res.json()
print(invoice["payment_request"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/topup/create/btc-lightning", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.NYMBOT_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({ amount: 10000, currency: "SATS", tier: "pro" }),
});
const invoice = await res.json();
console.log(invoice.payment_request);
Saldu uñjasiña
Kunjamasa factura pag'asitaxa waliwa askitaxa ukatxa, paytapata, kuraqana lurañani. Qillqata uñt'asiñaxa kuraqanaka uñt'asiñawa, paytapata, uka t'aqhisiñax ukan uñt'asiñakama. creditedNayra uñjaskiskatäni
uyt'asipxañani: k'umapachawa k'uqi uñakipxi, askha jark'añataki uñjaskisipxañani.
GET https://nymbot.ai/api/v1/topup/status/{invoice_id} — factura luraqit nym ukanax katuqañ muni.
status munaskiwa pending (juk'ampi payi mä k'utu), paid (payata, ukampis janiw qillqt'ata kanku; ukanakax jichhax uñjasi), credited (kunasi qullqi uñt'äkispas) ukhamati expired (juk'umata
pacha). Saldo ukanaka uka tier ukanakakiwa, uka invoice ukampi jakhst'añataki.
Tarkasiri
{
"invoice_id": "b7d41e0c95a2f38e6c1d0e9a4b7f2c61d3e8a05f9b2c4d7e1a6f3b8c0d5e2a9f4",
"status": "credited",
"amount_sats": 10000,
"credits": 115,
"tier": "pro",
"expires_at": null,
"balance_credits": 523.33,
"balance_sats": 52333
}
| Kamachi | Maykat? |
|---|---|
400 | Id ukax create ukan lurat 64-character id ukax waliw jani. |
404 | Jani factura uñjaskiti ukax id ukataki sutimaxata (*invoice_not_found). |
cURL
curl https://nymbot.ai/api/v1/topup/status/$INVOICE_ID \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os, time
import requests
headers = {"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]}
url = "https://nymbot.ai/api/v1/topup/status/" + invoice["invoice_id"]
while True:
status = requests.get(url, headers=headers).json()["status"]
if status in ("credited", "expired"):
break
time.sleep(3)
print(status)
JavaScript
const headers = { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY };
const url = "https://nymbot.ai/api/v1/topup/status/" + invoice.invoice_id;
let status;
do {
await new Promise((r) => setTimeout(r, 3000));
status = (await (await fetch(url, { headers })).json()).status;
} while (status !== "credited" && status !== "expired");
console.log(status);
Yatichäwi uñjasiña
Jakis tuqis thakhi: kunatäkisa, kunäkisa uka modelo, qhawqha token ukat qawqha ch'uqi. Prompts ukat jark'añanak xa ukhamakiwa uñt'ayapxi, ukampis jan uñt'ayapxi. Thakixin 90 uru uñt'ayapxi, mä ch'iqatäkisa uñt'äwi uñkat. Ukapach jank'ataxa uñt'ayapxi.
GET https://nymbot.ai/api/v1/queries/history — API key ukan jark'añataki, ukan aski ukat uka katuqirinaka uñjaskî, ukhamaraki a markatäwi amuyt'ata nim nym-atx, kullkanaka uñjiri.
| Chakra | Jakawi | Yatiqañ munata | Yatichäwi |
|---|---|---|---|
page | númuru (yit'atäwi) | Jisa ukhamaraki | Yatiqaña 1, juk'amp 1,000; aski pachanakaqa... 400 invalid_value. |
page_count | númuru (yit'atäwi) | Jisa ukhamaraki | Pachañax pacha ukax. Jisa 20, juk'amp 100. |
start_dateend_date | qillqa (yurichañataki) | Jisa ukhamaraki | ISO 8601 pacha uka uñt'ayirinaka. |
model | qillqa (yurichañataki) | Jisa ukhamaraki | Nayraqat aka modelu. |
type | qillqa (yurichañataki) | Jisa ukhamaraki | chat, responses, messages, image, video, speech, transcription ukama embedding. |
all_keys | boolean (yarp'aña) | Jisa ukhamaraki | Uma ch'uqi uñacht'ata: true Mayacht'ata iysanakana k'iapu kullaka kullaka t'aqhasipxi. Qallta. false. |
key_id | qillqa (yurichañataki) | Jisa ukhamaraki | Sarnaqäwi uñt'atäwi ukatxa, ukatxa all_keys=truejanpacha jichaki ch'amarkit. |
Tarkasiri
{
"data": [
{
"id": "q_71c4e9a0",
"timestamp": "2026-09-30T08:12:00Z",
"model": "anthropic/claude-sonnet-5",
"type": "chat",
"input_tokens": 1240,
"output_tokens": 380,
"cached_tokens": 0,
"cost_sats": 16.2,
"cost_usd": 0.01895,
"balance": "pro",
"key_id": "4f0c9a1be27d3856",
"web_search": false,
"status": "ok"
}
],
"pagination": { "page": 1, "page_count": 20, "total": 311, "total_pages": 16 }
}
cURL
curl "https://nymbot.ai/api/v1/queries/history?page_count=50&type=chat" \
-H "Authorization: Bearer $NYMBOT_API_KEY"
Python
import os
import requests
res = requests.get(
"https://nymbot.ai/api/v1/queries/history",
headers={"Authorization": "Bearer " + os.environ["NYMBOT_API_KEY"]},
params={"page_count": 50, "type": "chat"},
)
for row in res.json()["data"]:
print(row["timestamp"], row["model"], row["cost_sats"])
JavaScript
const res = await fetch("https://nymbot.ai/api/v1/queries/history?page_count=50&type=chat", {
headers: { "Authorization": "Bearer " + process.env.NYMBOT_API_KEY },
});
for (const row of (await res.json()).data) console.log(row.timestamp, row.model, row.cost_sats);
Qillqata jach'anaka markaña
Chaskiypax jisk'achaña, uñt'aña ukat qhiparayaña, aka akaunt suma uñt'äwi ukat automatic top-ups API key ukhamaki ukankiraki. Jumanakarax nym signature ukhamaki uñt'äwinakax uñjaskipxi, ukampis, jisk'achata jisk'achäwi ukanakax ukaraki uñjaskipxi, ukat janiw mä wali jisk'añachata jisk'achäwi ukat janiw jupanakax ukaraki jisk'achañäkiti.
Aplikasa jumanakax uka luray: kunjama ukanaka... API sheet uka endpoint-nayatak uñjaski. Jumanak uka pachanaka uñt'añakakiwa uka uñjaskir ukan jark'aqañataki.
Sarnaqäwixa Nostr ukanaxax kind 27235 (NIP-98) ukanawa, base64-encoded ukan sumtawayi ukan...
Authorization Qallta arunampi Nostr Nayra ukan:
Taki ukanaka
{
"kind": 27235,
"created_at": 1790726400,
"tags": [
["u", "https://nymbot.ai/api/v1/keys"],
["method", "POST"],
["nonce", "9c4e21f07a3b...16 random bytes in hex"],
["payload", "3f1a0d7c8e2b...sha256 of the exact request body in hex"]
],
"content": "",
"pubkey": "your public key in hex",
"id": "...",
"sig": "..."
}
ukirat uñt'awi URL-jawa, query string uñt'atäwi ukanax jark'atäna, uñt'atäna ukhana uñt'awitäkiniwa.methodHTTP ukan waysir uka uñt'äwiwa.payloadraw request body-pachax SHA-256-ax, hex ukanwa. Ukax uka thaqhatätwaPOSTukatPATCH, ukatxa uñayañ munat jach'a amuyunaka uksanxa, uka uñayañ munata ukanakax uñjasiñapuniwa ukaru hash uñt'ayañ munat ukanakampi ch'amanchata uñjasiñapuniwa.created_atserver server ukan pacha 60 ch'uqi pachani uñt'añawa.- Jisa ukanaka mayat kïn, a
GETkunatpacha, ukax janiw mä k'umara qillqata ukanakax uñt'añäkiti. Mayir ukanakax jumanakax kuskantpacha qillqt'añäkipxi. Kunatpacha mä...nonceuripänaka mäq amuyunaka uñjasiñapataki ukax mayän qalltawayatäwinakax mayaniw uñjasiñapajja. - Qillqata sarnaqäwin markax 64 KB mayachatawa, ukat mä marka munapuni.
Content-Type: application/json.
Jan utjata sapa markas jichhax uñjasi 401 missing_nostr_auth; mayläntäwa
yarakatata, yarakatata, jisk'a katu, ukana jakasipata URL, method ukana jatha ukana jach'a jisk'a jupä ukana katu ukat qhipatata
invalid_nostr_auth, mensahen chāwtäwimpi; mä kimsachataxa jik't'asini
nostr_auth_replayed. Aka endpoints ukata yatichaña API key ukax jichhata k'uchuyatäxi. Signature ukax jichhata uñt'añataki k'uchuyatäxi juk'amp uñt'añataki, ukatxa kawkich wali mayt'ayata k'uchuyata aski 30 jisk'a ch'amanchañataki minutu mä uka jiskañataki (IPv6 address ukax ukaru /64 ukataki k'uchuyatäxi); ukatxa uka k'uchuyatata ukan uñt'ayata jisk'aña ukan uka ukan uñt'ayata uka uka uñt'ayata uka uñt'ayata uka uñt'ayata uka uñt'ayata uka uñt'ayata uka uñt'ayata uka uñt'ayata uka uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ayata uñt'ay 429 jakampis
Retry-After.
Browsers ukanakiwa uñjaskat uñjasipt’anakaw Nymbot ukanakakiw uñjasipt’a 👁️🗨️https://nymbot.ai,
https://nymchat.app uñt'anaka ukananakaw. Akax wali aski kimsanakanxa CORS
uñt'anaka ukhamata uñjaski, ukatxa ukanakax uñt'añäkipxi. Scripts ukatna native apps, ukanakax uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi uñt'anaka ukanakax uñjaski uñt'añäkipxi u
Origin, jan ukax janiw uñjachiñanakax jark'atäkiti.
Qillqatayäwin amuyayäwin mä nym uñatäwi qillqata (the nsec), ukanax qullt'ayäspun,
llamañäwiman, qillqatanakampi sumäkipäkampi ukat jisk'a qullqitampi: Sutimax, qillqatanakax ukat qullqimax. Aka ukanax k’uñt’ata uñt’ata machaq ukanakaruw uñt’añäni, environment ukatwa wiksa uñt’añäni, ukat ukax file ukiru uñt’añatakiw juk'amp uñt'añäni, ukat k'uñt'ata app ukim uñt'añäni.
Aka yanapirixtanakaxa uñachañanakax uñachaña uñt'atäwi uñachañanaka uñt'atañanakax uñt'atäwi uñt'atäwi uñachañanakax uñachaña uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañanakax uñt'atañ NOSTR_SECRET_HEX; cURL uka uñjasi uka uñchasi
nak kamachi-line ukanaka, ukanaka nsec uka hex
kamachïri, ukatxa sha256sum (macOS ukan, shasum -a 256).
cURL
nostr_auth() {
method="$1"; url="$2"; body="$3"
nonce=$(openssl rand -hex 16)
if [ -n "$body" ]; then
hash=$(printf '%s' "$body" | sha256sum | cut -d' ' -f1)
event=$(nak event --sec "$NOSTR_SECRET_HEX" -k 27235 -t "u=$url" -t "method=$method" -t "nonce=$nonce" -t "payload=$hash")
else
event=$(nak event --sec "$NOSTR_SECRET_HEX" -k 27235 -t "u=$url" -t "method=$method" -t "nonce=$nonce")
fi
printf 'Nostr %s' "$(printf '%s' "$event" | base64 | tr -d '\n')"
}
Python
# pip install coincurve requests
import base64, hashlib, json, os, time
from coincurve import PrivateKey, PublicKeyXOnly
SECRET = bytes.fromhex(os.environ["NOSTR_SECRET_HEX"])
def nostr_auth(method, url, body=b""):
pubkey = PublicKeyXOnly.from_secret(SECRET).format().hex()
tags = [["u", url], ["method", method], ["nonce", os.urandom(16).hex()]]
if body:
tags.append(["payload", hashlib.sha256(body).hexdigest()])
created_at = int(time.time())
serialized = json.dumps([0, pubkey, created_at, 27235, tags, ""], separators=(",", ":"), ensure_ascii=False)
event_id = hashlib.sha256(serialized.encode()).digest()
event = {
"id": event_id.hex(),
"pubkey": pubkey,
"created_at": created_at,
"kind": 27235,
"tags": tags,
"content": "",
"sig": PrivateKey(SECRET).sign_schnorr(event_id).hex(),
}
return "Nostr " + base64.b64encode(json.dumps(event).encode()).decode()
JavaScript
// npm install nostr-tools
import { createHash, randomBytes } from "node:crypto";
import { finalizeEvent } from "nostr-tools/pure";
const secret = Buffer.from(process.env.NOSTR_SECRET_HEX, "hex");
export function nostrAuth(method, url, body = "") {
const tags = [["u", url], ["method", method], ["nonce", randomBytes(16).toString("hex")]];
if (body) tags.push(["payload", createHash("sha256").update(body).digest("hex")]);
const event = finalizeEvent(
{ kind: 27235, created_at: Math.floor(Date.now() / 1000), tags, content: "" },
secret,
);
return "Nostr " + Buffer.from(JSON.stringify(event)).toString("base64");
}
Qillqata suma mayachata
App API ch'irin uka qallta uñayki: jumanak taypi ch'amanchäwi, paynaka aka k'uchunaka, qhawqha ch'amanchäwinakax jikhunipxamänaka (jan ukax ch'ixa k'uchunaka), ukat... amuyt’asipxañanakataki amuyt’ayäwi amuyunaka, ukhamati
null server jani uñt'asipati ukhaxa.
GET https://nymbot.ai/api/v1/account — munasi ḻatx markatäwi amuyt'ata.
Tarkasiri
{
"data": {
"pubkey": "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d",
"balances": {
"standard": { "credits": 120.4, "sats": 1204 },
"pro": { "credits": 408.33, "sats": 40833 }
},
"keys_active": 3,
"nwc_auto_topup": {
"connected": true, "threshold_sats": 5000, "topup_sats": 20000, "tier": "pro",
"last_topup_at": null, "last_topup_sats": null, "last_error": null
}
}
}
cURL
URL=https://nymbot.ai/api/v1/account
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/account"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/account";
const res = await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } });
console.log(await res.json());
Llikiñanak mäqataña
App's key list ukat uñjasiptanaka. Jupina wali ukanaka uñjakätwa a markatata yupanakaJanpacha wali katuqi uñt'ayi ukanax, ISO 8601 ukanakax ukat jisk'a satitayaku ukanakax ukanakax:
Ch'uqi uñt'awi
{
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"hint": "sk-nymbot-Qm7x…c2Lw",
"limit_sats": 20000,
"reset_period": "monthly",
"reset_at": "2026-10-01T00:00:00Z",
"expire_at": null,
"period_used_sats": 3412,
"total_used_sats": 18230,
"created_at": "2026-08-14T09:21:07Z",
"updated_at": "2026-09-02T17:40:55Z",
"last_used_at": "2026-09-30T08:12:00Z",
"revoked_at": null
}
hint Jan ukax aka mayachasätakiwa, jani ukax uñt'atakiwa. Aka mä murt'aqa
akinakakiw juk'amp uñt'ayata, mayar uñt'ayätäwi.
Ch'ujkinak listäwi
GET https://nymbot.ai/api/v1/keys — markata.
| Chakra | Jakawi | Yatiqañ munata | Yatichäwi |
|---|---|---|---|
include_revoked | boolean (yarp'aña) | Jisa ukhamaraki | Revokatawayat ch'amachäwinakaru k'umanchasiñani. Jani k'umanchasiñäkiti. false. |
Tarkasiri
{ "data": [ { "id": "4f0c9a1be27d3856", "name": "laptop scripts", "hint": "sk-nymbot-Qm7x…c2Lw", "...": "..." } ] }
cURL
URL=https://nymbot.ai/api/v1/keys
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys"
for key in requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json()["data"]:
print(key["id"], key["name"], key["period_used_sats"], key["limit_sats"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys";
const { data } = await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json();
for (const key of data) console.log(key.id, key.name, key.period_used_sats, key.limit_sats);
Qullqi aka uñt'añani
POST https://nymbot.ai/api/v1/keys — markata. Jiktanini 201.
| Chakra | Jakawi | Yatiqañ munata | Yatichäwi |
|---|---|---|---|
name | qillqa qala | Jïsa | 40 qillqata kankam, juk'amp uñjata ch'amanchatata uñjt'asitaxa (jisa ukat jisa janiw uñjatti). |
limit_sats | intejeru | Jisa ukhamaraki | Sats ukan ch'uqi qullqiq p'iqi, aka p'iqichata uñt'añäni, aka p'iqichata uñt'añäni. Juk'amp p'iqi ukhamaki jach'a ch'uqi qullqi qalltañataki. |
reset_period | qillqa qala | Jisa ukhamaraki | daily, weekly ukama monthlyThakiña uñakipäwi. limit_satsJan ukax jark'aqat qullqi jark'añatakiwa. |
expire_at | ch'isi ukatxa jichha ukatxa | Jisa ukhamaraki | Nayra ch'amasa uñt'awi jark'asina: ISO 8601 pacha, ukax 1970 uru ukhana millisecondis. |
Jawarkäwi (201)
{
"data": {
"id": "4f0c9a1be27d3856",
"name": "laptop scripts",
"hint": "sk-nymbot-Qm7x…c2Lw",
"limit_sats": 20000,
"reset_period": "monthly",
"key": "sk-nymbot-Qm7x...c2Lw",
"...": "the rest of the key object"
}
}
| Kamachi | Maykat? |
|---|---|
400 | Sapa aka sutipax janiw jark'atitaku utjaskiti ukhamati sapa suti sax jisk'achaskitawa; sapa suti sax jark'atitawa (duplicate_name); mä p'iqata ukax mä jisk'a juk'ampisäna, jisk'achata mayanitasa; mä reset pacha ukax janipuniwa p'iqata kiti, mä pacha p'iqata kiti mayatasa; mä pacha p'iqata kiti pacha pacha, mä jan amuyata killa (unknown_parameter); ukax 25 amuyunaka uñt'atawa (too_many_keys). |
429 | 60 k'uchit jaqipach uñjasi uñt'ata nym ukanakax, ukhamax 120 uñt'ata uka yatiyäwinakax, waranqa uru ukan (rate_limit_exceeded, -mpi Retry-After). |
cURL
URL=https://nymbot.ai/api/v1/keys
BODY='{"name":"laptop scripts","limit_sats":20000,"reset_period":"monthly"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json
import requests
url = "https://nymbot.ai/api/v1/keys"
body = json.dumps({"name": "laptop scripts", "limit_sats": 20000, "reset_period": "monthly"}).encode()
res = requests.post(
url,
data=body,
headers={"Authorization": nostr_auth("POST", url, body), "Content-Type": "application/json"},
)
print(res.json()["data"]["key"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys";
const body = JSON.stringify({ name: "laptop scripts", limit_sats: 20000, reset_period: "monthly" });
const res = await fetch(url, {
method: "POST",
headers: { "Authorization": nostrAuth("POST", url, body), "Content-Type": "application/json" },
body,
});
console.log((await res.json()).data.key);
May ch'amawix uñjaskïpacha
GET https://nymbot.ai/api/v1/keys/{id} — markata.
Kutichäwinaka {"data": {…}} Ch'allay jakawinampi, ukax 404
key_not_found kunataki jumanax jichay id ukim uñch'u k'uchunaka ukax janiw utjankiti.
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json()["data"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
console.log((await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json()).data);
Llank'aña mä ch'uch'a k'uch'at'aña
PATCH https://nymbot.ai/api/v1/keys/{id} — markata.
Kuskantay uka juk'ampitatawa name, limit_sats, reset_period ukat
expire_at, jan k'uchu uñt'awi uka ukatja key uñt'añataki uñjasi ukhana ukaru uñjañanakaki. null kamachiw
kamachïri: janiw juk'ampi taqpachäkiti, janiw jisk'achäkiti, janiw p'iqachäkiti. Jisk'achañataki pachataki uñjasiñax uñakipäwi ch'amanchata uñakipäwïrï.
Q’irisatäwi uñakipäwi ukax janiw uñjakipäkiti (400 key_revoked). Jildantawa
{"data": {…}} uyt'ata ch'usa uñakt'anakarakipt'atwa.
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
BODY='{"limit_sats":50000,"expire_at":null}'
curl -X PATCH "$URL" \
-H "Authorization: $(nostr_auth PATCH "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
body = json.dumps({"limit_sats": 50000, "expire_at": None}).encode()
res = requests.patch(
url,
data=body,
headers={"Authorization": nostr_auth("PATCH", url, body), "Content-Type": "application/json"},
)
print(res.json()["data"])
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
const body = JSON.stringify({ limit_sats: 50000, expire_at: null });
const res = await fetch(url, {
method: "PATCH",
headers: { "Authorization": nostrAuth("PATCH", url, body), "Content-Type": "application/json" },
body,
});
console.log((await res.json()).data);
Ch'amäkipxa ch'usañani
DELETE https://nymbot.ai/api/v1/keys/{id} — markata.
Llajtaypacha qillqatan nayra uka chhaqtan, jichhax jark'aqi. Uka uñt'ata ukan qhipan uñjaski ukan revoked_at sartatxa, ukat
uykañawa uñjasiñani include_revoked=trueJanäkakiñatakiwa janiw ukax jark'aqata kiti munañäkiti ukax jisk'achata uñakipaskakiwa. Ukhamaraki, janiñanäkisa kiti 50 pacha jark'ata ch'amanchata kitiwa qhipaqatakiw uñaychasi. Ukhamaraki, janiñanäkiki kitiw jisk'añchañäni.
Tarkasiri
{ "data": { "id": "4f0c9a1be27d3856", "revoked": true } }
cURL
URL=https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856
curl -X DELETE "$URL" -H "Authorization: $(nostr_auth DELETE "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856"
print(requests.delete(url, headers={"Authorization": nostr_auth("DELETE", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/keys/4f0c9a1be27d3856";
const res = await fetch(url, { method: "DELETE", headers: { "Authorization": nostrAuth("DELETE", url) } });
console.log(await res.json());
NWC janiw jark'añäkiti-upayata
Lightning wallet-sa Nostr Wallet Connect-ampi uñt'askta, ukat Nymbot k'uchunka uñt'askta ukanaka k'uchunaka uñt'aski API ukanaka uñt'aski ukanakax jichhax k'uchunakarakiwa; ukanaka uñt'asipxi. Ukanakax uñt'asipxi. markatäwi amuyt'ata.
Kamis amuyt'ayäna: API yatiqäwinaka uñacht'ayäta uñakipata p'iqiri uñakipata k'uchunakata uñakipata uñakipata walja uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñakipata uñ yatiyawipañax ukanawa yatiyäwi churänti.
Ch'axwa qhipu (connection string) ukan k'uchuyänapax amuyar uñjirinakar qullqit ch'amanchañatak uñjakirinaka uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñjaskir uñ pay_invoice.
Qhipaq ch'uqi uñt'ayachañani
POST https://nymbot.ai/api/v1/nwc-auto-topup/connect — markata.
| Chakra | Jakawi | Yatiqañ munata | Yatichäwi |
|---|---|---|---|
nwc_url | qillqa qala | Jïsa | Yatichatawi uñt'awi, qalltaña nostr+walletconnect://. Nymbot qhipana wallet uka uka uñjaskipxi get_info qhipantaya ukax yatichaña jikhari, ukat jisk'achata uka k'uchunata akañampi. |
threshold_sats | intejeru | Jïsa | Sats jisk'aña thaki ukanax, jichhu p'iqinakar uñt'asi. Alaxpacha 1,000. |
topup_sats | intejeru | Jïsa | Kunjamasa jark'añäkisa uka pachax. 1,000 irnaqäwi 1,000,000 sats ukanakampi. |
tier | qillqa qala | Jisa ukhamaraki | pro (ukax janiwa) ukax standard: aka sapa aka uñt’añataki ukat jich'a ch'amanchañataki. |
Tarkasiri
{
"data": {
"connected": true,
"threshold_sats": 5000,
"topup_sats": 20000,
"tier": "pro",
"last_topup_at": null,
"last_topup_sats": null,
"last_error": null
}
}
| Kamachi | Maykat? |
|---|---|
400 | Jani wali k’uñatäwi uksan (invalid_nwc_url); walqata relay ukanax jark'asipkibiti (nwc_unreachable) ukax k'irinaka mayachasipxta (nwc_rejected); uksat amuyt'añawa ukanax qullqit katuqañax wali jach'a k'uchunaka uñjaskichaskawa (nwc_missing_permission); ukax qhiparkäna amuyunaka ukhamat jisk'achata amuyunaka jisa. |
501 | Aka server ukan automatic top-ups jichax k'uchu kankuwa (nwc_unavailablePaya kaksi t'aqitanakaraki uñt'atawa. |
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup/connect
BODY='{"nwc_url":"nostr+walletconnect://...","threshold_sats":5000,"topup_sats":20000,"tier":"pro"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Python
import json, os
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup/connect"
body = json.dumps({
"nwc_url": os.environ["NWC_URL"],
"threshold_sats": 5000,
"topup_sats": 20000,
"tier": "pro",
}).encode()
res = requests.post(
url,
data=body,
headers={"Authorization": nostr_auth("POST", url, body), "Content-Type": "application/json"},
)
print(res.json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup/connect";
const body = JSON.stringify({
nwc_url: process.env.NWC_URL,
threshold_sats: 5000,
topup_sats: 20000,
tier: "pro",
});
const res = await fetch(url, {
method: "POST",
headers: { "Authorization": nostrAuth("POST", url, body), "Content-Type": "application/json" },
body,
});
console.log(await res.json());
Settinganaka mayachaskasna
GET https://nymbot.ai/api/v1/nwc-auto-topup — markata.
Kutichitwa jik'isiñanaka uñch'ayki, uka ukanwa connected: false uñjasi ukanakax waliwa
null wallet aka katuqasina ukax. Connection string ukax juk’ampis aka katuqasina.
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup
curl "$URL" -H "Authorization: $(nostr_auth GET "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup"
print(requests.get(url, headers={"Authorization": nostr_auth("GET", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup";
console.log(await (await fetch(url, { headers: { "Authorization": nostrAuth("GET", url) } })).json());
Q'uchuyaski
DELETE https://nymbot.ai/api/v1/nwc-auto-topup/connection — markata.
Yatiqata uñjasiñ jisk'achanaka ch'aqi. Janiw wali k'umanchañanakax lurapxäkiti. K'umapañataki, qullqi ukanax uñjasiñax ch'aqichista.
Tarkasiri
{ "data": { "connected": false, "threshold_sats": null, "topup_sats": null, "tier": null, "last_topup_at": null, "last_topup_sats": null, "last_error": null } }
cURL
URL=https://nymbot.ai/api/v1/nwc-auto-topup/connection
curl -X DELETE "$URL" -H "Authorization: $(nostr_auth DELETE "$URL")"
Python
import requests
url = "https://nymbot.ai/api/v1/nwc-auto-topup/connection"
print(requests.delete(url, headers={"Authorization": nostr_auth("DELETE", url)}).json())
JavaScript
const url = "https://nymbot.ai/api/v1/nwc-auto-topup/connection";
const res = await fetch(url, { method: "DELETE", headers: { "Authorization": nostrAuth("DELETE", url) } });
console.log(await res.json());
Jispay juk'ampi jark'añataki kulla ch'uqi jark'añataki
Fijat pacha k'uchunaka Lightning ukat juk'ampi aski pacha payata sapa utjaskiraki payi, ch'amachiri ukhamaki,
qillqata ukanakini ukhamaki ukat qullqi ukanakini ukhamaki: POST /images/generations, POST /images/edits,
POST /videos, POST /audio/speech, POST /audio/transcriptions,
POST /audio/translations ukat POST /embeddings. Chat, Responses uka
Messages ukanaka katuqawinaka ukhamanïskas. Katuqawi katuqawiniwa salta,
pagu katuqawi uñt'atäni ukhamaraki; uka
pagu sarnaqäwi ukanakax juk'amp jark'añatakiwa katuqawini ukhama.
Nymbot aruskipipxi aka pacha yatiyawixinaka aka katuqata backend-anakataki: Lightning Labs'
L402 (sarnaqäwi uñt'ata ukanax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata ukanakax jichhax uñt'ata LSAT) ukat IETF qillqata
Paguva HTTP authentication uñanchäwi uka ukan utjaskinätaki lightning métodu ukat
charge amuy. Amuytäkipän ukataki.
Machi manäkista qullqi churay ukhamachaw yakt'ata API_L402_SECRET 32 random bytes walja qhipiriwa, hex uka (64 characters) ukana base64 (44). Ukax lurasiñäni openssl rand -hex 32.
Jichhaka uñjjañataki uñakipata uñjjañaqa uñakt'asipxi. Ukanaka uñjjañatakix, ukanxa uñjjaña ukanakax ukatxa uñakipxi. API_L402_SECRET_PREVIOUS pacha juk'amp juk'amp uruwit: credentials, status URLs ukat
ch'axwañanakax uka yatiyäwiruwa uñjaskañäni jark'añataki.
Nayra lurañax
Ama k'uchutu uksax uñt'ayätäxa uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi ukhax uñt'äwi u Authorization header. Ukaxa wali true utjaskixi, jani mayn uñt'as, ukatxa
kunsat kunsat uñjaskta 402 Payment Required Uka ch'amachäwi uka uñacht’äwin ch’amanchäwina: mä jiska ch’amanchäwi ukan utji, 10 sats mä standard credit ukat jan ukax 100 sats mä Pro credit ukat uñt'ata, ukax mä sat ukat uñt'ata (mä sat ukat jan ukax 0.05 credit ukan ch'amanchäwin utji). Ukax treg ukan utji. WWW-Authenticate uma factura aka uñt'añataki thaya sarnaqäwinaka:
HTTP/1.1 402 Payment Required
Content-Type: application/problem+json; charset=utf-8
Cache-Control: no-store
WWW-Authenticate: L402 macaroon="AgJC...", invoice="lnbc2370n1..."
WWW-Authenticate: LSAT macaroon="AgJC...", invoice="lnbc2370n1..."
WWW-Authenticate: Payment id="kM9x...", realm="nymbot", method="lightning", intent="charge",
request="eyJhbW91bnQiOiIyMzciLC...", description="Nymbot API POST /images/generations (237 sats)",
digest="sha-256=:X48E9qOokqqrvdts8nOJRJN3OWDUoyWxBf7kbu9DBPE=:", expires="2026-09-30T12:15:00.000Z",
opaque="eyJlbmRwb2ludCI6IlBPU1QgL2ltYWdlcy9nZW5lcmF0aW9ucyJ9"
{
"type": "https://paymentauth.org/problems/payment-required",
"title": "Payment Required",
"status": 402,
"detail": "This request costs 237 sats. Pay the Lightning invoice, then send the identical request again ...",
"challengeId": "kM9x...",
"amount_sats": 237,
"invoice": "lnbc2370n1...",
"payment_hash": "9db1370f...",
"expires_at": "2026-09-30T12:15:00.000Z",
"error": { "message": "This request costs 237 sats. ...", "type": "payment_required", "code": "payment_required", "param": null }
}
Pagaray request parameterwa base64url JSON:
{"amount":"237","currency":"sat","methodDetails":{"invoice":"lnbc...","network":"mainnet","paymentHash":"..."}}.
Jak'u uñax utjaskiri ukanaka uñt'añataki, uka ukanaki... Content-Type (munasip media jisa ukhamarux,
multipart ukanax, boundary ukanax) ukatxa jumax tukuyawayt jumatayänwa SHA-256 ukanax, ukatxa 15
minutuwa tächin. Pagt’asita ukax, uka yatiqañataki... jitu katu yuspay jichhaki: aka uñjasixta
Content-Type uñachasipxa uka JSON bytes-xa, ukax multipart endpoints-katit (*/images/edits, /audio/transcriptions, /audio/translations)
äkipaki multipart janiw sapa markanäkax wali uñtäkibikänti. HTTP librisax sapa markanaka form uñch'ayapxäni, ukatxa sapa markanaka uñch'ayata ukhaxa, sapa markanaka janiw uñch'ayäkiti; sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa, sapa markanaka uñch'ayata ukhaxa,
Jani amuyatäwi sax janiw mayacht'añäni (IPv6 address sax /64 ukanakampi amuyatawa).
Jani amuyatäwi ukanakax walja k'umichatawa, minutu katu qhipa jisk'a ukanakampi;
Nymbot juk'amp amuyatäwinakampiwa k'umichata,
janiw mayacht'añäni ukanakax qhipatäkini. 429 jakampis Retry-After, juk'ampi qallta uratäta. Juk'ampi uratäta
kimsan qillqatan p'iqantanak uñt'atäna key uka wali ukat mä credencial ukataki, juk'ampi qallta uratäta mä address uka qhipataki minutu waliki 120
uñt'atäna ukanakax juk'ampi qallta uratäna. Credencialax qallta uñt'ata, ukat mä request ukanax Content-Type jan ukax janiw utkjuti application/json (uñji
multipart/form-data (juk'unaka uñt'añataki) ukan ukhax uñakipañ muni: 415 ukax janiw jakhunaka
uñjawipas utjkiti.
Embeddings juk'amp pacha qullqi ch'amanchasipxi input ukhamat tokens juk'amp qillqata uñch'ayata, 1.5× pacha uñch'ayata, pacha qillqata uñt'ata qhiparux uñt'añataki. Kunatit juk'amp tokens uñt'ata qullqi pacha ch'amanchasipxi, ukat jan uñt'ata qullqi qhiparux jikisiñjamanti a Token debolución.
Pagu churaskaña
Qullqi chakuytay factura ukanampi kunsan Lightning wallet ukanampi. Wallet ukax preimage ukat katuqa, 64 hex characters. Kunjamätis ukanakampi ukaru uñacht'añani:
| Amuyt'äwi | Yatiqawi |
|---|---|
| L402 | Authorization: L402 <macaroon>:<preimage> (LSAT Llamanchasakis) |
| Paguva | Authorization: Payment <base64url JSON>, JSON mayt'as {"challenge": {every parameter of the challenge, as sent}, "payload": {"preimage": "<hex>"}} |
Pacha jupata utjaska askha, kawkima llave ukhamitwa askt'asi, jan ukax... nymbot
utamipaxa saltaña kamayäwi ukax janiw utjkiti: {"payment": "l402", "tier": "pro", "paid_sats": 237,
"charged_sats": 237}, ukat janiwa uñjaski X-Nymbot-Balance-Sats header. A
pagu katuqata qullqi uñt'ayampi uñt'atata amuyt'ata uka amuyt'ata ukan jichha uñt'ayañani Payment-Receipt header (base64url
JSON ukan ch'axwa id, p'iqisiri hash ukan reference, status ukat
timestamp). Pacha jiskañanakax janiw nym uñt’añäkiti, ukatxa janiw uñakipäkiti
jisk'a uñjasiñanakampi.
| Kamachi | Maykat? |
|---|---|
402 payment_already_used | Jark'atäwi aka jark'atäwin aka utjaskis. Jaqillax nayra k'uchunaka jark'aña munata, ukatxa... lnget jamp'aki payiwa. |
402 payment_mismatch | Uka credencialxa wali uñakipata ukanakaxakiw uñt'ata, Content-Type junjat jichäwi, ukax jichhax aka askha qullqi sapa mayani chikitakiwa. Aka askhax askiripax amuyt'ayi; qullqix jisk'a mayatix, payat khuyapayataxa uka qullqix jark'askiwa Token debolución (refund_token ukat refund_sats kurun ukan. |
402 payment_expired | Pachañax qallt’asitax pacha 15 minutunaka katuqasitawa. Thaya lurañax juk’amp uñjayi. Preimage ukax payata saskisata uñjaskta, payata ukax janiwa k’uchunaka uñjaskti. Token debolución (refund_token ukat refund_sats kurkun ukan), mäpach; sartäwi usatäwit. |
401 invalid_preimage | Preimage uka invoice payment hash ukanakampi juk'ampaniwa jan ukaxäni. Payment ukax jan utjasi. |
401 invalid_payment_credential | Kullka uñt'awi uñt'atäkipawa, Nymbot uñt'ayäwi ukax ch'amanchatawa, ukhamax Nymbot juk'amp pago uñt'ayäwi markanaka uñt'ayätäwi. Macaroon uñt'ayäwi ukax Nymbot uñt'ayäwinakax jark'atawa, ukhamax ch'amanchata uñt'ayäwinakax jisk'achatawa. |
429 rate_limit_exceeded | Khit ukanaka ukhamaraki: 30 kimsat qillqata ukanaka jan verfikayaña mä minutun ukanakampi uñjasi, ukhamaraki mä refund token mä minutun 60 kimsat qillqata ukanakampi uñjasi. Markaskta Retry-After. |
cURL
BODY='{"model":"nano-banana","prompt":"a lighthouse at dusk","response_format":"b64_json"}'
URL=https://nymbot.ai/api/v1/images/generations
# 1. Get the challenge
CH=$(curl -s -D - -o /dev/null "$URL" -H "Content-Type: application/json" -d "$BODY" | grep -i '^www-authenticate: L402')
MAC=$(echo "$CH" | sed -E 's/.*macaroon="([^"]+)".*/\1/')
INVOICE=$(echo "$CH" | sed -E 's/.*invoice="([^"]+)".*/\1/')
# 2. Pay $INVOICE with your wallet and copy the preimage
PREIMAGE=...
# 3. Send the identical request with the credential
curl "$URL" -H "Content-Type: application/json" -H "Authorization: L402 $MAC:$PREIMAGE" -d "$BODY"
lnget
# lnget (Lightning Labs) pays L402 challenges from your own lnd node and retries for you
lnget -X POST -H "Content-Type: application/json" \
-d '{"model":"nano-banana","prompt":"a lighthouse at dusk","response_format":"b64_json"}' \
https://nymbot.ai/api/v1/images/generations
Python
import base64, json, re
import requests
url = "https://nymbot.ai/api/v1/images/generations"
body = json.dumps({"model": "nano-banana", "prompt": "a lighthouse at dusk", "response_format": "b64_json"}).encode()
headers = {"Content-Type": "application/json"}
challenge = requests.post(url, data=body, headers=headers)
assert challenge.status_code == 402
info = challenge.json()
print("Pay", info["amount_sats"], "sats:", info["invoice"])
preimage = pay_with_your_wallet(info["invoice"]) # 64 hex characters
# L402
mac = re.search(r'L402 macaroon="([^"]+)"', challenge.headers["WWW-Authenticate"]).group(1)
res = requests.post(url, data=body, headers={**headers, "Authorization": f"L402 {mac}:{preimage}"})
print(res.json()["nymbot"])
JavaScript
const url = "https://nymbot.ai/api/v1/images/generations";
const body = JSON.stringify({ model: "nano-banana", prompt: "a lighthouse at dusk", response_format: "b64_json" });
const headers = { "Content-Type": "application/json" };
const challenge = await fetch(url, { method: "POST", headers, body });
const www = challenge.headers.get("www-authenticate");
// The Payment scheme: echo every challenge parameter back with the preimage
const start = www.indexOf("Payment ");
const params = Object.fromEntries([...www.slice(start + 8).matchAll(/(\w+)="((?:[^"\\]|\\.)*)"/g)].map((m) => [m[1], m[2]]));
const { invoice } = JSON.parse(Buffer.from(params.request, "base64url").toString()).methodDetails;
const preimage = await payWithYourWallet(invoice);
const credential = Buffer.from(JSON.stringify({ challenge: params, payload: { preimage } })).toString("base64url");
const res = await fetch(url, { method: "POST", headers: { ...headers, Authorization: `Payment ${credential}` }, body });
console.log((await res.json()).nymbot, res.headers.get("payment-receipt"));
Kunsar uñjartat uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanakampi uñjachañanak mppx Lightning ukanax uñakatäkipañani Mä Pago uñataki; endpoint ukanax uñt'ayätx ukatx payaqañapuni.
Widiyuna
Qullqi payata POST /videos jaypachinak 202 maka k'uchu jichhata, ukhamaraki a
status_url: GET jastat munañataki kunsat jach'a ukanakaw, uka markatawa
uñakipata ukataki p'iqinkatawa, ukanakaki uñakipata ch'amanchasitäna.
{
"id": "vid_...",
"status": "in_progress",
"status_url": "https://nymbot.ai/api/v1/videos/vid_...?exp=1790000000&sig=...",
"nymbot": {
"payment": "l402", "tier": "pro", "paid_sats": 4800, "charged_sats": 4800,
"refund_token": "REFUND-5E0B..."
}
}
Qhiparipxa refund_token aka yatiyäwinakax uka katu uñāniwa. Video lurañjamantax janiw maypach uñjäkiti (GET /api/v1/l402/refunds jaypachinak "status": "pending");
ixa render uñakipäwi qullqi lurañax wali k'uchu k'uchu ukax juk'amp qullqi uñakipäwi ukax katuqasiñax. Status URL ukax uñt'ayaski
refund_sats Qullqi jild'ata luräwi ukatxa token janiw jild'atäkiti, ukatxa status URL ukan yatichäwi ukan qullqi jild'äwi wali yatichäkiti. Token uñjayäwi ukax janipuniw uñjayata lurt'ata luräwi ukan qallt'añani.
Qullqi jisp'atata
Jani wali ch’amanchata yatiqäwi ukax jach’a k’uchunaka uñt’aski ukhax, uka wali ch’amanchata yatiqäwi ukax Nymbot ukax qullqi payi mayasu ukhax, qullqi ukax qhipat khuyayaski ukatxa
yapa thaya uñt’asï, ukatxa charged_sats, jisa ch'amantañada ukan jark'aqata uñt'ata ukanakakiwa. Ukax uñt'ata ukanakax k'uchu uñt'atata, uka yaranakax uñt'atawa Token debolución pachat jikhataxiw:
{
"error": {
"message": "The image generator failed. Nothing was charged. Please try again. The 237 sats you paid are on refund token REFUND-...",
"type": "api_error",
"code": "upstream_error",
"refund_token": "REFUND-0C15DBED145D59131BA70298A413ADEB3D9B9AB082C476EA70A5BD38FCA5DE6D",
"refund_sats": 237,
"refund_expires_at": "2026-10-30T12:00:00.000Z"
}
}
Utjaskat wali qullqichanakax jichhaki uñjapat mayacht'aski: jak'aki uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä uñjawi uñjawi ukax qullqi mayañata wali uñjasktaqa mä u nymbot ojja jichhaka k'umant'äwi jichhaka utjaskinakakiwa;
tukuyaña sapa ch'amakäwin qhipa k'umant'äwi ukax jach'a t'aqi uka ukan ch'amakäwina qillqt'äwi kankat,
(jichhaka t'aqi ukax jach'a k'umant'äwipuni kank, 30 minutunaki) ukanax qhipa k'umant'äwi ukax k'umant'äwi jichhaka ukan janiw jarkaqi;
ukatxa jach'a t'aqi 30 minutinakiwa ukax janiw amuyt'añänti, ukax janiw qhipañäkiti ukanax 413
uñanakarux wali p'iqiyt'awipax jichhax juk'amp k'uchu k'uchu k'uchu ch'amanchaskitawa. Embeddings-x uñanaka uñt'ata sasa uñt'anakarux jichhax juk'amp k'uchu k'uchu k'uchu ch'amanchaskitawa. Video falixax uñt'anaka uñt'ata sasa uñt'anakarux jichhax juk'amp k'uchu k'uchu k'uchu ch'amanchaskitawa.
Qullqi devolución markaxa mä jach'a 256-bit k’uchu k’uchu markawa. Nymbot ukax markanxa ukhamäkima uñacht’äwi uñakarakiwa uñt’ay, ukatxa 30 uruku k’uchu k’uchu markax p’iqichasipxi. Ukax sat salmu k’uchu k’uchu markawa, ukatxa ukhamäkima:
- Janiw payasipkiti ukanampi. Qullaychäkiy
Authorization: Bearer REFUND-…uñatäkipaxa ukanakan anya ukatwa (OpenAI SDK ukanwa API key ukarux apasi). Qullqiqa token ukarux uñjayi ukatwa ukan jan ukax ukanwa qhipañax uñjayi (refund_token_satsukaxnymbotobjeto). Akata yatiqata ukax aski k’anchay jina k’uchu.402refund_insufficient; janiw qullqi ukax jichhaka utjaskiti, ukax sats uka token ukarux jik'isiñani. - Uyachasipxañani.
GET /api/v1/l402/refundskumara thakhi uñch'ata junt'uphi{"sats": 237, "status": "open", "expires_at": "..."}. - Sapa token pacha kanqata 60 jayp’u urquna pacha uñt’ataki uyk’ata.
- Nayra k’uchut jichhata uñt'ay. Jik'isi uñch'uy ukanax uñayätäna Regala ch'amanchañataki Nymbot aplikasyon ukan, ukax llamadataki.
POST /api/v1/l402/refunds/redeemtayka uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u uñt'ata uñch'u munaña ukan uñch'u markatäwi amuyt'ata ukat{"refund_token": "REFUND-...", "balance": "standard"}(uñji"pro"). Janquna uñakipäwi jark'aqawipuni salar uñakipäwimanqa (standard ukan 10 sats, Pro ukan 100 sats); API uñakipäwinakapaq jank'u uñakipäwi ukama sarnaqapxi uka token ukan.
cURL
URL=https://nymbot.ai/api/v1/l402/refunds/redeem
BODY='{"refund_token":"REFUND-...","balance":"standard"}'
curl "$URL" \
-H "Authorization: $(nostr_auth POST "$URL" "$BODY")" \
-H "Content-Type: application/json" \
-d "$BODY"
Tarkasiri
{ "data": { "credited": 23, "tier": "standard", "balance_credits": 123, "remaining_sats": 7 } }