Prerequisite: You need an IONOS Cloud account with API credentials configured with the appropriate permissions.
To create the object, the full route needs to be provided. Optional data will be filled with defaults or left empty.
curl -X 'POST' \
'https://apigateway.de-txl.ionos.com/gateways/0620c174-dd3c-5eb4-87c8-e2b516553a00/routes' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"metadata": {},
"properties": {
"name": "example-route",
"type": "http",
"paths": [
"/foo/*",
"/bar"
],
"methods": [
"GET",
"POST"
],
"websocket": false,
"upstreams": [
{
"scheme": "http",
"loadbalancer": "roundrobin",
"host": "www.example.com",
"port": 80,
"weight": 100
}
]
}
}'
{
"id": "50982018-bb17-5cb9-bcd4-97f8bbc7dc23",
"type": "route",
"href": "/gateways/{apigatewayId}/routes/50982018-bb17-5cb9-bcd4-97f8bbc7dc23",
"metadata": {
"createdDate": "2020-12-10T13:37:50+01:00",
"createdBy": "john.doe@example.com",
"createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
"lastModifiedDate": "2020-12-11T13:37:50+01:00",
"lastModifiedBy": "john.doe@example.com",
"lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
"resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
"status": "AVAILABLE",
"statusMessage": null,
"publicEndpoint": "jf8u4tgr73sd-ag.87uhr654gq90.apigateway.de-txl.ionos.com"
},
"properties": {
"name": "example-route",
"type": "http",
"paths": [
"/foo/*",
"/bar"
],
"methods": [
"GET",
"POST"
],
"websocket": false,
"upstreams": [
{
"scheme": "http",
"loadbalancer": "roundrobin",
"host": "www.example.com",
"port": 80,
"weight": 100
}
]
}
}