Skip to main content
POST
/
cloud
/
v1
/
routers
/
{project_id}
/
{region_id}
Create router
curl --request POST \
  --url https://api.gcore.com/cloud/v1/routers/{project_id}/{region_id} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "my_wonderful_router",
  "external_gateway_info": {
    "enable_snat": true,
    "type": "default"
  },
  "interfaces": [
    {
      "subnet_id": "3ed9e2ce-f906-47fb-ba32-c25a3f63df4f",
      "type": "subnet"
    }
  ],
  "routes": [
    {
      "destination": "10.0.3.0/24",
      "nexthop": "10.0.0.13"
    }
  ]
}
'
{
  "tasks": [
    "d478ae29-dedc-4869-82f0-96104425f565"
  ]
}

Documentation Index

Fetch the complete documentation index at: https://gcore.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key for authentication. Make sure to include the word apikey, followed by a single space and then your token. Example: apikey 1234$abcdef

Path Parameters

project_id
integer
required

Project ID

Example:

1

region_id
integer
required

Region ID

Example:

1

Body

application/json
name
string
required

name of router

Pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
Example:

"my_wonderful_router"

external_gateway_info
RouterExternalManualGwSerializer · object

External gateway configuration. Use type 'default' to let the platform automatically select the external network, or type 'manual' to specify a particular external network via network_id. If omitted, the router is created without an external gateway.

Example:
{ "enable_snat": true, "type": "default" }
interfaces
CreateRouterInterfaceSubnetSerializer · object[] | null

List of interfaces to attach to router immediately after creation.

Example:
[
{
"subnet_id": "3ed9e2ce-f906-47fb-ba32-c25a3f63df4f",
"type": "subnet"
}
]
routes
RouteInSerializer · object[] | null

List of custom routes.

Example:
[
{
"destination": "10.0.3.0/24",
"nexthop": "10.0.0.13"
}
]

Response

200 - application/json

OK

tasks
string[]
required

List of task IDs representing asynchronous operations. Use these IDs to monitor operation progress:

  • GET /v1/tasks/{task_id} - Check individual task status and details Poll task status until completion (FINISHED/ERROR) before proceeding with dependent operations.
Example:
["d478ae29-dedc-4869-82f0-96104425f565"]