■ Numbers, messages and recent, directly from your app.
SMScash
± API documentation
♫ Getting started

± API documentation

■ Numbers, messages and recent, directly from your app.

Start with one request

13 · ± API commandsREST + handler_api.phpJSON / plain text · Bearer

♫ Create a API key in your dashboard, get a number and check for messages cada 20 segondes. Paging is crededed when un SMS with a code arrive; reading it reverse non affect your balance.

REST APIhttps://smscash.org/api/v1
ʹ Compatibility API base URLhttps://smscash.org/stubs/handler_api.php
सेवा रहनेछ ।फोन नंबर छ । SMS यसका लागि पैसा छ, पैसा छ भने पैसा छ । USDT आतुर छ TRC20भुगतानका लागि यो 1 त्यहाँ पुग्ने जो 45 दिनको लागि
■ REST / cURL
curl -X POST 'https://smscash.org/api/v1/activations' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: request-unique-001' \
  -d '{"service":"go","country":86}'

Alternative compatible interface address: /handler_api.php. Eventual REST integrations continua a work.

REST API

अनुरोध निर्माण उपकरण

cURL · Go · JS · Python

Idempotency-Key: UUID · POST · 8–128

स्वचालित छनोट: पछिल्लो घण्टामा, त्यसपछि २४ घण्टामा सबैभन्दा धेरै कोड। नम्बर नभए अर्को अपरेटर।

cURL
curl --max-time 15 --fail-with-body -X POST 'https://smscash.org/api/v1/activations' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: request-unique-001' \
  --data '{"service":"go","country":86}'

कुञ्जी सुरक्षित गरिँदैन। यो जाँचले नम्बर उपलब्ध गराउँदैन।

■ REST for nove integrationes

सेवाहरू र देशहरू

± Choice a service and a land. Payment per SMS depende on the pay.

REST
GET /api/v1/catalog?service=go&country=86&page=1&page_size=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "rows": [
    {
      "offer_id": 42,
      "service": "go",
      "service_name": "Google",
      "country_id": 86,
      "country_name": "Italy",
      "provider_id": 1,
      "operator": 1,
      "provider_name": "Operator 1",
      "reward": "0.00300000",
      "currency": "USD",
      "accounting_precision": 8,
      "earnings_hold_days": 45
    }
  ],
  "page": 1,
  "page_size": 100,
  "total": 1,
  "pages": 1,
  "has_more": false,
  "accounting_precision": 8
}

service · country · operator · q · page · page_size (1–100)

±Get numer
REST
POST /api/v1/activations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: request-unique-001

{
  "service": "go",
  "country": 86
}

स्वचालित छनोट: पछिल्लो घण्टामा, त्यसपछि २४ घण्टामा सबैभन्दा धेरै कोड। नम्बर नभए अर्को अपरेटर।

REST
201: new session · 200: replay of the same operation
service + country OR offer_id · duration_minutes: 20
ref: software owner code (optional)
operator: public ID (e.g. 1 for Operator 1), optional · any/0: automatic
country: integer · service: string · SMS code: string

ʹNumber is valide per 20 minutes. SMS is controled cada 20 sekundes. You canceled imediately.

धेरै नम्बर जाँच्नुहोस्
REST
GET /api/v1/activations/batch?ids=42,43
Authorization: Bearer YOUR_API_KEY
JSON
{
  "rows": [
    {
      "id": 42,
      "found": true,
      "phone": "12025550123",
      "status": "received",
      "service": "go",
      "country_id": 86,
      "provider_id": 1,
      "operator": 1,
      "expires_at": "2026-10-10T12:15:00Z",
      "sms_count": 1,
      "code": "001234",
      "last_sms": {
        "id": 101,
        "code": "001234",
        "sender": "Service",
        "text": "Code: 001234",
        "received_at": "2026-10-10T12:01:00Z"
      }
    },
    {
      "id": 43,
      "found": false,
      "error": {
        "code": "NO_ACTIVATION",
        "message": "Session not found."
      }
    }
  ],
  "as_of": "2026-10-10T12:01:00Z",
  "poll_interval_seconds": 20
}
REST
ids: 1–100 positive session IDs, separated by commas
Input order preserved · duplicates removed
Foreign, unavailable or out-of-scope IDs: found=false
Read only · no supplier requests · last_sms is the latest message
मौज्दात · रोकिएको रकम
REST
GET /api/v1/balance
Authorization: Bearer YOUR_API_KEY
JSON
{
  "currency": "USD",
  "accounting_precision": 8,
  "balance": "12.00000000",
  "held_balance": "34.50000001",
  "balance_minor": "1200000000",
  "held_minor": "3450000001",
  "as_of": "2026-10-12T20:00:00Z",
  "next_release_at": "2026-11-26T20:00:00Z"
}

