Account

Open in ClaudeOpen in ChatGPT.md

Get balance

http
GET https://smsprovider-web.vercel.app/api/v1/account/balance

Balance, reserved credits, international balance and expiry.

Authentication: Authorization: Bearer bm_live_… · Required scope: reports

Response

200 — Balance

json
{
  "balance_credits": 4820,
  "reserved_credits": 120,
  "available_credits": 4700,
  "intl_balance_credits": 0,
  "intl_available_credits": 0,
  "expires_at": "2027-11-02T00:00:00Z"
}

Errors

StatusCode
401unauthorized
403insufficient_scope
429rate_limited
500internal_error

Examples

curl

bash
curl -X GET "https://smsprovider-web.vercel.app/api/v1/account/balance" \
  -H "Authorization: Bearer $BATLER_API_KEY"

Node.js

ts
import { BatlerSMS } from "@batler/sms";

const sms = new BatlerSMS({ apiKey: process.env.BATLER_API_KEY! });
const result = await sms.account.balance();

PHP

php
<?php
$ch = curl_init("https://smsprovider-web.vercel.app/api/v1/account/balance");
curl_setopt_array($ch, [
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer " . getenv("BATLER_API_KEY"),
    "Content-Type: application/json",
  ],
]);
$result = json_decode(curl_exec($ch), true);

Python

python
import os, uuid, requests

resp = requests.request(
    "GET", "https://smsprovider-web.vercel.app/api/v1/account/balance",
    headers={"Authorization": f"Bearer {os.environ['BATLER_API_KEY']}"},
    timeout=30,
)
resp.raise_for_status()
result = resp.json()

C#

csharp
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new("Bearer", Environment.GetEnvironmentVariable("BATLER_API_KEY"));
var req = new HttpRequestMessage(HttpMethod.Get, "https://smsprovider-web.vercel.app/api/v1/account/balance");
var res = await http.SendAsync(req);
var result = await res.Content.ReadAsStringAsync();
☰