# Dynamic Routing ## List all AI Gateway Dynamic Routes. `client.aiGateway.dynamicRouting.list(stringgatewayId, DynamicRoutingListParamsparams, RequestOptionsoptions?): DynamicRoutingListResponse` **get** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes` List all AI Gateway Dynamic Routes. ### Parameters - `gatewayId: string` - `params: DynamicRoutingListParams` - `account_id: string` ### Returns - `DynamicRoutingListResponse` - `data: Data` - `order_by: string` - `order_by_direction: string` - `page: number` - `per_page: number` - `routes: Array` - `id: string` - `account_tag: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` - `success: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const dynamicRoutings = await client.aiGateway.dynamicRouting.list('54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', }); console.log(dynamicRoutings.data); ``` #### Response ```json { "data": { "order_by": "order_by", "order_by_direction": "order_by_direction", "page": 0, "per_page": 0, "routes": [ { "id": "id", "account_tag": "account_tag", "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 } ``` ## Get an AI Gateway Dynamic Route. `client.aiGateway.dynamicRouting.get(stringgatewayId, stringid, DynamicRoutingGetParamsparams, RequestOptionsoptions?): DynamicRoutingGetResponse` **get** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}` Get an AI Gateway Dynamic Route. ### Parameters - `gatewayId: string` - `id: string` - `params: DynamicRoutingGetParams` - `account_id: string` ### Returns - `DynamicRoutingGetResponse` - `id: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const dynamicRouting = await client.aiGateway.dynamicRouting.get('54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', }); console.log(dynamicRouting.id); ``` #### Response ```json { "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 } ``` ## Create a new AI Gateway Dynamic Route. `client.aiGateway.dynamicRouting.create(stringgatewayId, DynamicRoutingCreateParamsparams, RequestOptionsoptions?): DynamicRoutingCreateResponse` **post** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes` Create a new AI Gateway Dynamic Route. ### Parameters - `gatewayId: string` - `params: DynamicRoutingCreateParams` - `account_id: string` Path param - `elements: Array` Body param - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `name: string` Body param ### Returns - `DynamicRoutingCreateResponse` - `id: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const dynamicRouting = await client.aiGateway.dynamicRouting.create('54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', elements: [ { id: 'id', outputs: { next: { elementId: 'elementId' } }, type: 'start', }, ], name: 'name', }); console.log(dynamicRouting.id); ``` #### Response ```json { "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 } ``` ## Update an AI Gateway Dynamic Route. `client.aiGateway.dynamicRouting.update(stringgatewayId, stringid, DynamicRoutingUpdateParamsparams, RequestOptionsoptions?): DynamicRoutingUpdateResponse` **patch** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}` Update an AI Gateway Dynamic Route. ### Parameters - `gatewayId: string` - `id: string` - `params: DynamicRoutingUpdateParams` - `account_id: string` Path param - `name: string` Body param ### Returns - `DynamicRoutingUpdateResponse` - `route: Route` - `id: string` - `account_tag: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` - `success: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const dynamicRouting = await client.aiGateway.dynamicRouting.update('54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', name: 'Route Name', }); console.log(dynamicRouting.route); ``` #### Response ```json { "route": { "id": "id", "account_tag": "account_tag", "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 } ``` ## Delete an AI Gateway Dynamic Route. `client.aiGateway.dynamicRouting.delete(stringgatewayId, stringid, DynamicRoutingDeleteParamsparams, RequestOptionsoptions?): DynamicRoutingDeleteResponse` **delete** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}` Delete an AI Gateway Dynamic Route. ### Parameters - `gatewayId: string` - `id: string` - `params: DynamicRoutingDeleteParams` - `account_id: string` ### Returns - `DynamicRoutingDeleteResponse` - `id: string` - `created_at: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const dynamicRouting = await client.aiGateway.dynamicRouting.delete('54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', }); console.log(dynamicRouting.id); ``` #### Response ```json { "result": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "elements": [ { "id": "id", "outputs": { "next": { "elementId": "elementId" } }, "type": "start" } ], "gateway_id": "gateway_id", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" }, "success": true } ``` ## List all AI Gateway Dynamic Route Deployments. `client.aiGateway.dynamicRouting.listDeployments(stringgatewayId, stringid, DynamicRoutingListDeploymentsParamsparams, RequestOptionsoptions?): DynamicRoutingListDeploymentsResponse` **get** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/deployments` List all AI Gateway Dynamic Route Deployments. ### Parameters - `gatewayId: string` - `id: string` - `params: DynamicRoutingListDeploymentsParams` - `account_id: string` ### Returns - `DynamicRoutingListDeploymentsResponse` - `data: Data` - `deployments: Array` - `created_at: string` - `deployment_id: string` - `version_id: string` - `order_by: string` - `order_by_direction: string` - `page: number` - `per_page: number` - `success: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.aiGateway.dynamicRouting.listDeployments('54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', }); console.log(response.data); ``` #### Response ```json { "data": { "deployments": [ { "created_at": "created_at", "deployment_id": "deployment_id", "version_id": "version_id" } ], "order_by": "order_by", "order_by_direction": "order_by_direction", "page": 0, "per_page": 0 }, "success": true } ``` ## Create a new AI Gateway Dynamic Route Deployment. `client.aiGateway.dynamicRouting.createDeployment(stringgatewayId, stringid, DynamicRoutingCreateDeploymentParamsparams, RequestOptionsoptions?): DynamicRoutingCreateDeploymentResponse` **post** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/deployments` Create a new AI Gateway Dynamic Route Deployment. ### Parameters - `gatewayId: string` - `id: string` - `params: DynamicRoutingCreateDeploymentParams` - `account_id: string` Path param - `version_id: string` Body param ### Returns - `DynamicRoutingCreateDeploymentResponse` - `id: string` - `created_at: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.aiGateway.dynamicRouting.createDeployment('54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', version_id: '54442216', }); console.log(response.id); ``` #### Response ```json { "result": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "elements": [ { "id": "id", "outputs": { "next": { "elementId": "elementId" } }, "type": "start" } ], "gateway_id": "gateway_id", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" }, "success": true } ``` ## List all AI Gateway Dynamic Route Versions. `client.aiGateway.dynamicRouting.listVersions(stringgatewayId, stringid, DynamicRoutingListVersionsParamsparams, RequestOptionsoptions?): DynamicRoutingListVersionsResponse` **get** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/versions` List all AI Gateway Dynamic Route Versions. ### Parameters - `gatewayId: string` - `id: string` - `params: DynamicRoutingListVersionsParams` - `account_id: string` ### Returns - `DynamicRoutingListVersionsResponse` - `data: Data` - `order_by: string` - `order_by_direction: string` - `page: number` - `per_page: number` - `versions: Array` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` - `success: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.aiGateway.dynamicRouting.listVersions('54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', }); console.log(response.data); ``` #### Response ```json { "data": { "order_by": "order_by", "order_by_direction": "order_by_direction", "page": 0, "per_page": 0, "versions": [ { "active": "true", "created_at": "created_at", "data": "data", "version_id": "version_id" } ] }, "success": true } ``` ## Create a new AI Gateway Dynamic Route Version. `client.aiGateway.dynamicRouting.createVersion(stringgatewayId, stringid, DynamicRoutingCreateVersionParamsparams, RequestOptionsoptions?): DynamicRoutingCreateVersionResponse` **post** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/versions` Create a new AI Gateway Dynamic Route Version. ### Parameters - `gatewayId: string` - `id: string` - `params: DynamicRoutingCreateVersionParams` - `account_id: string` Path param - `elements: Array` Body param - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` ### Returns - `DynamicRoutingCreateVersionResponse` - `id: string` - `created_at: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.aiGateway.dynamicRouting.createVersion('54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a', elements: [ { id: 'id', outputs: { next: { elementId: 'elementId' } }, type: 'start', }, ], }); console.log(response.id); ``` #### Response ```json { "result": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "elements": [ { "id": "id", "outputs": { "next": { "elementId": "elementId" } }, "type": "start" } ], "gateway_id": "gateway_id", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" }, "success": true } ``` ## Get an AI Gateway Dynamic Route Version. `client.aiGateway.dynamicRouting.getVersion(stringgatewayId, stringid, stringversionId, DynamicRoutingGetVersionParamsparams, RequestOptionsoptions?): DynamicRoutingGetVersionResponse` **get** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/routes/{id}/versions/{version_id}` Get an AI Gateway Dynamic Route Version. ### Parameters - `gatewayId: string` - `id: string` - `versionId: string` - `params: DynamicRoutingGetVersionParams` - `account_id: string` ### Returns - `DynamicRoutingGetVersionResponse` - `id: string` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version_id: string` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.aiGateway.dynamicRouting.getVersion( '54442216', '54442216', '54442216', { account_id: '0d37909e38d3e99c29fa2cd343ac421a' }, ); console.log(response.id); ``` #### Response ```json { "result": { "id": "id", "active": "true", "created_at": "created_at", "data": "data", "elements": [ { "id": "id", "outputs": { "next": { "elementId": "elementId" } }, "type": "start" } ], "gateway_id": "gateway_id", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name", "version_id": "version_id" }, "success": true } ``` ## Domain Types ### Dynamic Routing List Response - `DynamicRoutingListResponse` - `data: Data` - `order_by: string` - `order_by_direction: string` - `page: number` - `per_page: number` - `routes: Array` - `id: string` - `account_tag: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` - `success: boolean` ### Dynamic Routing Get Response - `DynamicRoutingGetResponse` - `id: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` ### Dynamic Routing Create Response - `DynamicRoutingCreateResponse` - `id: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` ### Dynamic Routing Update Response - `DynamicRoutingUpdateResponse` - `route: Route` - `id: string` - `account_tag: string` - `created_at: string` - `deployment: Deployment` - `created_at: string` - `deployment_id: string` - `version_id: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version: Version` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` - `success: boolean` ### Dynamic Routing Delete Response - `DynamicRoutingDeleteResponse` - `id: string` - `created_at: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` ### Dynamic Routing List Deployments Response - `DynamicRoutingListDeploymentsResponse` - `data: Data` - `deployments: Array` - `created_at: string` - `deployment_id: string` - `version_id: string` - `order_by: string` - `order_by_direction: string` - `page: number` - `per_page: number` - `success: boolean` ### Dynamic Routing Create Deployment Response - `DynamicRoutingCreateDeploymentResponse` - `id: string` - `created_at: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` ### Dynamic Routing List Versions Response - `DynamicRoutingListVersionsResponse` - `data: Data` - `order_by: string` - `order_by_direction: string` - `page: number` - `per_page: number` - `versions: Array` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `version_id: string` - `success: boolean` ### Dynamic Routing Create Version Response - `DynamicRoutingCreateVersionResponse` - `id: string` - `created_at: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` ### Dynamic Routing Get Version Response - `DynamicRoutingGetVersionResponse` - `id: string` - `active: "true" | "false"` - `"true"` - `"false"` - `created_at: string` - `data: string` - `elements: Array` - `UnionMember0` - `id: string` - `outputs: Outputs` - `next: Next` - `elementId: string` - `type: "start"` - `"start"` - `UnionMember1` - `id: string` - `outputs: Outputs` - `false: False` - `elementId: string` - `true: True` - `elementId: string` - `properties: Properties` - `conditions?: unknown` - `type: "conditional"` - `"conditional"` - `UnionMember2` - `id: string` - `outputs: Record` - `elementId: string` - `type: "percentage"` - `"percentage"` - `UnionMember3` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `key: string` - `limit: number` - `limitType: "count" | "cost"` - `"count"` - `"cost"` - `window: number` - `type: "rate"` - `"rate"` - `UnionMember4` - `id: string` - `outputs: Outputs` - `fallback: Fallback` - `elementId: string` - `success: Success` - `elementId: string` - `properties: Properties` - `model: string` - `provider: string` - `retries: number` - `timeout: number` - `type: "model"` - `"model"` - `UnionMember5` - `id: string` - `outputs: Record` - `elementId: string` - `type: "end"` - `"end"` - `gateway_id: string` - `modified_at: string` - `name: string` - `version_id: string`