Search, rent, manage, and release phone numbers with the Sinch Numbers API. Use when listing active numbers, searching available numbers, renting or releasing numbers, updating number configuration (SMS/voice/callback), managing emergency addresses, or checking available regions.
From sinch-claude-pluginnpx claudepluginhub sinch/sinch-plugins --plugin sinch-claude-pluginThis skill uses the workspace's default tool permissions.
references/java.mdreferences/python.mdreferences/typescript.mdscripts/get_numbers.cjsGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
The Numbers API lets you search, activate, manage, and release phone numbers — the prerequisite for SMS, Voice, and Conversation APIs.
@sinch/sdk-core (Node), sinch (Python), or com.sinch.sdk (Java) is present.For SDK code, read the correct reference before generating any code:
| Language | Reference | SDK docs |
|---|---|---|
| TypeScript/Node.js | references/typescript.md | Syntax reference |
| Python | references/python.md | Syntax reference |
| Java | references/java.md | Syntax reference |
For direct HTTP calls, see Numbers API Reference.
See sinch-authentication for full setup. Use Basic auth (-u KEY_ID:KEY_SECRET) for quick starts, OAuth2 for production.
curl -X GET "https://numbers.api.sinch.com/v1/projects/{PROJECT_ID}/activeNumbers?regionCode=US&type=LOCAL&pageSize=10" \
-u {KEY_ID}:{KEY_SECRET}
A 200 response confirms credentials and project access.
GET /availableRegions — discover valid regionCode valuesGET /availableNumbers?regionCode={code}&type={type} — search (both params required)POST /availableNumbers/{phoneNumber}:rent with config bodyGET /activeNumbers/{phoneNumber} — confirm activationUse POST /availableNumbers:rentAny to skip step 3 (US LOCAL numbers only).
Before retrying any potentially billable action (for example :rent, :rentAny, or :release) after an incomplete/uncertain response:
GET /activeNumbers/{phoneNumber} or GET /activeNumbers with filters)phoneNumber before issuing another billable requestGET /activeNumbers/{phoneNumber} — check current configPATCH /activeNumbers/{phoneNumber} — set displayName, smsConfiguration, or voiceConfiguration"" in servicePlanId or campaignIdPOST /activeNumbers/{phoneNumber}:release
Run node scripts/get_numbers.cjs --output numbers.json (uses SINCH_PROJECT_ID, SINCH_KEY_ID, SINCH_KEY_SECRET env vars). Supports --region and --type filters.
Use the emergency address endpoints on active numbers: GET, provision, deprovision, validate. See API reference.
Use the numberOrders endpoints: lookupNumberRequirements → createNumberOrder → upload registration/attachments → submit. See API reference.
A separate API at https://imported.numbers.api.sinch.com handles importing non-Sinch numbers (DCA) and hosting orders. See API reference.
GET /activeNumbers uses capability (singular) and pageSize. GET /availableNumbers uses capabilities (plural) and size (single page, no pagination).type defaults to MOBILE — omitting it returns only MOBILE numbers, not all types.pageSize explicitly on GET /activeNumbers — no documented default.rentAny is US LOCAL only — use :rent for other types/regions.GET /activeNumbers/{phoneNumber} (or list + filter) before retrying :rent, :rentAny, or :release.voiceConfiguration when you only need SMS will error.campaignId is US-only — required for 10DLC, irrelevant elsewhere.scheduledProvisioning/scheduledVoiceProvisioning are objects (with status, lastUpdatedTime, errorCodes), not strings. Status values: PROVISIONING_STATUS_UNSPECIFIED, WAITING, IN_PROGRESS, FAILED.voiceConfiguration is a discriminated union on type: RTC → appId, EST → trunkId, FAX → serviceId.PATCH /callbackConfiguration) sets only hmacSecret for HMAC-SHA1 signature verification — it does not set a callback URL.54.76.19.159, 54.78.194.39, 54.155.83.128.