Widely
Connect your communications to your AI.
我该使用它吗
质量与安全性
发现(9)
- LOW在 get_forwarding 中
- LOW在 get_port 中
- LOW在 search_help 中
- LOW在 uk_divert_number 中
- LOW在 esim_install_steps 中
- LOW在 get_account_balance 中
- LOW在 list_wallet_activity 中
- LOW在 get_auto_topup 中
- LOW在 get_notification_preferences 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"widely": {
"url": "https://mcp.widely-mobile.com/mcp"
}
}
}远程端点
https://mcp.widely-mobile.com/mcpstreamable-http它能做什么
工具清单
工具(61)
🟢list_identities(include_shared)
Returns the phone numbers, caller IDs, verified SIM numbers, PBX extensions, and eSIMs on this Widely seat, with the provider that supplies each and what it can do.
输入模式
{
"type": "object",
"properties": {
"include_shared": {
"type": "boolean",
"description": "Include account shared numbers. This user and the account owner need Business."
}
},
"additionalProperties": false
}🟢search_calls(since, until, days, direction, missed_only, ...)
Finds phone calls on this Widely seat by date range, direction, contact name, or number. Returns one row per phone call, with direction, duration, outcome, the identity used, and whether a transcript or recording exists.
输入模式
{
"type": "object",
"properties": {
"since": {
"type": "string",
"description": "ISO 8601 start (inclusive)."
},
"until": {
"type": "string",
"description": "ISO 8601 end (exclusive)."
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650,
"description": "Look back this many days (default 30)."
},
"direction": {
"type": "string",
"enum": [
"inbound",
"outbound"
]
},
"missed_only": {
"type": "boolean"
},
"contact": {
"type": "string",
"description": "Saved contact name to match."
},
"number": {
"type": "string",
"description": "Phone number or trailing digits."
},
"query": {
"type": "string",
"description": "Words from a stored transcript. Pro."
},
"line": {
"type": "string",
"enum": [
"sip_extension",
"business_number",
"trunk"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max rows to return."
}
},
"additionalProperties": false
}🟢get_call(call_id)
Returns full detail for one phone call, identified by call_id, including which identity and provider carried it.
输入模式
{
"type": "object",
"properties": {
"call_id": {
"type": "string"
}
},
"required": [
"call_id"
],
"additionalProperties": false
}🟢get_transcript(call_id)
Returns stored transcript text already saved for a phone call. Does not start a new transcription. While speaking is still in progress, the status is in_progress. Returns no_transcript only after the conversation has ended with no stored text.
输入模式
{
"type": "object",
"properties": {
"call_id": {
"type": "string"
}
},
"required": [
"call_id"
],
"additionalProperties": false
}🟢get_recording(call_id)
Returns a short-lived streaming link for a recorded phone call. Business plan, and the grant includes recordings.read.
输入模式
{
"type": "object",
"properties": {
"call_id": {
"type": "string"
}
},
"required": [
"call_id"
],
"additionalProperties": false
}🟢list_voicemails(days, limit)
Returns recent voicemails on this seat with caller, time, duration, and transcript text when one is stored.
输入模式
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650,
"description": "Look back this many days (default 30)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max rows to return."
}
},
"additionalProperties": false
}🟢get_voicemail(call_id, include_audio)
Returns one voicemail by call_id, including its transcript. include_audio also returns a short-lived audio link on Pro and above.
输入模式
{
"type": "object",
"properties": {
"call_id": {
"type": "string"
},
"include_audio": {
"type": "boolean"
}
},
"required": [
"call_id"
],
"additionalProperties": false
}🟢search_messages(query, conversation_id, days, limit)
Searches this user's Widely, SMS, and WhatsApp threads by keyword and date. Returns message text with sender and thread. Support and assistant threads are excluded.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword to match in message text."
},
"conversation_id": {
"type": "string"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650,
"description": "Look back this many days (default 30)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max rows to return."
}
},
"additionalProperties": false
}🟢get_thread(conversation_id, before, limit)
Returns messages in one thread, oldest first. before is an ISO 8601 cursor for older pages.
输入模式
{
"type": "object",
"properties": {
"conversation_id": {
"type": "string"
},
"before": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max rows to return."
}
},
"required": [
"conversation_id"
],
"additionalProperties": false
}🟢search_contacts(query, limit)
Finds saved contacts on this seat by name. Returns names and phone numbers.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"query"
],
"additionalProperties": false
}🟡send_message(to, text, identity_id)
Sends an SMS or a Widely message to a phone number or saved contact. Pro plan. Sending happens on this request.
输入模式
{
"type": "object",
"properties": {
"to": {
"type": "string",
"description": "Phone number or saved contact name."
},
"text": {
"type": "string",
"description": "Message text."
},
"identity_id": {
"type": "string",
"description": "Optional identity id when the grant is limited to specific numbers."
}
},
"additionalProperties": false
}⚪request_call(destination, identity_id)
Rings the user's phones. After one answers, dials the destination into that same conversation. The result shows as an outgoing phone call. The user speaks on it. Pro plan. If no phone answers, the destination is not dialled.
输入模式
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Phone number to connect after the user answers."
},
"identity_id": {
"type": "string",
"description": "Optional identity id. Omit it and Widely picks the caller ID the same way the app does. Needed only when the grant is limited to several numbers."
}
},
"additionalProperties": false
}🟢get_usage(days, company)
Returns the eSIM data balance and minutes already used on this seat. company=true covers the whole account on Business.
输入模式
{
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 3650,
"description": "Look back this many days (default 30)."
},
"company": {
"type": "boolean"
}
},
"additionalProperties": false
}🟢get_forwarding
Returns how this seat's numbers are forwarded. Pro plan.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🔴update_forwarding(identity_id, forward_to)
Points a verified number at a business number on this seat, or stops forwarding when forward_to is empty. Pro plan.
输入模式
{
"type": "object",
"properties": {
"identity_id": {
"type": "string"
},
"forward_to": {
"type": "string",
"description": "A business number on this seat, or empty to stop."
}
},
"additionalProperties": false
}⚪request_transcript(call_id)
Asks Widely to transcribe a recording that has no text yet. Pro plan.
输入模式
{
"type": "object",
"properties": {
"call_id": {
"type": "string"
}
},
"required": [
"call_id"
],
"additionalProperties": false
}⚪request_speak(destination, task, identity_id, connect_user)
Dials the number and the assistant handles the task on the phone. Business plan. The user's own phones stay quiet unless connect_user is true. Returns immediately with call_id. An empty transcript means speaking is still in progress. connect_user true asks the person to hold, rings the user's phones into the same conversation, and the assistant leaves.
输入模式
{
"type": "object",
"properties": {
"destination": {
"type": "string"
},
"task": {
"type": "string",
"description": "What the assistant should say and do. Max 500 characters."
},
"identity_id": {
"type": "string",
"description": "Optional identity id. Omit it and Widely picks the caller ID the same way the app does. Needed only when the grant is limited to several numbers."
},
"connect_user": {
"type": "boolean",
"description": "When true, the destination is asked to hold, the user's phones are rung into the same conversation, and the assistant leaves."
}
},
"required": [
"destination",
"task"
],
"additionalProperties": false
}🔴control_call(call_id, action, destination)
Holds, resumes, hangs up, or transfers an in-progress conversation on this seat. Business plan.
输入模式
{
"type": "object",
"properties": {
"call_id": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"hold",
"resume",
"hangup",
"transfer"
]
},
"destination": {
"type": "string"
}
},
"required": [
"call_id",
"action"
],
"additionalProperties": false
}🟢list_pbx
Returns shared numbers and phone menus. This user and the account owner need Business.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_account
Returns the plan, wallet balance, how many people are on the account, how many eSIMs are live, and which setups this seat can run.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_phone_system
Returns numbers and who answers them, AI receptionists, press-1 menus, queues, and opening hours. The owner needs Business for shared phone-system features; queue agents, shared-number users, and direct person targets need Business too.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_team
Returns people on this account and pending email invites.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢search_numbers(country, city, number_type, currency)
Find Widely phone numbers available for a country and an optional city, with the monthly price. Use this when a local number is needed. No sign-in. This does not purchase a number.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Two-letter country code or country name."
},
"city": {
"type": "string"
},
"number_type": {
"type": "string",
"description": "local, mobile, or toll-free."
},
"currency": {
"type": "string",
"description": "GBP, EUR, USD, or ILS. Omit for the rate-checker default."
}
},
"required": [
"country"
],
"additionalProperties": false
}🟢quote_number(country, number_type, currency)
Price a Widely phone number for a country, including the monthly amount and whether local calls are included. Use this when a UK, US, Israeli, or other local number is needed. No sign-in. This does not purchase the number.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"number_type": {
"type": "string"
},
"currency": {
"type": "string",
"description": "GBP, EUR, USD, or ILS. Omit for the rate-checker default."
}
},
"required": [
"country"
],
"additionalProperties": false
}🟢quote_port(number, country, number_type, currency)
Price moving an existing number onto Widely. Use this when the current number should be kept. The move is not instant. No sign-in. This does not start the move.
输入模式
{
"type": "object",
"properties": {
"number": {
"type": "string"
},
"country": {
"type": "string"
},
"number_type": {
"type": "string"
},
"currency": {
"type": "string",
"description": "GBP, EUR, USD, or ILS. Omit for the rate-checker default."
}
},
"additionalProperties": false
}🟢get_port(port_id)
Returns the current status of a port request. A port is not instant.
输入模式
{
"type": "object",
"properties": {
"port_id": {
"type": "string"
}
},
"required": [
"port_id"
],
"additionalProperties": false
}🟢quote_esim(country, gb, currency)
Price Widely travel data for a country. Use this when a trip needs data and not a home mobile service. Pay as you go per GB, with no data package. An optional gb value returns an estimate billed in 0.1 GiB steps. No sign-in.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"gb": {
"type": "number",
"description": "Optional amount of data to estimate."
},
"currency": {
"type": "string",
"description": "GBP, EUR, USD, or ILS. Omit for the rate-checker default."
}
},
"required": [
"country"
],
"additionalProperties": false
}🟢discover_services(country, service_type, form_factor, capability, capabilities, ...)
Find a home mobile service Widely can provide for a country, including eSIM or physical SIM, native voice, SMS, a mobile number, and a regular or kosher line when the offer includes it. No sign-in. An empty list means nothing is listed yet. Travel data for a trip is a separate Widely product.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Country name or two-letter code."
},
"service_type": {
"type": "string"
},
"form_factor": {
"type": "string",
"description": "esim or physical_sim."
},
"capability": {
"type": "string",
"description": "One capability the offer declares, such as native_voice, sms, mobile_number, or number_porting."
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"description": "Every capability the offer declares. A missing one is left out."
},
"number_line": {
"type": "string",
"description": "regular or kosher. Returned only when the offer lists that line."
}
},
"additionalProperties": false
}🟢quote_service(offer_id, form_factor, number_line, number)
Price one listed home mobile service for a form factor and number line that offer allows. The amount comes from that offer. No sign-in. This is separate from Widely travel data.
输入模式
{
"type": "object",
"properties": {
"offer_id": {
"type": "string"
},
"form_factor": {
"type": "string"
},
"number_line": {
"type": "string",
"description": "regular or kosher, when the offer allows it."
},
"number": {
"type": "string"
}
},
"required": [
"offer_id",
"form_factor",
"number_line"
],
"additionalProperties": false
}🟢quote_call(destination, country, number_type, currency)
Returns the price for dialling a destination number or country. No sign-in. This does not place the call.
输入模式
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"description": "Phone number to price."
},
"country": {
"type": "string"
},
"number_type": {
"type": "string"
},
"currency": {
"type": "string",
"description": "GBP, EUR, USD, or ILS. Omit for the rate-checker default."
}
},
"additionalProperties": false
}🟢list_plans(currency)
List Free, Pro, and Business monthly prices. Each monthly figure is per user. Quote that amount. Do not round it and do not call it an account price. No sign-in. This does not change the plan. Business covers the office phone system.
输入模式
{
"type": "object",
"properties": {
"currency": {
"type": "string",
"description": "GBP, EUR, USD, or ILS. Defaults to EUR."
}
},
"additionalProperties": false
}⚪prepare_order(kind, country, gb, currency, number_type, ...)
Prepare travel data, a phone number, a number move, a listed mobile service, Pro or Business, or an office phone system after the price is known. Returns a Widely link to finish. Pro and Business quotes include monthly_per_user and monthly_total (that price times users). No sign-in. This does not charge a card or the wallet.
输入模式
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"travel_data",
"number",
"port",
"mobile_service",
"membership",
"phone_system"
],
"description": "What the person needs."
},
"country": {
"type": "string",
"description": "Country name or two-letter code."
},
"gb": {
"type": "number",
"description": "Travel data amount to estimate."
},
"currency": {
"type": "string",
"description": "GBP, EUR, USD, or ILS."
},
"number_type": {
"type": "string"
},
"number": {
"type": "string",
"description": "Existing number when kind is port."
},
"offer_id": {
"type": "string"
},
"form_factor": {
"type": "string",
"description": "esim or physical_sim."
},
"number_line": {
"type": "string",
"description": "regular or kosher, when the offer allows it."
},
"plan_tier": {
"type": "string",
"enum": [
"pro",
"business"
]
},
"users": {
"type": "integer",
"minimum": 1
},
"phone_numbers": {
"type": "integer",
"minimum": 0
},
"business_hours": {
"type": "boolean"
},
"queue": {
"type": "boolean"
},
"menu": {
"type": "boolean"
},
"ai_receptionist": {
"type": "boolean"
},
"who_answers": {
"type": "string"
},
"recording": {
"type": "boolean"
},
"correlation_id": {
"type": "string",
"description": "Existing acquisition id, when one was already issued."
}
},
"required": [
"kind"
],
"additionalProperties": false
}⚪invite_member(email)
Emails an invitation to join this Widely account. New users start Free; there is no account user limit.
输入模式
{
"type": "object",
"properties": {
"email": {
"type": "string"
}
},
"required": [
"email"
],
"additionalProperties": false
}🔴upsert_receptionist(id, name, greeting, knowledge, voice, ...)
Creates or edits an AI receptionist. The account owner needs Business. It speaks with the caller and does not transfer the live conversation to a person.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"greeting": {
"type": "string"
},
"knowledge": {
"type": "string"
},
"voice": {
"type": "string"
},
"languages": {
"type": "array",
"items": {
"type": "string"
}
},
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
}🔴upsert_menu(id, name, greeting, keys, enabled)
Creates or edits a press-1 menu. The account owner needs Business. A direct person target and every queue agent also need Business.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"greeting": {
"type": "string"
},
"keys": {
"type": "array",
"description": "Press-1 choices. Sending keys replaces the menu's choices.",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"digit": {
"type": "string",
"description": "Key the caller presses, such as 1."
},
"target": {
"type": "string",
"enum": [
"user",
"queue",
"ai_receptionist"
],
"description": "user rings a person. queue rings a queue. ai_receptionist sends the caller to an AI receptionist."
},
"consumer_user_id": {
"type": "string",
"description": "Person on this account when target is user."
},
"queue_id": {
"type": "string",
"description": "Queue on this account when target is queue."
},
"receptionist_id": {
"type": "string",
"description": "AI receptionist on this account when target is ai_receptionist."
}
},
"required": [
"digit",
"target"
]
}
},
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
}🔴upsert_queue(id, name, strategy, max_wait_seconds, overflow, ...)
Creates or edits a queue. The account owner and every queue member need Business; calls ring only signed-in, available members.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"strategy": {
"type": "string",
"enum": [
"round_robin",
"least_recent",
"priority"
]
},
"max_wait_seconds": {
"type": "integer"
},
"overflow": {
"type": "string",
"enum": [
"voicemail",
"other_queue",
"hangup"
]
},
"member_ids": {
"type": "array",
"items": {
"type": "string"
}
},
"auto_record": {
"type": "boolean"
}
},
"additionalProperties": false
}🔴upsert_hours(id, name, timezone, windows)
Creates or edits a named weekly schedule. The account owner needs Business. day is 0 for Monday through 6 for Sunday; start and end are HH:MM.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"timezone": {
"type": "string"
},
"windows": {
"type": "array",
"items": {
"type": "object"
}
}
},
"additionalProperties": false
}🔴set_number_routing(number_id, number, target, target_id, time_group_id, ...)
Points a number at ring_me, personal_assistant, a receptionist, a menu, a queue, voicemail, busy, or decline. An optional closed target uses the opening hours. A shared line, receptionist, menu, or queue needs Business.
输入模式
{
"type": "object",
"properties": {
"number_id": {
"type": "string"
},
"number": {
"type": "string"
},
"target": {
"type": "string"
},
"target_id": {
"type": "string"
},
"time_group_id": {
"type": "string"
},
"closed_target": {
"type": "string"
},
"closed_target_id": {
"type": "string"
},
"auto_record": {
"type": "boolean"
}
},
"additionalProperties": false
}🟡submit_product_note(kind, text, title, reply_url, conversation_id)
Sends Widely a note about a missing capability, a complaint, or a use case to build. No account is required. reply_url, when it is https, receives each desk reply. Returns conversation_id. Passing that id on a later request adds to the same thread.
输入模式
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"request",
"complaint",
"use_case",
"other"
]
},
"text": {
"type": "string"
},
"title": {
"type": "string"
},
"reply_url": {
"type": "string",
"description": "Public https URL that receives each reply."
},
"conversation_id": {
"type": "string",
"description": "Continue this thread instead of opening a new one."
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢get_product_note(conversation_id)
Returns one product-note thread by conversation_id, oldest first. No account is required. Does not list other threads.
输入模式
{
"type": "object",
"properties": {
"conversation_id": {
"type": "string"
}
},
"required": [
"conversation_id"
],
"additionalProperties": false
}🔴subscribe_events(webhook_url, events)
Sets the https URL that receives call.started, call.ended, and speak.completed for this seat. events chooses which of those names to receive. Omitting events receives all three. An empty webhook_url stops delivery.
输入模式
{
"type": "object",
"properties": {
"webhook_url": {
"type": "string",
"description": "Public https URL, or empty to stop."
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"call.started",
"call.ended",
"speak.completed"
]
},
"description": "Names to receive. Omit or empty for all of them."
}
},
"additionalProperties": false
}🟢search_help(query)
Returns public product facts and in-app menu names for a question. No sign-in. Does not return a price.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢uk_divert_number
Returns the UK shared Always-forward destination and the dial code. No sign-in.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢delete_account_steps
Returns how a customer deletes a Widely account, including the in-app path and the confirmation word. Signup uses a one-time code. No sign-in. The response does not include a customer name and does not include a refund.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢port_requirements
Returns the documents a number port needs. No sign-in. Does not submit a port.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢esim_install_steps
Returns the eSIM install path and the APN. The APN is null when this profile has no APN. No sign-in.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_account_balance
Returns the live wallet total for this seat, the same headline as Home and Wallet. The response has no spendable or reserved breakdown.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_wallet_activity(limit, offset)
Returns the wallet ledger of top-ups, product debits, and holds. Each row includes the customer label.
输入模式
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}🟢explain_charges(question)
Returns charges already on this account, with amounts and labels. An empty list means there is no matching charge.
输入模式
{
"type": "object",
"properties": {
"question": {
"type": "string"
}
},
"additionalProperties": false
}🟢list_payment_methods
Returns masked saved cards and bank methods: brand, last4, and default. A processor id is not included.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_data_rate(country, gb)
Returns this customer's pay-as-you-go data ladder, starting from data already used this period. This is the account rate, separate from the public shelf. Omitting gb returns the volume points.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "ISO-2 or country name."
},
"gb": {
"type": "number",
"description": "Gigabytes they expect. Omit when they have not said."
}
},
"required": [
"country"
],
"additionalProperties": false
}🟢check_call_rate(destination, country, number_type)
Returns the per-minute rate to a destination country or number for this account. The rate depends on the destination.
输入模式
{
"type": "object",
"properties": {
"destination": {
"type": "string"
},
"country": {
"type": "string"
},
"number_type": {
"type": "string",
"enum": [
"mobile",
"geographic",
"landline"
]
}
},
"additionalProperties": false
}🟢get_did_rate(country, number_type)
Returns an indicative monthly phone-number price for a country, using this account's rate checker.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string"
},
"number_type": {
"type": "string"
}
},
"required": [
"country"
],
"additionalProperties": false
}🟢list_did_numbers
Returns this account's phone numbers, including numbers that stay inactive until identity registration is finished.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢list_wallet_refunds
Returns first-eSIM wallet top-ups that can be refunded to the card: the profile has not been installed and the top-up is inside the refund window.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_auto_topup
Returns whether auto top-up is on, and the threshold and amount.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢get_notification_preferences
Returns notification toggles and the low-balance threshold.
输入模式
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢run_esim_connection_check(device_id, sim_id)
Asks this user's Widely app to check the eSIM and returns a request_id. A result of no_install_yet means the profile may have been installed from a QR and the Widely app is not on that phone. An APN is not included.
输入模式
{
"type": "object",
"properties": {
"device_id": {
"type": "string"
},
"sim_id": {
"type": "string"
}
},
"additionalProperties": false
}🟢get_esim_connection_check(request_id)
Returns the result of an eSIM connection check for request_id, including fail and warn items. Phone settings are not changed.
输入模式
{
"type": "object",
"properties": {
"request_id": {
"type": "string"
}
},
"required": [
"request_id"
],
"additionalProperties": false
}🟡ask_support(text)
Writes a message into this user's Support chat for a person to read. Any connected account can send it. Support's own assistant does not answer this message. text is what is needed and what was already tried.
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢read_support(limit)
Returns messages in this user's Support chat, oldest first. Any connected account can read it. Other chats are not included.
输入模式
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Max rows to return."
}
},
"additionalProperties": false
}社区
证据