balance — उपलब्ध; held_balance — रोकिएको रकम. USD · 8

रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।

तयार क्लाइन्टहरू

JavaScript · Node.js 18+
import {SmScash, SmScashError} from './smscash.mjs';
import {randomUUID} from 'node:crypto';

const api = new SmScash(process.env.SMSCASH_API_KEY);
const catalog = await api.catalog({service: 'go', country: 86});
console.log(catalog.rows);

// Save this key before sending; keep it for retries of this operation.
const requestKey = randomUUID();
const session = await api.createNumber({service: 'go', country: 86}, requestKey);
// After 20 seconds:
const messages = await api.sms(session.id, {afterId: 0});
console.log(messages.sms);
const statuses = await api.batch([session.id]);
const held = await api.holdBalance();
console.log(held); // Exact USD string
Python 3.9+
import os
import uuid
from smscash import SmScash, SmScashError

api = SmScash(os.environ['SMSCASH_API_KEY'])
catalog = api.catalog(service='go', country=86)
print(catalog['rows'])

# Save this key before sending; keep it for retries of this operation.
request_key = str(uuid.uuid4())
session = api.create_number({'service': 'go', 'country': 86}, request_key)
# After 20 seconds:
messages = api.sms(session['id'], after_id=0)
print(messages['sms'])
statuses = api.batch([session['id']])
held = api.hold_balance()
print(held) # Exact USD string
SDK
me() · balance() · holdBalance()/hold_balance() · catalog() · activation() · sms() · batch()
createNumber(parameters, requestKey) / create_number(parameters, request_key)
setStatus(id, "cancel") / set_status(id, "cancel")
setStatus(id, "retry", requestKey) / set_status(id, "retry", request_key)
Timeout: 15 s · no dependencies · no automatic retries
Error: code · status · hint · requestId/request_id · retryable
ALLOCATION_UNCERTAIN: contact support with request_id; never retry automatically.

SMS-Activate / HeroSMS

SMS-Activate · ʹ Compatibility API base URLhttps://smscash.org/sms-activate/stubs/handler_api.php
HeroSMS · ʹ Compatibility API base URLhttps://smscash.org/hero-sms/stubs/handler_api.php

प्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

± Choice a service and a land. Payment per SMS depende on the pay.

± kodʹDescription
getNumber / getNumberV2±Get numer
getStatus / getStatusV2±Get the last code
setStatus / finishActivation / cancelActivationManagement session
getPrices / getNumbersStatus• Kontrola disponibility
getRewards (SMScash)♫ Recompense for SMS
getServicesList / getServicesसेवाहरू
getCountries / getOperatorsसेवाहरू र देशहरू
getActiveActivationsSessions
getBalanceप्रयोगकर्ताको मौज्दात
getHoldBalance (SMScash)रोकिएको रकम

cost = 0 USD · activationCost = 0 USD
reward — ♫ Recompense for SMS

HeroSMS · cURL
curl --get 'https://smscash.org/hero-sms/stubs/handler_api.php' \
  --data-urlencode 'api_key=YOUR_API_KEY' \
  --data-urlencode 'action=getNumberV2' \
  --data-urlencode 'service=go' \
  --data-urlencode 'country=86' \
  -H 'Idempotency-Key: request-unique-001'
akana responsi
{
  "activationId": "42",
  "phoneNumber": "393331234567",
  "activationCost": 0,
  "currency": 840,
  "countryCode": 86,
  "canGetAnotherSms": true,
  "activationTime": "2026-10-11T12:00:00Z",
  "activationEndTime": "2026-10-11T12:15:00Z",
  "reward": "0.00300000"
}
SMS-Activate / HeroSMS
GET or POST application/x-www-form-urlencoded
api_key · action · service · country · ref (optional)
setStatus: 1 → ACCESS_READY · 3 → ACCESS_RETRY_GET
           6 → ACCESS_ACTIVATION · 8 → ACCESS_CANCEL
