{"auth":{"api_base":"https://api.swiftcom.cc/api","api_key":"Authorization: Bearer pk_live_<hex> (or pk_test_). Create keys via CRUD ApiKey; the full key is shown once. Hashed at rest (key_hash is never returned).","crud":"Generic entity routes: GET/POST /api/<entity>/ and GET/PUT/DELETE /api/<entity>/<id>. Entity name is lowercased (SipTrunk \u2192 /api/siptrunk/). Nested members use ?include= or model_api_includes defaults. Writes that charge money need confirm + quoted_charge (never a single tap).","jwt":"Authorization: Bearer <access_jwt>. Issued at login. JWT identity is User.id \u2014 never use it as consumer_user_id.","scope":"Every consumer-scoped request must pass consumer_user_id or consumer_id as a query param (and in JSON bodies that mutate). The server does not infer CU from the JWT.","upgrade_required":"409 {\"error\":\"platform_upgrade_required\", ...} when a Free account hits a Pro/Business capability. Open in-app membership \u2014 do not send users to the marketing site to pay.","user_patch":"A consumer User PATCH can return 200 and store nothing for restricted fields. Profile writes go through PUT /api/user_routes/update-profile; identity email/phone are OTP-owned."},"custom_routes":[{"auth":true,"method":"GET","path":"/api/membership/plans","summary":"Platform tiers with capabilities for the signed-in account"},{"auth":false,"method":"GET","path":"/api/membership/plans/public","summary":"Public Free/Pro/Business cards (no session)"},{"auth":true,"method":"POST","path":"/api/membership/upgrade","summary":"Upgrade platform tier; debit the Consumer wallet"},{"auth":true,"method":"POST","path":"/api/membership/downgrade","summary":"Schedule a tier downgrade at period end"},{"auth":true,"method":"GET","path":"/api/membership/sip-channel-pool","summary":"Shared SIP channel pack capacity for the account"},{"auth":true,"method":"GET","path":"/api/membership/sip-channel-pool/quote","summary":"Read-only price for a SIP channel pack change"},{"auth":true,"method":"POST","path":"/api/membership/sip-channel-pool","summary":"Commit SIP pack change: confirm=true plus quoted_charge echo"},{"auth":true,"method":"GET","path":"/api/membership/channel-quote","summary":"Read-only price for extra DID channels"},{"auth":true,"method":"GET","path":"/api/balance_and_payment_routes/get-balance","summary":"Wallet available_balance and currency"},{"auth":false,"method":"GET","parameters":[{"in":"query","name":"currency","schema":{"enum":["GBP","EUR","USD","ILS"],"type":"string"}},{"in":"query","name":"country_code","schema":{"maxLength":2,"minLength":2,"type":"string"}},{"in":"query","name":"search","schema":{"type":"string"}},{"in":"query","name":"include_samples","schema":{"type":"boolean"}}],"path":"/api/pricing/public/data-rate-card","summary":"PAYG eSIM rate card; volume ranges are marginal, not flat rates"},{"auth":false,"method":"GET","parameters":[{"in":"path","name":"country_code","required":true,"schema":{"maxLength":2,"minLength":2,"type":"string"}},{"in":"path","name":"currency","required":true,"schema":{"enum":["GBP","EUR","USD","ILS"],"type":"string"}},{"in":"path","name":"gb","required":true,"schema":{"exclusiveMinimum":0,"format":"double","type":"number"}}],"path":"/api/pricing/public/data-estimate/{country_code}/{currency}/{gb}","summary":"Exact path-based PAYG data estimate for a country, currency, and decimal GB amount"},{"auth":false,"method":"GET","path":"/api/pricing/public/countries","summary":"Server-rendered live country data-pricing index"},{"auth":false,"method":"GET","parameters":[{"in":"path","name":"country_slug","required":true,"schema":{"type":"string"}}],"path":"/api/pricing/public/country/{country_slug}","summary":"Server-rendered live rates and 1/5/10/20/50 GB totals in all public currencies"},{"auth":false,"method":"POST","path":"/api/pricing/public/estimate-data-cost","summary":"Estimate PAYG data cost for country + GB"},{"auth":false,"method":"POST","path":"/api/pricing/public/check-call-rate","summary":"Indicative per-minute call rate"},{"auth":false,"method":"GET","path":"/api/pricing/public/did-rates","summary":"Indicative DID monthly/setup rates"},{"auth":true,"method":"POST","path":"/api/voip/check-rate","summary":"Signed-in rate checker (same engine as the app)"},{"auth":true,"method":"POST","path":"/api/sim_orders/sims/purchase","summary":"Provision a PAYG eSIM (wallet debit; install-first / platform cap apply)"},{"auth":true,"method":"POST","path":"/api/call_forwarding/setup_call_forwarding","summary":"Start Receive SIM calls for a verified number"},{"auth":true,"method":"POST","path":"/api/call_forwarding/test_forwarding","summary":"Place the verification call used to prove SIM forwarding"}],"destinations":[{"key":"profile","label":"Profile","nav_steps":"tap your profile picture (top right) \u2192 Profile","path":"/profile","url":"https://webapp.widely-mobile.com/profile"},{"key":"account","label":"Account","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 Account \u2192 Account","path":"/account","url":"https://webapp.widely-mobile.com/account"},{"key":"phone_numbers","label":"Phone Numbers","nav_steps":"Home tab \u2192 Phone numbers, or tap your profile picture (top right) or Home \u2192 All settings \u2192 Phone Numbers","path":"/did","url":"https://webapp.widely-mobile.com/did"},{"key":"balance","label":"Balance & Payments","nav_steps":"Home tab \u2192 Balance, or tap your profile picture (top right) or Home \u2192 All settings \u2192 Balance & Payments","path":"/balance","url":"https://webapp.widely-mobile.com/balance"},{"key":"balance_topup","label":"Top Up","nav_steps":"Home \u2192 Balance \u2192 Top Up, or tap your profile picture (top right) or Home \u2192 All settings \u2192 Balance & Payments \u2192 Top Up","path":"/balance/topup","url":"https://webapp.widely-mobile.com/balance/topup"},{"key":"caller_ids","label":"Caller IDs","nav_steps":"Home tab \u2192 Caller ID, or tap your profile picture (top right) or Home \u2192 All settings \u2192 Caller IDs","path":"/callerid","url":"https://webapp.widely-mobile.com/callerid"},{"key":"esim","label":"Mobile data (eSIM)","nav_steps":"Home tab \u2192 Mobile data (eSIM), or tap your profile picture (top right) or Home \u2192 All settings \u2192 Mobile data (eSIM)","path":"/esim/oneglobal","url":"https://webapp.widely-mobile.com/esim/oneglobal"},{"key":"call_forwarding","label":"Receive SIM calls","nav_steps":"Home tab \u2192 Receive SIM calls, or tap your profile picture (top right) or Home \u2192 All settings \u2192 SIM Call Forwarding","path":"/call-forwarding","url":"https://webapp.widely-mobile.com/call-forwarding"},{"key":"rate_checker","label":"Rate Checker","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 Rate Checker (or from Mobile data (eSIM))","path":"/rate-checker","url":"https://webapp.widely-mobile.com/rate-checker"},{"key":"membership","label":"Your plan","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 Account \u2192 Your plan","path":"/settings/membership","url":"https://webapp.widely-mobile.com/settings/membership"},{"key":"call_recording","label":"Call recording","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 Calls and messages \u2192 Call services \u2192 Call recording","path":"/settings/call-recording","url":"https://webapp.widely-mobile.com/settings/call-recording"},{"key":"voicemail","label":"Voicemail","nav_steps":"Home \u2192 Search \u2192 Voicemail","path":"/settings/voicemail","url":"https://webapp.widely-mobile.com/settings/voicemail"},{"key":"language","label":"Language","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 App \u2192 Language","path":"/settings/language","url":"https://webapp.widely-mobile.com/settings/language"},{"key":"notifications","label":"Notifications","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 App \u2192 Notifications","path":"/settings/notifications","url":"https://webapp.widely-mobile.com/settings/notifications"},{"key":"travel_ready","label":"Ready to travel","nav_steps":"Home tab \u2192 Ready to travel (eSIM, Receive SIM calls, and wallet on this phone)","path":"/travel-ready","url":"https://webapp.widely-mobile.com/travel-ready"},{"key":"support","label":"Help & Support","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 Help & Support","path":"/settings/support","url":"https://webapp.widely-mobile.com/settings/support"},{"key":"sip_trunks","label":"SIP trunks","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 Calls and messages \u2192 Connectivity \u2192 SIP trunks","path":"/settings/sip-trunks","url":"https://webapp.widely-mobile.com/settings/sip-trunks"},{"key":"api_keys","label":"API keys","nav_steps":"tap your profile picture (top right) or Home \u2192 All settings \u2192 Calls and messages \u2192 Connectivity \u2192 API keys","path":"/settings/api-keys","url":"https://webapp.widely-mobile.com/settings/api-keys"}],"entities":[{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"Account","fields":[],"item_path":"/api/account/{id}","path":"/api/account/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"ApiKey","fields":[],"item_path":"/api/apikey/{id}","path":"/api/apikey/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"BroadcastList","fields":[],"item_path":"/api/broadcastlist/{id}","path":"/api/broadcastlist/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"CallQueue","fields":[],"item_path":"/api/callqueue/{id}","path":"/api/callqueue/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"CallerID","fields":[],"item_path":"/api/callerid/{id}","path":"/api/callerid/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"ConsumerUser","fields":[{"name":"client_shell","nullable":true,"required":false,"type":"string"}],"item_path":"/api/consumeruser/{id}","path":"/api/consumeruser/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"ConsumerUserInvite","fields":[],"item_path":"/api/consumeruserinvite/{id}","path":"/api/consumeruserinvite/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"DID","fields":[],"item_path":"/api/did/{id}","path":"/api/did/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"Extension","fields":[],"item_path":"/api/extension/{id}","path":"/api/extension/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"IVRConfig","fields":[],"item_path":"/api/ivrconfig/{id}","path":"/api/ivrconfig/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"LCR","fields":[],"item_path":"/api/lcr/{id}","path":"/api/lcr/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"LCRTrunk","fields":[],"item_path":"/api/lcrtrunk/{id}","path":"/api/lcrtrunk/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"Rate","fields":[],"item_path":"/api/rate/{id}","path":"/api/rate/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"RateSheet","fields":[],"item_path":"/api/ratesheet/{id}","path":"/api/ratesheet/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"RoutingRule","fields":[],"item_path":"/api/routingrule/{id}","path":"/api/routingrule/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"SharedTrunk","fields":[],"item_path":"/api/sharedtrunk/{id}","path":"/api/sharedtrunk/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"SipTrunk","fields":[],"item_path":"/api/siptrunk/{id}","path":"/api/siptrunk/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"TimeGroup","fields":[],"item_path":"/api/timegroup/{id}","path":"/api/timegroup/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"User","fields":[],"item_path":"/api/user/{id}","path":"/api/user/"},{"allow":{"create":true,"delete":true,"get":true,"list":true,"update":true},"entity":"VerifiedNumber","fields":[],"item_path":"/api/verifiednumber/{id}","path":"/api/verifiednumber/"}],"knowledge":{"capabilities":{"business":{"advanced_routing":true,"invite_users":true,"max_active_dids":null,"max_active_esims":3,"max_authenticated_numbers":null,"max_billable_users":null,"max_sip_trunks":null,"org_pbx":true,"pa_awareness":true,"pa_chat_unlimited":true,"pa_voicemail":true,"recording":true,"shared_numbers":true,"sip_trunk":true,"sip_trunk_extra_channels":true,"skip_widely_announcement":true,"transcription":true},"free":{"advanced_routing":false,"invite_users":false,"max_active_dids":1,"max_active_esims":1,"max_authenticated_numbers":1,"max_billable_users":1,"max_sip_trunks":1,"org_pbx":false,"pa_awareness":false,"pa_chat_unlimited":false,"pa_voicemail":false,"recording":false,"shared_numbers":false,"sip_trunk":true,"sip_trunk_extra_channels":false,"skip_widely_announcement":false,"transcription":false},"pro":{"advanced_routing":true,"invite_users":true,"max_active_dids":null,"max_active_esims":3,"max_authenticated_numbers":null,"max_billable_users":null,"max_sip_trunks":1,"org_pbx":false,"pa_awareness":true,"pa_chat_unlimited":true,"pa_voicemail":true,"recording":true,"shared_numbers":false,"sip_trunk":true,"sip_trunk_extra_channels":true,"skip_widely_announcement":true,"transcription":true}},"data_pricing_note":"Data volume pricing is marginal. Use the live estimator for an exact usage total; do not multiply a headline rate range by GB.","live_data_estimate":"https://api.swiftcom.cc/api/pricing/public/data-estimate/{country_code}/{currency}/{gb}","live_data_rates_by_country":"https://widely-mobile.com/en/pricing/countries","live_rates":"https://widely-mobile.com/en/pricing","membership_public_plans":"https://api.swiftcom.cc/api/membership/plans/public","payg_footnote":"Numbers, calls, messages, data, and extra channel capacity stay pay as you go on every plan. A platform tier does not include a DID, minutes, messages, data, or wallet credit.","platform_tiers":["free","pro","business"],"product":"Widely Mobile","settings_chrome":"tap your profile picture (top right) or Home \u2192 All settings","what_we_are":["Widely is a consumer communications app: your SIM number and/or a Widely number, on iOS, Android, web, and desktop.","Receive SIM calls: people call your SIM; it rings in Widely.","Free, Pro, and Business are platform capability plans. New accounts start Free with a 30-day Pro trial.","Numbers, calls, messages, data, and extra channel capacity stay pay as you go on every plan. A platform tier does not include a DID, minutes, messages, data, or wallet credit.","Mobile data is a pay-as-you-go eSIM from the wallet \u2014 not country bundles or a prepaid pack shop.","Local numbers so family abroad can dial local; you answer in-app.","Person-to-person SMS only \u2014 not bulk, marketing campaigns, or automated business notifications."],"what_we_are_not":["Not an Airalo clone or a prepaid country-pack shop.","Not a PBX / carrier white-label product advertised on the consumer homepage.","Not a bulk SMS platform.","Do not advertise the retired Essential plan.","Do not describe kosher as a product feature (it is an edition).","Settings are opened from the profile picture or Home \u2192 All settings \u2014 never a More tab."]},"links":{"brand_json":"https://widely-mobile.com/widely-knowledge","brand_markdown":"https://widely-mobile.com/widely-knowledge.md","brand_openapi":"https://widely-mobile.com/widely-knowledge.openapi.json","canonical_llms":"https://api.swiftcom.cc/api/public/llms.txt","developers":"https://widely-mobile.com/developers","html":"https://api.swiftcom.cc/api/public/widely-knowledge.html","json":"https://api.swiftcom.cc/api/public/widely-knowledge","live_data_rates_by_country":"https://widely-mobile.com/en/pricing/countries","llms":"https://widely-mobile.com/llms.txt","markdown":"https://api.swiftcom.cc/api/public/widely-knowledge.md","marketing":"https://widely-mobile.com/en/","openapi":"https://api.swiftcom.cc/api/public/widely-knowledge.openapi.json","pricing_sitemap":"https://widely-mobile.com/pricing-sitemap.xml","webapp":"https://webapp.widely-mobile.com"},"product":"Widely Mobile","scope":{"note":"Entities are Widely consumer UIConfig targets plus connectivity catalog models. Other Swiftcom products on this Flask process are omitted.","ui_config_ids":["b43fa541-5525-42fc-909f-2c2df3d4bc09","e1cc3368-f8f5-443c-8fda-d9731b4c6d09","d61debfc-7b36-4afe-8f23-21ac3478383c","ae760e21-bbd1-4679-928d-7fbadd892acb"]},"sip_pbx":{"crud_entity":"SipTrunk","crud_path":"/api/siptrunk/","destination_key":"sip_trunks","sip_proxy_host":"sip-uk.swiftcom.cc","sip_proxy_port":5060,"steps":["Create a SipTrunk via POST /api/siptrunk/ (name, ip_address of your PBX, port, transport_protocol, channel_count \u2265 2).","Or create it in the app: Connectivity \u2192 SIP trunks.","Point the PBX at sip-uk.swiftcom.cc port 5060 (UDP unless the trunk says otherwise).","Use sip_username / sip_password from the create response when registration_mode needs credentials. ip_only trunks authenticate on source IP.","Extra concurrent channels are an account SIP channel pack: GET /api/membership/sip-channel-pool/quote then POST with confirm=true and quoted_charge.","Do not invent per-minute trunk pricing \u2014 the pipe is channel-based; calls remain PAYG on the wallet."],"title":"SIP trunk / PBX integration"}}
