Endpoints
рдмреИрд▓реЗрдВрд╕ рдФрд░ рдХреБрдВрдЬреА рдЬрд╛рдирдХрд╛рд░реА
GET /credits рдФрд░ GET /key рд╕реЗ рдЕрдкрдирд╛ USD рдмреИрд▓реЗрдВрд╕, рдХреБрд▓ рдЦрд░реНрдЪ рдФрд░ рдХреБрдВрдЬреА рдХреА рд░реЗрдЯ рд▓рд┐рдорд┐рдЯ рдкрдврд╝реЗрдВред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдлрд╝реАрд▓реНрдб рдФрд░ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рд╣реИрдВред
рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХрд╛ USD рдмреИрд▓реЗрдВрд╕, рдХреБрд▓ рдЦрд░реНрдЪ рдФрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреБрдВрдЬреА рдХреА рд░реЗрдЯ рд▓рд┐рдорд┐рдЯ рдкрдврд╝реЗрдВред рджреЛ рдкрд╛рде рдПрдХ рд╣реА рдмреЙрдбреА рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ: /credits рдФрд░ рдЙрд╕рдХрд╛ рдЫреЛрдЯрд╛ рдЙрдкрдирд╛рдо /keyред
GET https://api14.com/api/v1/credits
GET https://api14.com/api/v1/key
рд╕рднреА рд░рд╛рд╢рд┐рдпрд╛рдБ рдЕрдореЗрд░рд┐рдХреА рдбреЙрд▓рд░ рдореЗрдВ рд╣реИрдВред
рдЕрдиреБрд░реЛрдз
рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВред рдЕрдкрдиреА API рдХреБрдВрдЬреА рд╕реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░реЗрдВ:
curl https://api14.com/api/v1/credits \
-H "Authorization: Bearer sk-api14-..."
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
{
"data": {
"total_credits": 145.0,
"total_usage": 102.82,
"balance_usd": 42.18,
"key_id": "ckey_01JABCDEF",
"rate_limit": { "requests": 120, "interval": "1m" }
}
}
| рдлрд╝реАрд▓реНрдб | рд╡рд┐рд╡рд░рдг |
|---|---|
total_credits | рдЦрд╛рддреЗ рдореЗрдВ рдЕрдм рддрдХ рдЬреЛрдбрд╝реЗ рдЧрдП рдХреБрд▓ USD: рдЯреЙрдк-рдЕрдк, рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЙрдкрдпреЛрдЧ, рдмреЛрдирд╕ рдФрд░ рдкреНрд░реЛрдореЛ рдХреЛрдбред |
total_usage | рдЕрдиреБрд░реЛрдзреЛрдВ рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдХреБрд▓ USDред |
balance_usd | USD рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдЦрд░реНрдЪ рдпреЛрдЧреНрдп рдмреИрд▓реЗрдВрд╕ред |
key_id | рдЗрд╕ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реБрдИ API рдХреБрдВрдЬреА рдХрд╛ idред |
rate_limit.requests | рдХреБрдВрдЬреА рдХреА рдЕрдкрдиреА рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдЕрдиреБрд░реЛрдз рд╕реАрдорд╛, рдпрд╛ null рдпрджрд┐ рдХреБрдВрдЬреА рдЖрдкрдХреЗ рдкреНрд▓рд╛рди рдХреА рд╕реАрдорд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреА рд╣реИред |
rate_limit.interval | рд╣рдореЗрд╢рд╛ 1mред |
рд░рд┐рдлрд╝рдВрдб рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд╕рдорд╛рдпреЛрдЬрди рдХреЗ рдХрд╛рд░рдг total_credits - total_usage рдФрд░ balance_usd рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ; balance_usd рд╣реА рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдорд╛рди рд╣реИред
рдЙрджрд╛рд╣рд░рдг: рдЦрддреНрдо рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░реБрдХреЗрдВ
import os, requests
r = requests.get(
"https://api14.com/api/v1/credits",
headers={"Authorization": f"Bearer {os.environ['API14_API_KEY']}"},
)
balance = r.json()["data"]["balance_usd"]
if balance < 1:
raise SystemExit(f"Balance low: ${balance:.2f}. Add funds at /dashboard/billing")
curl -s https://api14.com/api/v1/key \
-H "Authorization: Bearer $API14_API_KEY" | jq '.data.balance_usd'
рдЬрдм рдмреИрд▓реЗрдВрд╕ $0 рд╣реЛ рдЬрд╛рдП
рд╕рд╢реБрд▓реНрдХ рдЕрдиреБрд░реЛрдз 402 insufficient_balance рд▓реМрдЯрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдЖрдк рдлрд╝рдВрдб рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ, рдмрд╢рд░реНрддреЗ рдмрд┐рд▓рд┐рдВрдЧ рдореЗрдВ рдСрдЯреЛ рдЯреЙрдк-рдЕрдк рдЪрд╛рд▓реВ рди рд╣реЛред /credits, /key рдФрд░ /models рдкрдврд╝рдирд╛ рддрдм рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджреЗрдЦреЗрдВ рдХреАрдордд рдФрд░ рдмрд┐рд▓рд┐рдВрдЧред
рддреНрд░реБрдЯрд┐рдпрд╛рдБ
| рд╕реНрдЯреЗрдЯрд╕ | рдХреЛрдб | рдХрдм |
|---|---|---|
| 401 | invalid_api_key | рдХреБрдВрдЬреА рдЧрд╛рдпрдм рдпрд╛ рдЕрдорд╛рдиреНрдпред |
рджреЗрдЦреЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдБред