Skip to content
Start here

Create a new AI Gateway Dynamic Route.

client.AIGateway.DynamicRouting.New(ctx, gatewayID, params) (*DynamicRoutingNewResponse, error)
POST/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes

Create a new AI Gateway Dynamic Route.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
AI Gateway Write
ParametersExpand Collapse
gatewayID string
params DynamicRoutingNewParams
AccountID param.Field[string]

Path param

Elements param.Field[[]DynamicRoutingNewParamsElement]

Body param

type DynamicRoutingNewParamsElementsObject struct{…}
ID string
Outputs DynamicRoutingNewParamsElementsObjectOutputs
Type DynamicRoutingNewParamsElementsObjectType
type DynamicRoutingNewParamsElementsObject struct{…}
ID string
Outputs DynamicRoutingNewParamsElementsObjectOutputs
False DynamicRoutingNewParamsElementsObjectOutputsFalse
ElementID string
True DynamicRoutingNewParamsElementsObjectOutputsTrue
ElementID string
Properties DynamicRoutingNewParamsElementsObjectProperties
Conditions unknownoptional
Type DynamicRoutingNewParamsElementsObjectType
type DynamicRoutingNewParamsElementsObject struct{…}
ID string
Outputs map[string, DynamicRoutingNewParamsElementsObjectOutputs]
ElementID string
Type DynamicRoutingNewParamsElementsObjectType
type DynamicRoutingNewParamsElementsObject struct{…}
ID string
Outputs DynamicRoutingNewParamsElementsObjectOutputs
Fallback DynamicRoutingNewParamsElementsObjectOutputsFallback
ElementID string
Success DynamicRoutingNewParamsElementsObjectOutputsSuccess
ElementID string
Properties DynamicRoutingNewParamsElementsObjectProperties
Key string
Limit float64
LimitType DynamicRoutingNewParamsElementsObjectPropertiesLimitType
One of the following:
const DynamicRoutingNewParamsElementsObjectPropertiesLimitTypeCount DynamicRoutingNewParamsElementsObjectPropertiesLimitType = "count"
const DynamicRoutingNewParamsElementsObjectPropertiesLimitTypeCost DynamicRoutingNewParamsElementsObjectPropertiesLimitType = "cost"
Window float64
Type DynamicRoutingNewParamsElementsObjectType
type DynamicRoutingNewParamsElementsObject struct{…}
ID string
Outputs DynamicRoutingNewParamsElementsObjectOutputs
Fallback DynamicRoutingNewParamsElementsObjectOutputsFallback
ElementID string
Success DynamicRoutingNewParamsElementsObjectOutputsSuccess
ElementID string
Properties DynamicRoutingNewParamsElementsObjectProperties
Model string
Provider string
Retries float64
Timeout float64
Type DynamicRoutingNewParamsElementsObjectType
type DynamicRoutingNewParamsElementsObject struct{…}
ID string
Outputs map[string, DynamicRoutingNewParamsElementsObjectOutputs]
ElementID string
Type DynamicRoutingNewParamsElementsObjectType
Name param.Field[string]

Body param