getStatus: STATUS_WAIT_CODE · STATUS_OK:001234 · STATUS_CANCEL
getStatusV2: {"verificationType":1,"sms":null,"call":null}
getServicesList: {"status":"success","services":[{"code":"go","name":"Google"}]}
getCountries: {"86":{"id":86,"eng":"Italy","visible":1,"retry":1,"rent":0}}
getPrices: {"86":{"go":{"cost":0,"count":12,"reward":"0.00300000","currency":"USD"}}}
getRewards: {"59":{"vi":{"1":"0.01000000"}}}
getRewards filters: country · service · operator (optional); any/0: all permitted providers
getActiveActivations: start=0 · limit=1–100 · activeActivations / data
Business/key errors: HTTP 200 + plain text · server errors: HTTP 500
Availability: actual supplier pool, shared cache up to 20 s; not a reservation
No automatic retries after a transport error or ALLOCATION_UNCERTAIN.
Keep the original Idempotency-Key and parameters.
Unsupported: rent · calls · forwarding · multiple services per number · prolong
Unsupported options return BAD_REQUEST; unsupported actions return BAD_ACTION.
SMScash keys and country/service codes; configure this base URL in your software.

ʹNumber is valide per 20 minutes. SMS is controled cada 20 sekundes. You canceled imediately.

• autentification and retries

REST: ± header Authorization: Bearer YOUR_API_KEY. ♫ Compatible Interface: ʹparameters api_key und action± . Use HTTPS.

για management API keys, enter your account.

∞• requests/min per account
∞Sessions simultanèes

API request frequency and the number of telefon numbers is unlimited. No quotes day or hourly.

ʹNumber is valide per 20 minutes. SMS is controled cada 20 sekundes. You canceled imediately.

In REST, a unic Idempotency-Key es necessariable for number allocation, repetition, reestry and pagout requests. It is optional, but recommended in handler_api.php. Reuse the key when reasing a network request; use a new key for a New operation.

± API key scope

♫ You can restricte a key for specific services, pays and providers. Lists vacces permite alle options disponibles.

JSON
{
  "label": "♫ My software",
  "policy": {
    "services": [
      "go"
    ],
    "countries": [
      86
    ],
    "providers": [
      1
    ]
  }
}

PATCH /api/v1/keys/{id} ± modified the name and policy completly. Secret is show only time create.

10% total. 5% + 5% ♫ avec software-code.

± quando emite un number, please provide ref ± owner of the software. La solicitud is autorised by the प्रयोगकर्ता's key. The code is in the section "Referrals" and in GET /api/v1/referrals → software_ref.

Request± Inviterakana software
akana san ref10%—
♫ with ref5%5%
With ref, no refererer—5%

La platform paga il bonus sin reducir rentail de la प्रयोगकर्ता. Proprieter de software and the referer can be a self person. प्रयोगकर्ताहरू can't use your proprie code.

♫ Termens figuras quando session is create; reading SMS und retry do not change them. Pass ref ====*** *** (**)**=* * **(*) **) ==*== USD 0.003 ≤ gives USD 0.00015 cada uno to the softwareowner and referer. USD 0.00030.

± API commands

± 11 Metodes XVBC-style plus your SMScash balance.

GETgetNumber±Get numer

ังles create a session and reserve un number disponible for the प्रयोगकर्ता. The recompense rate and reference remitents is fixed at allocation; recompens is crediteded when un SMS with a code arrive.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
service*string± Disponible service codes. The response is limited to the area of the API key.
country*integerTake ID from getCountries.
operatorstringTake ID from operators/getOperators (API). operator=1 · any/0
session_durationintegerLa session dura 20 minutes. Pass 20 or outlook this parameter.
with_operatorinteger1 ले जवाफमा अपरेटर ID थप्छ; 0 वा प्यारामिटर नदिँदा तीन खण्ड फर्काउँछ।
refstring♫ public code of the softwareowner: 5% for he's and 5% for the inviter. ref - 10% ל invitar.

* Necessari parameter. In all requests also pass action=getNumber.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getNumber&api_key=YOUR_API_KEY&service=go&country=86&with_operator=1' \
  -H 'Idempotency-Key: request-unique-001'

