---
title: "Operator/internal attach an owned carrier number or create a local fake number"
method: POST
path: "/v1/numbers"
---

# Operator/internal attach an owned carrier number or create a local fake number

`POST /v1/numbers`

## Request

- Base URL: `https://api.skysay.ai`
- URL: `https://api.skysay.ai/v1/numbers`
- Auth: none declared

## Request body

- PhoneNumberRequest
  - `agent_endpoint_id` string
  - `available_provider_number_id` string: Provider available-number identifier captured before ordering (the carrier's available_dids.id).
  - `carrier` string: Plain alias for provider.
  - `carrier_number_reference` string: Plain alias for provider_number_id.
  - `country` string
  - `monthly_recurring_minor` integer
  - `number_type` string
  - `organization_id` string, required
  - `phone_number` string: Plain alias for e164.
  - `price_snapshot` object: Captured quote used for audit/customer display; the carrier API remains authoritative when quote is fetched.
  - `project_id` string, required
  - `provider_order_id` string: Provider order identifier returned after order execution.
  - `setup_cost_minor` integer

## Response `201`

Phone number

## Other responses

- `400`: organization_id or project_id is missing or blank; an unsupported status; or an agent_id or end_user_id that is not one of this workspace's. An id that does not exist and an id owned by another workspace answer identically, so neither enumerates the other's ids

---

[API](https://skmtc.dev/skysay/apis/skysay-api.md) · [All operations](https://skmtc.dev/skysay/apis/skysay-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skysay/apis/skysay-api/revisions/148c7e111260?raw)
