Skip to content
Start here

Create a new AI Gateway Dynamic Route.

ai_gateway.dynamic_routing.create(strgateway_id, DynamicRoutingCreateParams**kwargs) -> DynamicRoutingCreateResponse
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
account_id: str
gateway_id: str
elements: Iterable[Element]
One of the following:
class ElementUnionMember0:
id: str
outputs: ElementUnionMember0Outputs
type: Literal["start"]
class ElementUnionMember1:
id: str
outputs: ElementUnionMember1Outputs
false: ElementUnionMember1OutputsFalse_
element_id: str
true: ElementUnionMember1OutputsTrue_
element_id: str
properties: ElementUnionMember1Properties
conditions: Optional[object]
type: Literal["conditional"]
class ElementUnionMember2:
id: str
outputs: Dict[str, ElementUnionMember2Outputs]
element_id: str
type: Literal["percentage"]
class ElementUnionMember3:
id: str
outputs: ElementUnionMember3Outputs
fallback: ElementUnionMember3OutputsFallback
element_id: str
success: ElementUnionMember3OutputsSuccess
element_id: str
properties: ElementUnionMember3Properties
key: str
limit: float
limit_type: Literal["count", "cost"]
One of the following:
"count"
"cost"
window: float
type: Literal["rate"]
class ElementUnionMember4:
id: str
outputs: ElementUnionMember4Outputs
fallback: ElementUnionMember4OutputsFallback
element_id: str
success: ElementUnionMember4OutputsSuccess
element_id: str
properties: ElementUnionMember4Properties
model: str
provider: str
retries: float
timeout: float
type: Literal["model"]
class ElementUnionMember5:
id: str
outputs: Dict[str, ElementUnionMember5Outputs]
element_id: str
type: Literal["end"]
name: str
ReturnsExpand Collapse
class DynamicRoutingCreateResponse:
id: str
created_at: datetime
formatdate-time
deployment: Deployment
created_at: str
deployment_id: str
version_id: str
elements: List[Element]
One of the following:
class ElementUnionMember0:
id: str
outputs: ElementUnionMember0Outputs
type: Literal["start"]
class ElementUnionMember1:
id: str
outputs: ElementUnionMember1Outputs
false: ElementUnionMember1OutputsFalse_
element_id: str
true: ElementUnionMember1OutputsTrue_
element_id: str
properties: ElementUnionMember1Properties
conditions: Optional[object]
type: Literal["conditional"]
class ElementUnionMember2:
id: str
outputs: Dict[str, ElementUnionMember2Outputs]
element_id: str
type: Literal["percentage"]
class ElementUnionMember3:
id: str
outputs: ElementUnionMember3Outputs
fallback: ElementUnionMember3OutputsFallback
element_id: str
success: ElementUnionMember3OutputsSuccess
element_id: str
properties: ElementUnionMember3Properties
key: str
limit: float
limit_type: Literal["count", "cost"]
One of the following:
"count"
"cost"
window: float
type: Literal["rate"]
class ElementUnionMember4:
id: str
outputs: ElementUnionMember4Outputs
fallback: ElementUnionMember4OutputsFallback
element_id: str
success: ElementUnionMember4OutputsSuccess
element_id: str
properties: ElementUnionMember4Properties
model: str
provider: str
retries: float
timeout: float
type: Literal["model"]
class ElementUnionMember5:
id: str
outputs: Dict[str, ElementUnionMember5Outputs]
element_id: str
type: Literal["end"]
gateway_id: str
modified_at: datetime
formatdate-time
name: str
version: Version
active: Literal["true", "false"]
One of the following:
"true"
"false"
created_at: str
data: str
version_id: str

Create a new AI Gateway Dynamic Route.

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
dynamic_routing = client.ai_gateway.dynamic_routing.create(
    gateway_id="54442216",
    account_id="0d37909e38d3e99c29fa2cd343ac421a",
    elements=[{
        "id": "id",
        "outputs": {
            "next": {
                "element_id": "elementId"
            }
        },
        "type": "start",
    }],
    name="name",
)
print(dynamic_routing.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
}