ReturnsExpand Collapse
type DynamicRoutingNewResponse struct{…}
ID string
CreatedAt Time
formatdate-time
Deployment DynamicRoutingNewResponseDeployment
CreatedAt string
DeploymentID string
VersionID string
Elements []DynamicRoutingNewResponseElement
One of the following:
type DynamicRoutingNewResponseElementsObject struct{…}
ID string
Outputs DynamicRoutingNewResponseElementsObjectOutputs
Type DynamicRoutingNewResponseElementsObjectType
type DynamicRoutingNewResponseElementsObject struct{…}
ID string
Outputs DynamicRoutingNewResponseElementsObjectOutputs
False DynamicRoutingNewResponseElementsObjectOutputsFalse
ElementID string
True DynamicRoutingNewResponseElementsObjectOutputsTrue
ElementID string
Properties DynamicRoutingNewResponseElementsObjectProperties
Conditions unknownoptional
Type DynamicRoutingNewResponseElementsObjectType
type DynamicRoutingNewResponseElementsObject struct{…}
ID string
Outputs map[string, DynamicRoutingNewResponseElementsObjectOutput]
ElementID string
Type DynamicRoutingNewResponseElementsObjectType
type DynamicRoutingNewResponseElementsObject struct{…}
ID string
Outputs DynamicRoutingNewResponseElementsObjectOutputs
Fallback DynamicRoutingNewResponseElementsObjectOutputsFallback
ElementID string
Success DynamicRoutingNewResponseElementsObjectOutputsSuccess
ElementID string
Properties DynamicRoutingNewResponseElementsObjectProperties
Key string
Limit float64
LimitType DynamicRoutingNewResponseElementsObjectPropertiesLimitType
One of the following:
const DynamicRoutingNewResponseElementsObjectPropertiesLimitTypeCount DynamicRoutingNewResponseElementsObjectPropertiesLimitType = "count"
const DynamicRoutingNewResponseElementsObjectPropertiesLimitTypeCost DynamicRoutingNewResponseElementsObjectPropertiesLimitType = "cost"
Window float64
Type DynamicRoutingNewResponseElementsObjectType
type DynamicRoutingNewResponseElementsObject struct{…}
ID string
Outputs DynamicRoutingNewResponseElementsObjectOutputs
Fallback DynamicRoutingNewResponseElementsObjectOutputsFallback
ElementID string
Success DynamicRoutingNewResponseElementsObjectOutputsSuccess
ElementID string
Properties DynamicRoutingNewResponseElementsObjectProperties
Model string
Provider string
Retries float64
Timeout float64
Type DynamicRoutingNewResponseElementsObjectType
type DynamicRoutingNewResponseElementsObject struct{…}
ID string
Outputs map[string, DynamicRoutingNewResponseElementsObjectOutput]
ElementID string
Type DynamicRoutingNewResponseElementsObjectType
GatewayID string
ModifiedAt Time
formatdate-time
Name string
Version DynamicRoutingNewResponseVersion
Active DynamicRoutingNewResponseVersionActive
One of the following:
const DynamicRoutingNewResponseVersionActiveTrue DynamicRoutingNewResponseVersionActive = "true"
const DynamicRoutingNewResponseVersionActiveFalse DynamicRoutingNewResponseVersionActive = "false"
CreatedAt string
Data string
VersionID string

Create a new AI Gateway Dynamic Route.

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/ai_gateway"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  dynamicRouting, err := client.AIGateway.DynamicRouting.New(
    context.TODO(),
    "54442216",
    ai_gateway.DynamicRoutingNewParams{
      AccountID: cloudflare.F("0d37909e38d3e99c29fa2cd343ac421a"),
      Elements: cloudflare.F([]ai_gateway.DynamicRoutingNewParamsElementUnion{ai_gateway.DynamicRoutingNewParamsElementsObject{
        ID: cloudflare.F("id"),
        Outputs: cloudflare.F(ai_gateway.DynamicRoutingNewParamsElementsObjectOutputs{
          Next: cloudflare.F(ai_gateway.DynamicRoutingNewParamsElementsObjectOutputsNext{
            ElementID: cloudflare.F("elementId"),
          }),
        }),
        Type: cloudflare.F(ai_gateway.DynamicRoutingNewParamsElementsObjectTypeStart),
      }}),
      Name: cloudflare.F("name"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", dynamicRouting.ID)
}
{
  "result": {
    "id": "id",
    "created_at": "2019-12-27T18:11:19.117Z",
    "deployment": {
      "created_at": "created_at",
      "deployment_id": "deployment_id",
      "version_id": "version_id"
    },
    "elements": [
      {
        "id": "id",
        "outputs": {
          "next": {
            "elementId": "elementId"
          }
        },
        "type": "start"
      }
    ],
    "gateway_id": "gateway_id",
    "modified_at": "2019-12-27T18:11:19.117Z",
    "name": "name",
    "version": {
      "active": "true",
      "created_at": "created_at",
      "data": "data",
      "version_id": "version_id"
    }
  },
  "success": true
}
Returns Examples
{
  "result": {
    "id": "id",
    "created_at": "2019-12-27T18:11:19.117Z",
    "deployment": {
      "created_at": "created_at",
      "deployment_id": "deployment_id",
      "version_id": "version_id"
    },
    "elements": [
      {
        "id": "id",
        "outputs": {
          "next": {
            "elementId": "elementId"
          }
        },
        "type": "start"
      }
    ],
    "gateway_id": "gateway_id",
    "modified_at": "2019-12-27T18:11:19.117Z",
    "name": "name",
    "version": {
      "active": "true",
      "created_at": "created_at",
      "data": "data",
      "version_id": "version_id"
    }
  },
  "success": true
}