akana responsi

± Number emited
ACCESS_NUMBER:42:380670000000:1
± has numre disponible
EMPTY_POOL
  • स्वचालित छनोट: पछिल्लो घण्टामा, त्यसपछि २४ घण्टामा सबैभन्दा धेरै कोड। नम्बर नभए अर्को अपरेटर।
  • ♫ Pass Idempotency-Keyʹ: the same request with theself key return the previous session. Change the parameters calls IDEMPOTENCY_CONFLICT.
  • ± a numeric pays with a pool give EMPTY_POOL; the error format of the pays is BAD_COUNTRY.
  • ± key of a deleted session continua usated: replaying allocation with that key return SESION_CLOSEd and do not emit un ather number.
  • ë resultat de allocation is not confirmed. Automatic reasing is disabled for evit asignation a second number.
GETgetNumbersStatus• Kontrola disponibility

ë disponible telefon numbers per service and land.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
country*integerTake ID from getCountries.

* Necessari parameter. In all requests also pass action=getNumbersStatus.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getNumbersStatus&api_key=YOUR_API_KEY&country=86'

akana responsi

± Disponible numbers
{
  "go_0": 0
}
  • Le suffix _0 significa a choice sin specifique operator.
  • Disponibility reference to the general pool of the founder. The selected canal is controled, want a number is allocation.
GETgetStatus±Get the last code

♫ Easy request for session status and last SMS code. Leading zeros in the code is conserved.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.

* Necessari parameter. In all requests also pass action=getStatus.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getStatus&api_key=YOUR_API_KEY&id=42'

akana responsi

♫ Waitting
STATUS_WAIT_CODE
Code recebite
STATUS_OK:001234
•Cancellation or extension
STATUS_CANCEL
± Not found
NO_ACTIVATION
  • ± poll cada 20 seconds. Reading a message reading do not create ather page.
  • ■ post retry the anst code is not return: getStatus wants for the next SMS.
  • ♫ After un number sin SMS es deleted, getStatus and getSms return STATUS_CANCEL; getSmsFull returne the close status, un phone vac and a vap sms list. REST /activations/{id} and /sms retorn 404 NO_ACTIVATION.
GETsetStatusManagement session

♫ Finishes, canceles or reanly wait for SMS. The session expiration continued as same.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.
status*integer± 3 — wait for the next code, uden prolonging the session; 6 — finish post SMS; 8 — cancel immediately.

* Necessari parameter. In all requests also pass action=setStatus.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=setStatus&api_key=YOUR_API_KEY&id=42&status=3' \
  -H 'Idempotency-Key: request-unique-001'

akana responsi

♫ Watching for SMS
ACCESS_RETRY_GET
× Completed
ACCESS_ACTIVATION
ʹCancelded
ACCESS_CANCEL
  • ë retry wait for the next code in the original 20 minutes.
  • ♫ For status=3 ≤ use Idempotency-Key: repetition the request never reset the nove code ja recebite. The history of SMS remain disponible.
  • • Cancellation need remove recompensies ja functioned.
  • ♫ Only numbers with SMS code holdes in historia. Anullated and expirate numers with a code is borred.
GETgetRepeatNumber■ emite same number de norme denominar

ัง Opens a nove session with specific number of your history. You can select out a display service in the same pay.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
number*stringʹ your old number. Only numbers and a optional leading + ire allowed.
service*string± Disponible service codes. The response is limited to the area of the API key.
session_durationintegerLa session dura 20 minutes. Pass 20 or outlook this parameter.
with_operatorinteger1 ले जवाफमा अपरेटर ID थप्छ; 0 वा प्यारामिटर नदिँदा तीन खण्ड फर्काउँछ।
refstring♫ public code of the softwareowner: 5% for he's and 5% for the inviter. ref - 10% ל invitar.
operatorstringTake ID from operators/getOperators (API). operator=1 · any/0

* Necessari parameter. In all requests also pass action=getRepeatNumber.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getRepeatNumber&api_key=YOUR_API_KEY&number=380670000000&service=go' \
  -H 'Idempotency-Key: request-unique-001'

akana responsi

