Serveur MCP

Ucode SMS

uk.ucode/sms
Communication Sécurité Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Provides temporary virtual phone numbers for receiving SMS verification codes and managing OTP rentals.

ucode_agent_billing
Agent credits (USDC on Base)
No login. Lists prepaid credit packs priced in USDC on Base for autonomous agents/bots (packageId, credits, usd, payTo). Buy one with **ucode_agent_buy_credits**. Signed-in humans pay by card at https://ucode.uk/app/credits instead (**ucode_render_credits**).
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_agent_buy_credits
Buy credits with USDC on Base (x402)
Autonomous agents: buy a prepaid credit pack with USDC on Base using the x402 protocol — no account or card needed. Step 1: call with {pack, acceptLawfulUse:true} (no paymentHeader) → returns PAYMENT_REQUIRED with exact x402 requirements. Step 2: sign that payment with your x402 wallet and call again with paymentHeader → credits are added and a uc_live_ API key is returned (shown once, also stored for this MCP session). Pack ids come from ucode_agent_billing (aliases: starter, plus, pro). Only spend what the user approved.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['pack', 'acceptLawfulUse'], 'properties': {'pack': {'type': 'string', 'description': 'packageId from ucode_agent_billing, or starter / plus / pro'}, 'paymentHeader': {'type': 'string', 'description': 'Base64 x402 payment payload (the X-PAYMENT header value) for step 2'}, 'acceptLawfulUse': {'type': 'boolean', 'description': 'Must be true â\x80\x94 lawful verification, QA, travel or privacy use only'}}}
ucode_agent_cancel
Cancel an agent rental (refund credits)
Cancel an agent rental when no SMS arrived; credits return to the agent wallet. Requires the uc_live_ API key.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'reason'], 'properties': {'id': {'type': 'string'}, 'reason': {'enum': ['service_rejected', 'number_has_account', 'code_not_arrived', 'other'], 'type': 'string'}, 'reasonNote': {'type': 'string', 'maxLength': 300}}}
ucode_agent_check_sms
Check SMS for an agent rental
Poll an agent rental for the SMS/OTP. Pass id and pollToken from ucode_agent_rent (or rely on the session API key).
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'activation id'}, 'pollToken': {'type': 'string'}}}
ucode_agent_quote
Pay-per-SMS USDC quote (no login)
Exact USDC (Base) price to rent ONE number for a service/country without prepaid credits. Use the 'service' code from ucode_find_numbers and a countryId.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service'], 'properties': {'country': {'anyOf': [{'type': 'string'}, {'type': 'number'}], 'description': 'countryId, ISO code or country name'}, 'service': {'type': 'string', 'description': 'Service code from ucode_find_numbers, e.g. tg, wa'}}}
ucode_agent_rent
Rent a number (agent: API key or pay-per-SMS)
Rent one virtual number for a lawful SMS verification. Pays from the agent wallet when a uc_live_ API key is active (from ucode_agent_buy_credits, ucode_agent_use_api_key, or an Authorization: Bearer uc_live_… header on the MCP connection). Without a key it uses pay-per-SMS: first call returns PAYMENT_REQUIRED (x402, USDC on Base); call again with paymentHeader. Returns phone, id and pollToken → then call ucode_agent_check_sms. Signed-in human accounts should use ucode_sms_rent_with_credits instead.
Accès externe
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service', 'purpose', 'acceptLawfulUse'], 'properties': {'apiKey': {'type': 'string', 'description': 'uc_live_â\x80¦ key if not already active in this session'}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'number'}], 'description': 'countryId (preferred), ISO code or name'}, 'purpose': {'enum': ['qa', 'privacy', 'travel', 'business'], 'type': 'string', 'description': 'Why the number is needed'}, 'service': {'type': 'string', 'description': 'Service code from ucode_find_numbers, e.g. tg'}, 'paymentHeader': {'type': 'string', 'description': 'x402 X-PAYMENT value for pay-per-SMS'}, 'acceptLawfulUse': {'type': 'boolean', 'description': 'Must be true'}}}
ucode_agent_use_api_key
Use an existing agent API key
Activate a previously issued uc_live_ agent API key for this MCP session (for clients that cannot set an Authorization header).
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['apiKey'], 'properties': {'apiKey': {'type': 'string', 'pattern': '^uc_live_.*'}}}
ucode_agent_wallet
Agent wallet balance
Credit balance of the agent wallet behind the active uc_live_ API key.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'apiKey': {'type': 'string'}}}
ucode_app_init_snapshot
App init snapshot
Combined snapshot (packages, rentals, credit status, settings). Use platform web for ChatGPT (Stripe/crypto web packages); ios/android for native.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'platform': {'enum': ['android', 'ios', 'web'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_authenticate
Link Ucode account (developer / mobile token only)
Hidden escape hatch: only if the user explicitly already has a mobile Bearer token and asks to use it. Do NOT suggest this for normal sign-in — use ucode_login_start + ucode_login_poll instead.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['accessToken'], 'properties': {'accessToken': {'type': 'string', 'minLength': 20, 'description': 'Developer only: mobile app Bearer token â\x80\x94 never ask end users to paste this for normal login'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_connect
Connect account (in-card button)
Starts browser sign-in for the visual card **Connect** button. Returns linkUrl + sessionId with uiView sign-in. Poll **ucode_login_poll** until linked.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_credit_gift_breakdown
Gift credits breakdown
Free-credit badges / gift breakdown.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_credit_packages
List credit packages
Same packs as **ucode_render_credits** (data). For ChatGPT humans prefer **ucode_render_credits** and the website dashboard. Agents: x402 USDC on Base.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_credit_referral_redeem
Redeem referral code
Apply a friend's referral code (once per account, only if the referral program is active). Never guess, generate or loop over codes.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['code'], 'properties': {'code': {'type': 'string', 'maxLength': 20, 'minLength': 4}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_credit_referral_stats
Referral stats
Referral code and earnings summary.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_credits_status
Credit balance
Linked wallet — **credits** are in-app points for renting numbers, not a bank balance. Always say “you have X credits”. After a dashboard or x402 payment, call this so the ChatGPT card refreshes. Never imply USD wallet unless discussing listed pack prices.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_credits_verify_app_store_purchase
Verify App Store / Play purchase
Server-side verify of RevenueCat / store purchase (same as mobile). Requires packageId, transactionId, productId, platform (iOS/Android), and purchaseToken for Android.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['packageId', 'transactionId', 'productId', 'platform'], 'properties': {'platform': {'enum': ['iOS', 'Android'], 'type': 'string'}, 'packageId': {'type': 'string'}, 'productId': {'type': 'string'}, 'purchaseToken': {'type': 'string'}, 'transactionId': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_disconnect
Disconnect from ChatGPT
Sign out / unlink this ChatGPT conversation from Ucode. Clears the MCP session only (not account deletion). Use when the user asks to sign out, log out, disconnect, or switch accounts. Shows the welcome card with **Connect** again.
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_find_numbers
Find numbers & prices (no login)
No sign-in needed. Search which apps/services (Telegram, WhatsApp, Google, OpenAI…) have virtual numbers in stock, by country, with the price in Ucode credits. Use this first whenever someone asks for a number or a price. Then: signed-in humans rent with ucode_sms_rent_packages → ucode_sms_rent_with_credits; autonomous agents use ucode_agent_buy_credits / ucode_agent_rent.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['search'], 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max countries per service (default 15)'}, 'search': {'type': 'string', 'minLength': 1, 'description': 'App or service name, e.g. telegram, whatsapp, openai'}, 'country': {'type': 'string', 'description': "Optional country name or ISO code filter, e.g. 'United Kingdom' or 'gb'"}}}
ucode_help
Ucode help (AI)
Optional natural-language help about Ucode features and flows. Uses the OpenAI key from Panel (Settings → ChatGPT App) when set, else OPENAI_API_KEY on the MCP host. Respects the “AI help” toggle in Panel.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['question'], 'properties': {'question': {'type': 'string', 'maxLength': 2000, 'minLength': 4, 'description': 'User question about Ucode apps, credits, rentals, SMS codes, etc.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_instructions
Ucode user guide
Full product guide (read-only). **Not for the first message** — use **ucode_welcome** first. If the user is not signed in, call **ucode_welcome** / **ucode_login_start** instead of answering rental questions. Official site https://ucode.uk.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_login_poll
Finish browser sign-in
Poll after **ucode_login_start**. Links the ChatGPT session when the user has finished in the browser — **call repeatedly** until complete; do not ask users to paste tokens or to type “done” as the only completion signal.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId'], 'properties': {'sessionId': {'type': 'string', 'minLength': 16, 'description': 'sessionId returned by ucode_login_start'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_login_start
Sign in with browser (recommended)
Creates a one-time browser sign-in URL. Prefer the in-card **Connect** button (**ucode_connect**). Poll **ucode_login_poll(sessionId)** until linked.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_panel_ping
Panel API ping
Public health check against Ucode Panel (no auth). Official downloads and info: https://ucode.uk — do not use unrelated domains (e.g. ucode.io).
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_payments_nowpayments_create
Create crypto (NOWPayments) invoice
Creates a crypto invoice (NOWPayments) for human web/Telegram top-ups. ChatGPT humans should use **https://ucode.uk/app/credits** instead. Autonomous agents/bots must pay **USDC on Base via x402**, not NOWPayments.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['packageId'], 'properties': {'platform': {'enum': ['web', 'ios', 'android', 'telegram'], 'type': 'string'}, 'cancelUrl': {'type': 'string'}, 'packageId': {'type': 'string'}, 'returnUrl': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_payments_nowpayments_status
NOWPayments payment status
Poll invoice / payment status by NOWPayments id.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['paymentId'], 'properties': {'paymentId': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_payments_stripe_create_checkout
Create Stripe checkout
**Do not use in ChatGPT.** In-card Stripe is blocked. For humans, call **ucode_render_credits** and open **https://ucode.uk/app/credits**. For agents/bots, call **ucode_agent_billing** and pay USDC on Base via x402.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['packageId'], 'properties': {'cancelUrl': {'type': 'string'}, 'packageId': {'type': 'string', 'description': 'Exact packageId from ucode_credit_packages for the pack the user chose'}, 'returnUrl': {'type': 'string', 'description': 'Success URL; default deep link if omitted'}, 'stripeProductId': {'type': 'string', 'description': 'Legacy override â\x80\x94 omit; Panel maps Stripe from packageId.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_payments_stripe_prices
Stripe price lookup
**Rare.** Resolve fiat display for Stripe IDs — do **not** read raw **prod_**/ **price_** strings to end users; use **ucode_credit_packages** for storefront-style copy.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['priceIds'], 'properties': {'priceIds': {'type': 'string', 'description': 'Comma-separated Stripe price_â\x80¦ or prod_â\x80¦ IDs'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_payments_stripe_verify
Verify Stripe checkout
After Checkout completes, pass checkout **session id** plus **packageId** so Panel credits the account.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sessionId', 'packageId'], 'properties': {'packageId': {'type': 'string'}, 'sessionId': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_render_credits
Buy credits (visual picker)
Opens the **Add credits** card with the current wallet balance. ChatGPT cannot run Stripe in the iframe — the user taps through to **https://ucode.uk/app/credits**. After they pay, call **ucode_credits_status**. Agents/bots should call **ucode_agent_billing** and pay USDC on Base instead of this tool.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_render_home
Home (visual card)
**Call on the first user message** in every new chat. Renders the interactive Ucode card with a **Connect Ucode account** button. Until linked, only welcome/connect/login tools — never rent or checkout.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_render_services
Browse apps (visual picker)
Opens the **visual service picker** (popular apps + search). Call after sign-in or when the user wants a number — same data as **ucode_sms_summary** but optimized for the in-chat card.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'number'}, 'search': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_services_catalog
Services catalog (DB)
Paginated Ucode service catalog with per-country availability from the Panel database.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'page': {'type': 'number'}, 'limit': {'type': 'number'}, 'search': {'type': 'string'}, 'sortBy': {'type': 'string'}, 'sortOrder': {'enum': ['asc', 'desc'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_session_status
Session status
Check whether this ChatGPT session is linked to Ucode. Use at chat start; if connected is false, run **ucode_render_home** — do not process rental requests. If they already have a live number, the card shows it.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sign_out
Sign out
Same as **ucode_disconnect** — unlinks Ucode from this ChatGPT chat. Call for sign out, log out, or disconnect requests.
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_active_rentals
Active rentals
Active/received rentals with SMS snippets if already fetched.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_cancel_rental
Cancel rental
Cancel an active rental and refund credits when no SMS has arrived. Requires a cancel reason for analytics. Reasons: service_rejected | number_has_account | code_not_arrived | other. If an SMS arrives during cancel, credits stay charged and the code is returned.
Destructif
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rentalId', 'reason'], 'properties': {'reason': {'enum': ['service_rejected', 'number_has_account', 'code_not_arrived', 'other'], 'type': 'string'}, 'rentalId': {'type': 'string'}, 'reasonNote': {'type': 'string', 'maxLength': 280}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_countries
SMS countries
Raw worldwide country id table — pairs with legacy APIs only. For renting, use **ucode_sms_summary** / **ucode_sms_service_detail** so users pick by country name + credits.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_get_code
Get SMS / OTP
Poll latest SMS for a rental id (provider rental id string).
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rentalId'], 'properties': {'rentalId': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_prices
SMS prices & stock (legacy)
**Avoid for ChatGPT users.** Uses backend USD-ish snapshots; assistants must guide rentals via credits-only summaries (**ucode_sms_summary**, **ucode_sms_service_detail**) and **ucode_sms_rent_packages**. Responses are partially sanitized.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'country': {'type': 'number'}, 'minutes': {'type': 'number'}, 'service': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_refund_expired
Refund expired rentals
Trigger server-side refund scan for expired rentals (same as app).
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_rent_packages
Rent packages (flow v2)
After user picks **serviceCode** + **country** (numeric id from summary/detail), list **credit-priced routes** only. Same package picker as the app (rentalFlowVersion 2). Present **credits**, recommended badge, labels — never quote USD or backend provider names.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service', 'country'], 'properties': {'country': {'type': 'number'}, 'service': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_rent_provider_direct
Rent number (provider balance)
**Do not use for ChatGPT end users.** Legacy rental against upstream balances — skips normal credit UX and exposes provider-era assumptions. Only **ucode_sms_rent_with_credits** with packages.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service'], 'properties': {'country': {'type': 'number'}, 'service': {'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_rent_with_credits
Rent number (credits)
**Primary rental** — charges Ucode credits. Always use **rentalFlowVersion: 2** and **packageId** from **ucode_sms_rent_packages** (matches mobile). Never mention wholesale/provider IDs or dollar amounts to the user.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['service', 'country'], 'properties': {'country': {'type': 'number'}, 'service': {'type': 'string'}, 'packageId': {'type': 'string'}, 'clientCredits': {'type': 'number'}, 'rentalFlowVersion': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}], 'description': 'Use **2** (default flow); matches mobile package picker.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_service_detail
Service detail (countries, credits)
Load one service’s countries after you have its short **serviceCode** (from summary `service` field). Matches opening that service in the iOS/Android app: availability, credits per country. Prefer over legacy `/prices` APIs.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['serviceCode'], 'properties': {'serviceCode': {'type': 'string', 'minLength': 1, 'description': 'Short code, e.g. tg, wa, fb â\x80\x94 same as mobile app service id'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_services
SMS provider services
Low-level provider service codes — exposes internal naming. Do NOT use for normal rentals; prefer **ucode_sms_summary** or **ucode_sms_service_detail** then credits-only packages.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_summary
SMS services summary
Primary discovery: search by app/service name (e.g. Telegram, WhatsApp). Returns services with countries, **credits** only (no provider names / no USD in assistant copy). Same idea as the app Services tab. Then **ucode_sms_service_detail** or go straight to **ucode_sms_rent_packages** once service + country are chosen.
Lecture seule
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'v': {'anyOf': [{'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}]}, 'page': {'type': 'number'}, 'limit': {'type': 'number'}, 'search': {'type': 'string'}, 'sortBy': {'type': 'string'}, 'sortOrder': {'enum': ['asc', 'desc'], 'type': 'string'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_sms_transactions
SMS transaction history
Provider ledger audit trail — sanitized before ChatGPT. Prefer explaining rentals via **ucode_sms_active_rentals** for users.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_welcome
Welcome (start here)
Same as **ucode_render_home** — product summary + sign-in card. Prefer **ucode_render_home** on first message.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
ucode_whoami
Who am I
Current linked Ucode user (requires ucode_login_poll complete or ucode_authenticate).
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'summary'], 'properties': {'ok': {'type': 'boolean'}, 'code': {'type': 'string'}, 'data': {'type': 'object', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'error': {'type': 'string'}, 'phone': {'type': 'string'}, 'uiView': {'type': 'string'}, 'credits': {'type': 'number'}, 'endDate': {'type': 'string'}, 'smsCode': {'type': 'string'}, 'summary': {'type': 'string'}, 'rentalId': {'type': 'string'}, 'billingUrl': {'type': 'string'}, 'httpStatus': {'type': 'number'}, 'countryName': {'type': 'string'}, 'phoneNumber': {'type': 'string'}, 'serviceName': {'type': 'string'}, 'neededCredits': {'type': 'number'}, 'providerRentalId': {'type': 'string'}, 'remainingSeconds': {'type': 'number'}}, 'additionalProperties': {}}
Ajouté
ucode_agent_cancel
1 October 2026 02:43
Ajouté
ucode_agent_use_api_key
1 October 2026 02:43
Ajouté
ucode_agent_wallet
1 October 2026 02:43
Ajouté
ucode_agent_check_sms
1 October 2026 02:43
Ajouté
ucode_agent_rent
1 October 2026 02:43
Ajouté
ucode_agent_buy_credits
1 October 2026 02:43
Ajouté
ucode_agent_quote
1 October 2026 02:43
Ajouté
ucode_find_numbers
1 October 2026 02:43
Modifié
ucode_credit_referral_redeem
1 October 2026 02:43
Modifié
ucode_agent_billing
1 October 2026 02:43
Ajouté
ucode_app_init_snapshot
23 September 2026 02:40
Ajouté
ucode_sms_transactions
23 September 2026 02:40
Ajouté
ucode_sms_refund_expired
23 September 2026 02:40
Ajouté
ucode_sms_cancel_rental
23 September 2026 02:40
Ajouté
ucode_sms_get_code
23 September 2026 02:40
Ajouté
ucode_sms_active_rentals
23 September 2026 02:40
Ajouté
ucode_sms_rent_provider_direct
23 September 2026 02:40
Ajouté
ucode_sms_rent_with_credits
23 September 2026 02:40
Ajouté
ucode_sms_rent_packages
23 September 2026 02:40
Ajouté
ucode_sms_service_detail
23 September 2026 02:40
Ajouté
ucode_sms_summary
23 September 2026 02:40
Ajouté
ucode_sms_prices
23 September 2026 02:40
Ajouté
ucode_sms_countries
23 September 2026 02:40
Ajouté
ucode_sms_services
23 September 2026 02:40
Ajouté
ucode_services_catalog
23 September 2026 02:40
Ajouté
ucode_credits_verify_app_store_purchase
23 September 2026 02:40
Ajouté
ucode_payments_nowpayments_status
23 September 2026 02:40
Ajouté
ucode_payments_nowpayments_create
23 September 2026 02:40
Ajouté
ucode_payments_stripe_verify
23 September 2026 02:40
Ajouté
ucode_payments_stripe_create_checkout
23 September 2026 02:40