Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,523Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:d163f0ded4b0fd4a4b0533a84ced9d90206e54f5c2727f7f390c2608d93a575c
What it is
What a remote MCP server returned when asked what it offers: 50 tools

The blob, as servednamed by its sha256

{ "instructions": "Ucode (https://ucode.uk) provides temporary phone numbers that receive SMS verification codes for apps such as Telegram, WhatsApp, and Google. Use it only for the signed-in user's own account, and only for lawful verification.\n\nLink the account with the host Connect flow when it is offered. Otherwise call ucode_login_start, share the returned linkUrl, and call ucode_login_poll with that sessionId until linking finishes. Do not ask for passwords, access tokens, or API keys.\n\nIn ChatGPT, call ucode_render_home on the first message so the account card can appear.\n\nAfter the account is linked, rent the same way as the mobile apps: ucode_sms_summary or ucode_render_services, then ucode_sms_service_detail if a country list is needed, then ucode_sms_rent_packages, then ucode_sms_rent_with_credits with rentalFlowVersion 2 and packageId, then ucode_sms_get_code. State prices as Ucode credits. Do not name upstream providers. If the balance is too low to rent, say so and stop. Do not start a card, store, or crypto payment in the chat.\n\nIf no SMS arrives, ucode_sms_cancel_rental returns the credits. ucode_disconnect unlinks this chat only.\n\nFor product questions, call ucode_instructions and summarize the matching section.", "tools": [ { "description": "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**).", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_agent_billing", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "acceptLawfulUse": { "description": "Must be true — lawful verification, QA, travel or privacy use only", "type": "boolean" }, "pack": { "description": "packageId from ucode_agent_billing, or starter / plus / pro", "type": "string" }, "paymentHeader": { "description": "Base64 x402 payment payload (the X-PAYMENT header value) for step 2", "type": "string" } }, "required": [ "pack", "acceptLawfulUse" ], "type": "object" }, "name": "ucode_agent_buy_credits", "outputSchema": null }, { "description": "Cancel an agent rental when no SMS arrived; credits return to the agent wallet. Requires the uc_live_ API key.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "type": "string" }, "reason": { "enum": [ "service_rejected", "number_has_account", "code_not_arrived", "other" ], "type": "string" }, "reasonNote": { "maxLength": 300, "type": "string" } }, "required": [ "id", "reason" ], "type": "object" }, "name": "ucode_agent_cancel", "outputSchema": null }, { "description": "Poll an agent rental for the SMS/OTP. Pass id and pollToken from ucode_agent_rent (or rely on the session API key).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "id": { "description": "activation id", "type": "string" }, "pollToken": { "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "ucode_agent_check_sms", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country": { "anyOf": [ { "type": "string" }, { "type": "number" } ], "description": "countryId, ISO code or country name" }, "service": { "description": "Service code from ucode_find_numbers, e.g. tg, wa", "type": "string" } }, "required": [ "service" ], "type": "object" }, "name": "ucode_agent_quote", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "acceptLawfulUse": { "description": "Must be true", "type": "boolean" }, "apiKey": { "description": "uc_live_… key if not already active in this session", "type": "string" }, "country": { "anyOf": [ { "type": "string" }, { "type": "number" } ], "description": "countryId (preferred), ISO code or name" }, "paymentHeader": { "description": "x402 X-PAYMENT value for pay-per-SMS", "type": "string" }, "purpose": { "description": "Why the number is needed", "enum": [ "qa", "privacy", "travel", "business" ], "type": "string" }, "service": { "description": "Service code from ucode_find_numbers, e.g. tg", "type": "string" } }, "required": [ "service", "purpose", "acceptLawfulUse" ], "type": "object" }, "name": "ucode_agent_rent", "outputSchema": null }, { "description": "Activate a previously issued uc_live_ agent API key for this MCP session (for clients that cannot set an Authorization header).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "pattern": "^uc_live_.*", "type": "string" } }, "required": [ "apiKey" ], "type": "object" }, "name": "ucode_agent_use_api_key", "outputSchema": null }, { "description": "Credit balance of the agent wallet behind the active uc_live_ API key.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "apiKey": { "type": "string" } }, "type": "object" }, "name": "ucode_agent_wallet", "outputSchema": null }, { "description": "Combined snapshot (packages, rentals, credit status, settings). Use platform web for ChatGPT (Stripe/crypto web packages); ios/android for native.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "platform": { "enum": [ "android", "ios", "web" ], "type": "string" } }, "type": "object" }, "name": "ucode_app_init_snapshot", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "accessToken": { "description": "Developer only: mobile app Bearer token — never ask end users to paste this for normal login", "minLength": 20, "type": "string" } }, "required": [ "accessToken" ], "type": "object" }, "name": "ucode_authenticate", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Starts browser sign-in for the visual card **Connect** button. Returns linkUrl + sessionId with uiView sign-in. Poll **ucode_login_poll** until linked.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_connect", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Free-credit badges / gift breakdown.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_credit_gift_breakdown", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Same packs as **ucode_render_credits** (data). For ChatGPT humans prefer **ucode_render_credits** and the website dashboard. Agents: x402 USDC on Base.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_credit_packages", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Apply a friend's referral code (once per account, only if the referral program is active). Never guess, generate or loop over codes.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "code": { "maxLength": 20, "minLength": 4, "type": "string" } }, "required": [ "code" ], "type": "object" }, "name": "ucode_credit_referral_redeem", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Referral code and earnings summary.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_credit_referral_stats", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_credits_status", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Server-side verify of RevenueCat / store purchase (same as mobile). Requires packageId, transactionId, productId, platform (iOS/Android), and purchaseToken for Android.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "packageId": { "type": "string" }, "platform": { "enum": [ "iOS", "Android" ], "type": "string" }, "productId": { "type": "string" }, "purchaseToken": { "type": "string" }, "transactionId": { "type": "string" } }, "required": [ "packageId", "transactionId", "productId", "platform" ], "type": "object" }, "name": "ucode_credits_verify_app_store_purchase", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_disconnect", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country": { "description": "Optional country name or ISO code filter, e.g. 'United Kingdom' or 'gb'", "type": "string" }, "limit": { "description": "Max countries per service (default 15)", "maximum": 50, "minimum": 1, "type": "integer" }, "search": { "description": "App or service name, e.g. telegram, whatsapp, openai", "minLength": 1, "type": "string" } }, "required": [ "search" ], "type": "object" }, "name": "ucode_find_numbers", "outputSchema": null }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "question": { "description": "User question about Ucode apps, credits, rentals, SMS codes, etc.", "maxLength": 2000, "minLength": 4, "type": "string" } }, "required": [ "question" ], "type": "object" }, "name": "ucode_help", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_instructions", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "sessionId": { "description": "sessionId returned by ucode_login_start", "minLength": 16, "type": "string" } }, "required": [ "sessionId" ], "type": "object" }, "name": "ucode_login_poll", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Creates a one-time browser sign-in URL. Prefer the in-card **Connect** button (**ucode_connect**). Poll **ucode_login_poll(sessionId)** until linked.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_login_start", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Public health check against Ucode Panel (no auth). Official downloads and info: https://ucode.uk — do not use unrelated domains (e.g. ucode.io).", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_panel_ping", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "cancelUrl": { "type": "string" }, "packageId": { "type": "string" }, "platform": { "enum": [ "web", "ios", "android", "telegram" ], "type": "string" }, "returnUrl": { "type": "string" } }, "required": [ "packageId" ], "type": "object" }, "name": "ucode_payments_nowpayments_create", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Poll invoice / payment status by NOWPayments id.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "paymentId": { "type": "string" } }, "required": [ "paymentId" ], "type": "object" }, "name": "ucode_payments_nowpayments_status", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "**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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "cancelUrl": { "type": "string" }, "packageId": { "description": "Exact packageId from ucode_credit_packages for the pack the user chose", "type": "string" }, "returnUrl": { "description": "Success URL; default deep link if omitted", "type": "string" }, "stripeProductId": { "description": "Legacy override — omit; Panel maps Stripe from packageId.", "type": "string" } }, "required": [ "packageId" ], "type": "object" }, "name": "ucode_payments_stripe_create_checkout", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "**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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "priceIds": { "description": "Comma-separated Stripe price_… or prod_… IDs", "type": "string" } }, "required": [ "priceIds" ], "type": "object" }, "name": "ucode_payments_stripe_prices", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "After Checkout completes, pass checkout **session id** plus **packageId** so Panel credits the account.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "packageId": { "type": "string" }, "sessionId": { "type": "string" } }, "required": [ "sessionId", "packageId" ], "type": "object" }, "name": "ucode_payments_stripe_verify", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_render_credits", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "**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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_render_home", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "type": "number" }, "search": { "type": "string" } }, "type": "object" }, "name": "ucode_render_services", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Paginated Ucode service catalog with per-country availability from the Panel database.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "type": "number" }, "page": { "type": "number" }, "search": { "type": "string" }, "sortBy": { "type": "string" }, "sortOrder": { "enum": [ "asc", "desc" ], "type": "string" } }, "type": "object" }, "name": "ucode_services_catalog", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_session_status", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Same as **ucode_disconnect** — unlinks Ucode from this ChatGPT chat. Call for sign out, log out, or disconnect requests.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_sign_out", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Active/received rentals with SMS snippets if already fetched.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_sms_active_rentals", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "reason": { "enum": [ "service_rejected", "number_has_account", "code_not_arrived", "other" ], "type": "string" }, "reasonNote": { "maxLength": 280, "type": "string" }, "rentalId": { "type": "string" } }, "required": [ "rentalId", "reason" ], "type": "object" }, "name": "ucode_sms_cancel_rental", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_sms_countries", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Poll latest SMS for a rental id (provider rental id string).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "rentalId": { "type": "string" } }, "required": [ "rentalId" ], "type": "object" }, "name": "ucode_sms_get_code", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "**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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country": { "type": "number" }, "minutes": { "type": "number" }, "service": { "type": "string" } }, "type": "object" }, "name": "ucode_sms_prices", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Trigger server-side refund scan for expired rentals (same as app).", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_sms_refund_expired", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country": { "type": "number" }, "service": { "type": "string" } }, "required": [ "service", "country" ], "type": "object" }, "name": "ucode_sms_rent_packages", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "**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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country": { "type": "number" }, "service": { "type": "string" } }, "required": [ "service" ], "type": "object" }, "name": "ucode_sms_rent_provider_direct", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "**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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "clientCredits": { "type": "number" }, "country": { "type": "number" }, "packageId": { "type": "string" }, "rentalFlowVersion": { "anyOf": [ { "const": 1, "type": "number" }, { "const": 2, "type": "number" } ], "description": "Use **2** (default flow); matches mobile package picker." }, "service": { "type": "string" } }, "required": [ "service", "country" ], "type": "object" }, "name": "ucode_sms_rent_with_credits", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "serviceCode": { "description": "Short code, e.g. tg, wa, fb — same as mobile app service id", "minLength": 1, "type": "string" } }, "required": [ "serviceCode" ], "type": "object" }, "name": "ucode_sms_service_detail", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_sms_services", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "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.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "type": "number" }, "page": { "type": "number" }, "search": { "type": "string" }, "sortBy": { "type": "string" }, "sortOrder": { "enum": [ "asc", "desc" ], "type": "string" }, "v": { "anyOf": [ { "const": 1, "type": "number" }, { "const": 2, "type": "number" } ] } }, "type": "object" }, "name": "ucode_sms_summary", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Provider ledger audit trail — sanitized before ChatGPT. Prefer explaining rentals via **ucode_sms_active_rentals** for users.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_sms_transactions", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Same as **ucode_render_home** — product summary + sign-in card. Prefer **ucode_render_home** on first message.", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_welcome", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } }, { "description": "Current linked Ucode user (requires ucode_login_poll complete or ucode_authenticate).", "inputSchema": { "properties": {}, "type": "object" }, "name": "ucode_whoami", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": {}, "properties": { "billingUrl": { "type": "string" }, "code": { "type": "string" }, "countryName": { "type": "string" }, "credits": { "type": "number" }, "data": { "additionalProperties": {}, "propertyNames": { "type": "string" }, "type": "object" }, "endDate": { "type": "string" }, "error": { "type": "string" }, "httpStatus": { "type": "number" }, "neededCredits": { "type": "number" }, "ok": { "type": "boolean" }, "phone": { "type": "string" }, "phoneNumber": { "type": "string" }, "providerRentalId": { "type": "string" }, "remainingSeconds": { "type": "number" }, "rentalId": { "type": "string" }, "serviceName": { "type": "string" }, "smsCode": { "type": "string" }, "summary": { "type": "string" }, "uiView": { "type": "string" } }, "required": [ "ok", "summary" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d163f0ded4b0fd4a4b0533a84ced9d90206e54f5c2727f7f390c2608d93a575c | sha256sum