> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # create > Create a new number group. Create a new number group. ### Schema ```yaml openapi: 3.1.0 info: title: API version: 1.0.0 paths: /api/relay/rest/number_groups: post: operationId: subpackageNumberGroups_create_number_group summary: Create number group description: >- Creates a named pool for project-owned phone numbers, with optional sticky-sender behavior. Use it when outbound traffic should select from a managed group rather than one fixed number; add numbers afterward with [Create number group membership](/docs/apis/rest/number-groups/create-number-group-membership). This operation does not purchase phone numbers. #### Permissions The API token used to authenticate must have the following scope(s) enabled to make a successful request: _Numbers_. [Learn more about API scopes](/docs/platform/your-signalwire-api-space). tags: - subpackage_numberGroups responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/NumberGroupResponse' '401': description: Access is unauthorized. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.StatusCode401' '422': description: The request failed validation. See errors for details. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.ValidationError' '500': description: An internal server error occurred. content: application/json: schema: $ref: '#/components/schemas/Types.StatusCodes.StatusCode500' requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateNumberGroupRequest' tags: - name: subpackage_numberGroups servers: - url: https://%7BYour_Space_Name%7D.signalwire.com description: SignalWire API components: schemas: CreateNumberGroupRequest: type: object properties: name: type: string description: >- The name given to the number group. Helps to distinguish different groups within your project. sticky_sender: type: boolean default: false description: >- Whether the number group uses the same 'From' number for outbound requests to a number, or chooses a random one. required: - name description: Request body for creating a number group. title: CreateNumberGroupRequest uuid: type: string format: uuid description: Universal Unique Identifier. title: uuid NumberGroupResponse: type: object properties: id: $ref: '#/components/schemas/uuid' description: >- The unique identifier of the Number Group on SignalWire. This can be used to update or delete the group programmatically. name: type: string description: >- The name given to the number group. Helps to distinguish different groups within your project. sticky_sender: type: boolean description: >- Whether the number group uses the same 'From' number for outbound requests to a number, or chooses a random one. phone_number_count: type: integer description: The number of phone numbers within the group. required: - id - name - sticky_sender - phone_number_count description: Response containing a single number group. title: NumberGroupResponse TypesStatusCodesStatusCode401Error: type: string enum: - Unauthorized title: TypesStatusCodesStatusCode401Error Types.StatusCodes.StatusCode401: type: object properties: error: $ref: '#/components/schemas/TypesStatusCodesStatusCode401Error' required: - error description: Access is unauthorized. title: Types.StatusCodes.StatusCode401 Types.StatusCodes.SpaceApiErrorItem: type: object properties: detail: type: string description: A description of what caused the error. status: type: string description: The HTTP status code. title: type: string description: A short summary of the error type. code: type: string description: The error code. required: - detail - status - title - code description: Details about a specific validation error. title: Types.StatusCodes.SpaceApiErrorItem Types.StatusCodes.ValidationError: type: object properties: errors: type: array items: $ref: '#/components/schemas/Types.StatusCodes.SpaceApiErrorItem' description: List of validation errors. required: - errors description: The request failed validation. See errors for details. title: Types.StatusCodes.ValidationError TypesStatusCodesStatusCode500Error: type: string enum: - Internal Server Error title: TypesStatusCodesStatusCode500Error Types.StatusCodes.StatusCode500: type: object properties: error: $ref: '#/components/schemas/TypesStatusCodesStatusCode500Error' required: - error description: An internal server error occurred. title: Types.StatusCodes.StatusCode500 ``` ## **Response Example** ### Response (200) ```json { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "name": "My Number Group", "sticky_sender": false, "phone_number_count": 4 } ``` ## **Example** ```typescript {9} import { RestClient } from "@signalwire/sdk"; const client = new RestClient({ project: "your-project-id", token: "your-api-token", host: "your-space.signalwire.com" }); const group = await client.numberGroups.create({ name: "Sales Numbers" }); console.log("Group ID:", group.id); ``` > Create a new number group.