---
title: "Import a SIP phone number"
method: POST
path: "/product/import-phone-number"
tags: ["Phone Numbers"]
---

# Import a SIP phone number

`POST /product/import-phone-number`

Bring your own SIP trunk by importing an existing phone number with its SIP termination URL.
Atoms creates both inbound and outbound SIP trunks so your number works for making and receiving calls through the platform.

If `name` is omitted, a name is auto-generated from the phone number and user ID.

## Request body

- object
  - `phoneNumber` string, required — Your existing phone number. E.164 format is recommended but not enforced server-side — any non-empty string is accepted.
  - `sipTerminationUrl` string, required — Your SIP provider's termination host — a hostname or IP address, optionally with a port (e.g. "sip.your-provider.com:5060"). Full SIP URIs ("sip:" / "sips:") are also accepted and automatically normalized to the bare host.
  - `name` string — A friendly display name for this number
  - `sipUsername` string — Username for SIP authentication (if your trunk requires it)
  - `sipPassword` string — Password for SIP authentication (if your trunk requires it)

## Response `200`

Phone number imported successfully

- object
  - `status` boolean
  - `data` object
    - `_id` string — Unique identifier of the created product
    - `productType` 'custom' — The type of product created — always `custom` for imported SIP numbers
    - `isActive` boolean — Whether the number is active and ready to use
    - `attributes` object
      - `name` string — Display name for the number
      - `phoneNumber` string — The imported phone number
      - `outboundSipTrunkId` string — Identifier for the outbound SIP trunk created
      - `inboundSipTrunkId` string — Identifier for the inbound SIP trunk created
    - `agentId` string, nullable — ID of the agent assigned to this number (null if unassigned)
    - `createdAt` string, date-time — Timestamp when the product was created
    - `updatedAt` string, date-time — Timestamp when the product was last updated

## Other responses

- `400` — Bad request — missing required fields or phone number already imported. Exact error when a duplicate number is submitted: `"Number already present"`
- `401` — Unauthorized access
- `500` — Internal server error

---

[API](https://skmtc.net/smallest-inc/apis/agent-management-api.md) · [All operations](https://skmtc.net/smallest-inc/apis/agent-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smallest-inc/agent-management-api/revisions/274a178284a4/schema)
