Agent Skill · Sinch

sinch-number-order-api

Guides the multi-step Number Order workflow for purchasing phone numbers with KYC compliance via the Sinch Numbers API. Use when buying, ordering, provisioning, or activating Sinch numbers in countries that require KYC registration, regulatory compliance, or identity verification. Triggers on "number order", "KYC", "number registration", "phone number purchase", or "number provisioning".

Provider: Sinch Path in repo: skills/sinch-number-order-api/SKILL.md

Skill body

Number Order API

Overview

Order phone numbers with KYC compliance through a guided multi-step workflow. Required in countries where number purchases need identity verification.

Agent Instructions

Before generating code, gather from the user (skip any item already specified in the prompt or context):

  1. Country — ISO 3166-1 alpha-2 region code (e.g. AU, DE, BR).
  2. Number typeMOBILE, LOCAL, or TOLL_FREE.
  3. Specific number or quantity? — E.164 phone number, or quantity + criteria.
  4. SMS or Voice? — SMS needs servicePlanId (+ campaignId for US 10DLC). Voice needs type (RTC/EST/FAX) + corresponding ID (appId/trunkId/serviceId).
  5. Language — any language, or curl. This API is REST-only; there is no SDK wrapper.

This is a sequential, fragile workflow — steps must be followed in order. Do not combine API calls. Step 2 may be skipped if the user already has a specific E.164 number.

Refer to the API reference linked in Links for request/response schemas.

Security: See the Security section below for url fetching policy, handling inbound callback content, and credential handling.

Getting Started

Agent Credentials handling

Store credentials in environment variables — never hardcode tokens or keys in commands or source code:

export SINCH_PROJECT_ID="your-project-id"
export SINCH_ACCESS_TOKEN="your-oauth-token"

Authentication

OAuth2 bearer token (recommended) or Basic Auth. See sinch-authentication for full setup.

Base URL

https://numbers.api.sinch.com

First API Call — Lookup Requirements (Step 1)

curl -X POST \
  "https://numbers.api.sinch.com/v1/projects/$SINCH_PROJECT_ID/numberOrders:lookupNumberRequirements" \
  -H "Authorization: Bearer $SINCH_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"regionCode": "AU", "numberType": "MOBILE"}'

For all other endpoints, request/response schemas, and field-level details, see the Number Order API Reference.

Workflow

Execute in order. Report state to the user after each step.

The 48-hour clock starts at Step 3. Steps 4–6 must complete before the order expires.

Check status anytime: GET /v1/projects/{projectId}/numberOrders/{numberOrderId}

Order States

CREATEDIN_REVIEWCOMPLETED REJECTED EXPIRED BLOCKED NUMBER_ORDER_STATE_UNSPECIFIED

Error Recovery

Gotchas

Common Patterns

Security

Skill frontmatter

metadata: {"author" => "Sinch", "version" => "1.0.4", "category" => "Numbers", "tags" => "number-order, kyc, phone-number, purchase, provisioning, registration", "uses" => ["sinch-authentication"]}