± New session
ACCESS_NUMBER:43:380670000000
■ The number is now buddy
NUMBER_IN_USE
  • First, finish or cancel your actual session. If the number is buddy, re-issuance non is executed.
  • ■ La new session recipient a new ID and the actual tariff. Old SMS is not copyed in it. ref is set reset.
  • SMScash permite repetering only numbers from the history of this account. The pay is identified per number.
  • ± key of a deleted session continua usated: replaying allocation with that key return SESION_CLOSEd and do not emit un ather number.
GETgetSmsFull±Get SMS as JSON

■ structured history of all messages with ID, sender, code, text and pays, service and forwiver data.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.

* Necessari parameter. In all requests also pass action=getSmsFull.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSmsFull&api_key=YOUR_API_KEY&id=42'

akana responsi

JSON
{
  "success": true,
  "session_id": 42,
  "phone": "380670000000",
  "status": 1,
  "status_name": "received",
  "sms_count": 1,
  "sms": [
    {
      "id": 101,
      "external_id": "message-101",
      "sender": "Service",
      "code": "001234",
      "text": "Код подтверждения: 001234",
      "received_at": "2026-10-09T12:00:00Z",
      "country": {
        "id": 86,
        "name": "Italy"
      },
      "service": {
        "code": "go",
        "name": "Google"
      },
      "provider": {
        "id": 1,
        "name": "Оператор 1"
      }
    }
  ],
  "expires_at": "2026-10-09T12:20:00Z"
}
  • Dialog Preferred format for integration. Remember sms[].id to process only new messages.
  • numeric status SMScash: 1 - active, 6 - completed, 8 - cancellate or expirate. status_name distinctions between wait, received, finished, canceled, expired.
  • ± Codes recebidos continuas disponibles tras session closeds. For grandes volumes, use REST /activations/{id}/sms with after_id.
  • ♫ After un number sin SMS es deleted, getStatus and getSms return STATUS_CANCEL; getSmsFull returne the close status, un phone vac and a vap sms list. REST /activations/{id} and /sms retorn 404 NO_ACTIVATION.
GETgetSms±Get SMS als a text string

ë return the total SMS historia in string format for existing clients.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
id*integer♫ ID of your session, recebited when the number was emited.

* Necessari parameter. In all requests also pass action=getSms.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getSms&api_key=YOUR_API_KEY&id=42'

akana responsi

± Message
STATUS_OK:2026-10-09T12:00:00Z|001234|Код подтверждения: 001234
♫ Waitting
STATUS_WAIT_CODE
•Cancellation or extension
STATUS_CANCEL
  • lëng Message format: Timeságcode ≤text. Multimes messages is separated by a colon.
  • ʹThe text SMS self possible contain kolons and vertical bars. For confidentible parsing, use getSmsFull.
GETgetServicesसेवाहरू

± Disponible service codes. The response is limited to the area of the API key.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
countryintegerTake ID from getCountries.

* Necessari parameter. In all requests also pass action=getServices.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getServices&api_key=YOUR_API_KEY'

akana responsi

सेवाहरू
{
  "go": {
    "name": "Google",
    "code": "go"
  }
}
  • Lieder Service directory is shared intervest the forward. Number disponibility is controled separately.
GETgetCountriesदेशहरू

́IDs, names and challing codes for the pays in the selection canal.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

* Necessari parameter. In all requests also pass action=getCountries.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getCountries&api_key=YOUR_API_KEY'

akana responsi

देशहरू
{
  "86": {
    "id": 86,
    "name": "Italy",
    "phone_code": "39"
  }
}
GETgetOperatorsOperatora (_O)

उपलब्ध अपरेटरहरू: API ID, नाम र रकम रोक्ने अवधि।

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
countryintegerTake ID from getCountries.
operatorstringTake ID from operators/getOperators (API). operator=1 · any/0

* Necessari parameter. In all requests also pass action=getOperators.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getOperators&api_key=YOUR_API_KEY'

akana responsi

Operatora (_O)
{
  "1": {
    "id": 1,
    "provider_id": 1,
    "operator": 1,
    "name": "Оператор 1",
    "earnings_hold_days": 45
  }
}
  • Take ID from operators/getOperators (API).
GETgetRewards♫ Recompense for SMS

Limiteds depende dependente on the pay. Total monts is per paged SMS.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।
countryintegerTake ID from getCountries.
servicestring± Disponible service codes. The response is limited to the area of the API key.
operatorstringTake ID from operators/getOperators (API). operator=1 · any/0

