Create Wireguard Peer
Creates a new WireGuard Peer.
The full WireGuard Peer needs to be provided to create the object. Optional data will be filled with defaults or left empty.
To create a WireGuard Peer, perform a POST request.
Endpoint
Use a region-specific endpoint to create a WireGuard Peer: https://vpn.{region}.ionos.com/wireguardgateways/{gatewayId}/peers.
Request
curl --location \
--request POST 'https://vpn.de-fra.ionos.com/wireguardgateways/85c79b4b-5b40-570a-b788-58dd46ea71e2/peers' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiO' \
--header 'Content-Type: application/json' \
--data-raw '{
  "metadata": {},
  "properties": {
    "name": "My Company Gateway Peer",
    "description": "Allows local machine A to connect to Datacenter LAN Y.",
    "endpoint": {
      "host": "198.51.100.0/24",
      "port": 51820
    },
    "allowedIPs": [
      "198.51.100.0/24"
    ],
    "publicKey": "no8iaSEoqfbI6PVYsdEiUU5efYdtKX8VAhKity19MWI="
  }
}'
Below is the list of mandatory body parameters for creating a WireGuard Peer:
metadata
no
object
Metadata related to the WireGuard peer.
{}
properties
yes
object
Properties with all data needed to create a new WireGuard peer. Note: There is a limit of 20 peers per gateway.
properties.name
yes
string
The human-readable name of the WireGuard peer.
My Company Gateway Peer
properties.description
no
string
Human-readable description of the WireGuard peer.
Allows local machine A to connect to Datacenter LAN Y.
properties.endpoint
yes
object
Properties needed to define the WireGuard endpoint.
properties.endpoint.host
yes
string
Hostname or IPV4 address that the WireGuard Server will connect to.
198.51.100.0/24
properties.endpoint.port
yes
integer
Port that the WireGuard Server will connect to.
51820
properties.allowedIPs
yes
array
The subnet CIDRs that are allowed to connect to the WireGuard Gateway. Specify "a.b.c.d/xy" for an individual IP address. Specify "0.0.0.0/0" or "::/0" for all IP addresses.
["198.51.100.0/24"]
properties.publicKey
yes
string
The public key for the WireGuard peer.
no8iaSEoqfbI6PVYsdEiUU5efYdtKX8VAhKity19MWI=
You can update the gatewayId value to get a specific WireGuard Gateway:
gatewayId
string
The ID (UUID) of the WireGuard Gateway.
85c79b4b-5b40-570a-b788-58dd46ea71e2
To make authenticated requests to the API, the following fields are mandatory in the request header:
Authorization
yes
string
The Bearer token to enable requests to authenticate using a JSON Web Token (JWT).
Content-Type
yes
string
Set this to application/json.
Response
201 Successful operation
{
  "id": "b62b3a40-adee-5b6c-b98d-be20bfcbdd91",
  "type": "wireguardpeer",
  "href": "/wireguardgateways/{gatewayId}/peers/b62b3a40-adee-5b6c-b98d-be20bfcbdd91",
  "metadata": {
    "createdDate": "2020-12-10T13:37:50+01:00",
    "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedDate": "2020-12-11T13:37:50+01:00",
    "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
    "status": "AVAILABLE",
    "statusMessage": null
  },
  "properties": {
    "name": "My Company Gateway Peer",
    "description": "Allows local machine A to connect to Datacenter LAN Y.",
    "endpoint": {
      "host": "198.51.100.0/24",
      "port": 51820
    },
    "allowedIPs": [
      "198.51.100.0/24"
    ],
    "publicKey": "no8iaSEoqfbI6PVYsdEiUU5efYdtKX8VAhKity19MWI="
  }
}Result: The WireGuard Peer is successfully created. the id and other details of the created WireGuard Peer are provided in the response.
Last updated
Was this helpful?