---
title: "Create a WireGuard Interface"
method: POST
path: "/wireguard_interfaces"
tags: ["WireGuard Interfaces"]
---

# Create a WireGuard Interface

`POST /wireguard_interfaces`

Create a new WireGuard Interface. Current limitation of 10 interfaces per user can be created.

## Request body

- WireguardInterfaceCreate
  - `created_at` string — ISO 8601 formatted date-time indicating when the resource was created.
  - `id` string, uuid — Identifies the resource.
  - `record_type` string — Identifies the type of the resource.
  - `updated_at` string — ISO 8601 formatted date-time indicating when the resource was updated.
  - `name` string — A user specified name for the interface.
  - `network_id` string, uuid, required — The id of the network associated with the interface.
  - `status` 'created' | 'provisioning' | 'provisioned' | 'deleting' — The current status of the interface deployment.
  - `enable_sip_trunking` boolean — Enable SIP traffic forwarding over VPN interface.
  - `endpoint` string — The Telnyx WireGuard peers `Peer.endpoint` value.
  - `public_key` string — The Telnyx WireGuard peers `Peer.PublicKey`.
  - `region_code` string, required — The region the interface should be deployed to.

## Response `202`

Creation request accepted. Provisioning is asynchronous; poll GET /wireguard_interfaces/{id} with the returned id to check status.

- object
  - `data` WireguardInterfaceRead
    - `created_at` string — ISO 8601 formatted date-time indicating when the resource was created.
    - `id` string, uuid — Identifies the resource.
    - `record_type` string — Identifies the type of the resource.
    - `updated_at` string — ISO 8601 formatted date-time indicating when the resource was updated.
    - `name` string — A user specified name for the interface.
    - `network_id` string, uuid — The id of the network associated with the interface.
    - `status` 'created' | 'provisioning' | 'provisioned' | 'deleting' — The current status of the interface deployment.
    - `enable_sip_trunking` boolean — Enable SIP traffic forwarding over VPN interface.
    - `endpoint` string — The Telnyx WireGuard peers `Peer.endpoint` value.
    - `public_key` string — The Telnyx WireGuard peers `Peer.PublicKey`.
    - `region` object
      - `code` string — Region code of the interface.
      - `name` string — Region name of the interface.
      - `record_type` string — Identifies the type of the resource.
    - `region_code` string — The region interface is deployed to.

## Other responses

- `422` — Unprocessable entity. Check the 'detail' field in response for details.
- `default` — Unexpected error

## Changes

- **2026-08-17** `1571b0380bd7` — 2 breaking
  - the `errors/items/code` response's property type/format changed from `integer`/`int32` to `string`/`` for status `422`
  - the `errors/items/code` response's property type/format changed from `integer`/`int32` to `string`/`` for status `default`
- **2026-08-04** `8f5f4e537994` — 2 breaking
  - the `errors/items/code` response's property type/format changed from `string`/`` to `integer`/`int32` for status `422`
  - the `errors/items/code` response's property type/format changed from `string`/`` to `integer`/`int32` for status `default`

[Change history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/wireguard_interfaces/post.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/revisions/3fdc16374d70/schema)