* Necessari parameter. In all requests also pass action=getRewards.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getRewards&api_key=YOUR_API_KEY&country=59&service=vi'

akana responsi

JSON
{
  "59": {
    "vi": {
      "1": "0.01000000",
      "3": "0.00500000"
    }
  }
}
{}
{}
  • ≤ USD tariffiske summas returneres como decimal decimales exacte strengs with 8 decimalies places:
  • ♫ actived providers disponible for your key.
  • country ID → service code → operator ID → reward (USD)
GETgetBalanceप्रयोगकर्ताको मौज्दात

Addition SMScash: disponible balance tendence to consideration recordingals, bonuss reference and paging requests.

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

* Necessari parameter. In all requests also pass action=getBalance.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getBalance&api_key=YOUR_API_KEY'

akana responsi

मौज्दात
ACCESS_BALANCE:0.00
  • getBalance return the disponible USD balance with ≤ 8 decimal places.
  • रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।
GETgetHoldBalanceरोकिएको रकम

SMS प्राप्त भएपछि आम्दानी प्रदायकले तोकेको अवधिसम्म रोक्का हुन्छ। तोकिएको मितिमा रकम स्वतः निकाल्न उपलब्ध हुन्छ।

ʹparameters

ʹparameter± TypeʹDescription
api_key*stringप्रयोगकर्ताको व्यक्तिगत API कुञ्जी।

* Necessari parameter. In all requests also pass action=getHoldBalance.

Exemply request

curl
curl 'https://smscash.org/stubs/handler_api.php?action=getHoldBalance&api_key=YOUR_API_KEY'

akana responsi

रोकिएको रकम
ACCESS_HOLD_BALANCE:34.50000001
  • SMScash · getHoldBalance · USD · 8
  • रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।

• Codes de respons and repeat requests

♫ In handler_api.php business resultats normalmente provenis HTTP 200. Kontrole body text. Directorys and getSmsFull return JSON if success; errors is allways text.

± kodHTTP• Cause and next step
TARIFF_NOT_CONFIGURED200± rates year was not definited■ Number allocation will started unknown SMS recompenses is configurated.
COUNTRY_BLOCKED200■ asignation number for this pays is blocked.♫ Choice outher pays.
BAD_SERVICE200■ asignation number for this service is blocked.Select ather service.
PROVIDER_NOT_READY200± Number allocation non disponible temporarly± refresh the API katalogs.
BAD_KEY400ʹNo api_key or invalid format.■ Kontrola last key in the request.
INVALID_API_KEY401± key is unknown, revocate or the account is desactived.ʹCreate a valid API key.
BAD_COUNTRY400mancant o non un number positiv.Take ID from getCountries.
BAD_SESSION_DURATION400ʹTelefonnumbers publiced exclusive 20 minutes.Korekt ± Korrekt session_duration.
BAD_REQUEST400ë invalid parameter or Idempotency-Key.♫ Please corrige your request.
BAD_SERVICE / BAD_OPERATOR / INVALID_PROVIDER200Unknown or desactived directory item.± refresh the API katalogs.
BAD_NUMBER200ë incorrecte number format.♫ Give the number in digits.
BAD_ACTION / BAD_STATUS200ʹUnknown commando, ID or operation.■ Kontroli settings.
EMPTY_POOL200± ejecun matching telefon numbers disponible actualmente.Repetirez tra 10-30 sekundes, o change filters.
NUMBER_IN_USE200■ Specifique number is ocupat of a active session.Find your session or select another number.
NO_ACTIVATION200Die session or previous number non aparten al your account.♫ Check ID and Key.
SESSION_CLOSED / SMS_REQUIRED200♫ State transition momental няма disponible.■ Kontrola condition and disponibility of SMS.
SCOPE_BLOCKED200± service, land, of vendor non autorized for the key.■ update's scope of the API key.
IDEMPOTENCY_CONFLICT200Diese query key is already asociated with andere parameters.For a new operation, create other Idempotency-Key.
BAD_REF / SELF_REF400♫ The software code is unknown, desactived, or aparten a the workerself.́pass on the softwareowner's code.
INTERNAL_ERROR500* Temporary server or vendor error.Repetition with a tard and the same Idempotency-Key.
ALLOCATION_PENDING200♫ Number allocation is already in progress. Restart with the same Idempotency-Key.♫ Number allocation is already in progress. Restart with the same Idempotency-Key.
ALLOCATION_UNCERTAIN200ë resultat de allocation is not confirmed. Automatic reasing is disabled for evit asignation a second number.ë resultat de allocation is not confirmed. Automatic reasing is disabled for evit asignation a second number.

± REST returna un object {"error":{"code":"…","message":"…"}} et regular HTTP statuss 400/401/403/404/409/503.

JSON
{
  "error": {
    "code": "BAD_REQUEST",
    "message": "♫ Kontrola request fields.",
    "request_id": "req_…",
    "hint": "Use the documented JSON type; numbers must not be quoted.",
    "retryable": false,
    "details": {
      "field": "country",
      "expected": "integer"
    }
  }
}
REST
X-Request-ID: included in every API response
405: Allow lists the supported HTTP methods
ALLOCATION_PENDING: retryable=true · Retry-After=3 · same operation key
ALLOCATION_UNCERTAIN: retryable=false · contact support
Transport errors: check the operation before another write; keep the original key.

■ REST for nove integrationes

≤ USD tariffiske summas returneres como decimal decimales exacte strengs with 8 decimalies places: 0.00300000 USD.

■ balance money is USD. Request and response schemes exists in OpenAPI.

♫ retirrer in USDT · TRC20भुक्तानी हुन 1 देखि 45 दिन लाग्छ। रकम निकाल्ने शुल्क 4 $ हो। यो अनुरोध गरिएको रकमबाट काटिन्छ। SMS प्राप्त भएपछि आम्दानी प्रदायकले तोकेको अवधिसम्म रोक्का हुन्छ। तोकिएको मितिमा रकम स्वतः निकाल्न उपलब्ध हुन्छ। रोक्का अवधि सकिएको रकम मात्र निकाल्न सकिन्छ।
GET/api/v1/catalogसेवाहरू र देशहरू
GET/api/v1/tariffsSMS recompense rates per Country
GET/api/v1/offers♫ Rates and recompenses
GET/api/v1/servicesÚtvoi direktoriu līmeiro
GET/api/v1/countriesÚtvoi direktoriu līmeiro
GET/api/v1/operatorsÚtvoi direktoriu līmeiro
GET/api/v1/availability?country=1Númber disponibility
POST/api/v1/activations± New session
GET/api/v1/activations/batch?ids=42,43धेरै नम्बर जाँच्नुहोस्
GET/api/v1/activations♫ Last 200 sessions: scope=history, wait or all
GET/api/v1/activations/{id}Session and messages
GET/api/v1/activations/{id}/sms?after_id=0&limit=100ë New SMS with cursor
POST/api/v1/activations/{id}/retry♫ Watching for SMS
POST/api/v1/activations/{id}/finishKomplimentation
POST/api/v1/activations/{id}/cancelCancel
POST/api/v1/activations/repeat± Number reissues
GET/api/v1/keys± API keys
POST/api/v1/keysCreate a key
PATCH/api/v1/keys/{id}■ Change name or policy
DELETE/api/v1/keys/{id}Key Revoke
GET/api/v1/referrals♫ Code referencial and rendements
GET/api/v1/summaryBalance and Resumé
GET/api/v1/balanceरोकिएको रकम
GET/api/v1/ledgerEarnings ledger
GET/api/v1/withdrawals± requestes receptions
POST/api/v1/withdrawalsCreate a request
GET/api/v1/statistics■ Statistiki totale
GET/api/v1/earnings/holdsआम्दानीको रोक्का

♫ Recipiente only new SMS

REST
GET /api/v1/activations/42/sms?after_id=0&limit=100
Authorization: Bearer YOUR_API_KEY
JSON
{
  "session_id": 42,
  "sms": [
    {
      "id": 101,
      "code": "001234",
      "text": "± Code: 001234",
      "sender": "Service",
      "received_at": "2026-10-09T12:00:00Z"
    }
  ],
  "next_cursor": 101,
  "has_more": false
}

Save next_cursor and transfer it on as after_id. If has_more=true, la next page puede read immediately. limite: 1–200. Sessions and SMS disponible only for theowner.