Skip to content
Start here

Get a gateway

client.AIGateway.Get(ctx, id, query) (*AIGatewayGetResponse, error)
GET/accounts/{account_id}/ai-gateway/gateways/{id}

Retrieves the configuration of an AI Gateway.

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 WriteAI Gateway Read
ParametersExpand Collapse
id string

Unique identifier of the AI Gateway within the account.

maxLength64
minLength1
query AIGatewayGetParams
AccountID param.Field[string]
ReturnsExpand Collapse
type AIGatewayGetResponse struct{…}
ID string

Unique identifier of the AI Gateway within the account.

maxLength64
minLength1
CacheInvalidateOnUpdate bool
CacheTTL int64
minimum0
CollectLogs bool
CreatedAt Time
formatdate-time
ModifiedAt Time
formatdate-time
RateLimitingInterval int64
minimum0
RateLimitingLimit int64
minimum0
Authentication boolOptional
ByokOnly boolOptional

Requires customer-provided provider credentials and prevents fallback to Unified Billing.

DLP AIGatewayGetResponseDLPOptional
One of the following:
type AIGatewayGetResponseDLPObject struct{…}
Action AIGatewayGetResponseDLPObjectAction
One of the following:
const AIGatewayGetResponseDLPObjectActionBlock AIGatewayGetResponseDLPObjectAction = "BLOCK"
const AIGatewayGetResponseDLPObjectActionFlag AIGatewayGetResponseDLPObjectAction = "FLAG"
Enabled bool
Profiles []string
type AIGatewayGetResponseDLPObject struct{…}
Enabled bool
Policies []AIGatewayGetResponseDLPObjectPolicy
ID string
Action AIGatewayGetResponseDLPObjectPoliciesAction
One of the following:
const AIGatewayGetResponseDLPObjectPoliciesActionFlag AIGatewayGetResponseDLPObjectPoliciesAction = "FLAG"
const AIGatewayGetResponseDLPObjectPoliciesActionBlock AIGatewayGetResponseDLPObjectPoliciesAction = "BLOCK"
Check []AIGatewayGetResponseDLPObjectPoliciesCheck
One of the following:
const AIGatewayGetResponseDLPObjectPoliciesCheckRequest AIGatewayGetResponseDLPObjectPoliciesCheck = "REQUEST"
const AIGatewayGetResponseDLPObjectPoliciesCheckResponse AIGatewayGetResponseDLPObjectPoliciesCheck = "RESPONSE"
Enabled bool
Profiles []string
Guardrails AIGatewayGetResponseGuardrailsOptional
Prompt AIGatewayGetResponseGuardrailsPrompt
P1 AIGatewayGetResponseGuardrailsPromptP1Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptP1Flag AIGatewayGetResponseGuardrailsPromptP1 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptP1Block AIGatewayGetResponseGuardrailsPromptP1 = "BLOCK"
S1 AIGatewayGetResponseGuardrailsPromptS1Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS1Flag AIGatewayGetResponseGuardrailsPromptS1 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS1Block AIGatewayGetResponseGuardrailsPromptS1 = "BLOCK"
S10 AIGatewayGetResponseGuardrailsPromptS10Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS10Flag AIGatewayGetResponseGuardrailsPromptS10 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS10Block AIGatewayGetResponseGuardrailsPromptS10 = "BLOCK"
S11 AIGatewayGetResponseGuardrailsPromptS11Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS11Flag AIGatewayGetResponseGuardrailsPromptS11 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS11Block AIGatewayGetResponseGuardrailsPromptS11 = "BLOCK"
S12 AIGatewayGetResponseGuardrailsPromptS12Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS12Flag AIGatewayGetResponseGuardrailsPromptS12 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS12Block AIGatewayGetResponseGuardrailsPromptS12 = "BLOCK"
S13 AIGatewayGetResponseGuardrailsPromptS13Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS13Flag AIGatewayGetResponseGuardrailsPromptS13 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS13Block AIGatewayGetResponseGuardrailsPromptS13 = "BLOCK"
S2 AIGatewayGetResponseGuardrailsPromptS2Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS2Flag AIGatewayGetResponseGuardrailsPromptS2 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS2Block AIGatewayGetResponseGuardrailsPromptS2 = "BLOCK"
S3 AIGatewayGetResponseGuardrailsPromptS3Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS3Flag AIGatewayGetResponseGuardrailsPromptS3 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS3Block AIGatewayGetResponseGuardrailsPromptS3 = "BLOCK"
S4 AIGatewayGetResponseGuardrailsPromptS4Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS4Flag AIGatewayGetResponseGuardrailsPromptS4 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS4Block AIGatewayGetResponseGuardrailsPromptS4 = "BLOCK"
S5 AIGatewayGetResponseGuardrailsPromptS5Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS5Flag AIGatewayGetResponseGuardrailsPromptS5 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS5Block AIGatewayGetResponseGuardrailsPromptS5 = "BLOCK"
S6 AIGatewayGetResponseGuardrailsPromptS6Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS6Flag AIGatewayGetResponseGuardrailsPromptS6 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS6Block AIGatewayGetResponseGuardrailsPromptS6 = "BLOCK"
S7 AIGatewayGetResponseGuardrailsPromptS7Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS7Flag AIGatewayGetResponseGuardrailsPromptS7 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS7Block AIGatewayGetResponseGuardrailsPromptS7 = "BLOCK"
S8 AIGatewayGetResponseGuardrailsPromptS8Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS8Flag AIGatewayGetResponseGuardrailsPromptS8 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS8Block AIGatewayGetResponseGuardrailsPromptS8 = "BLOCK"
S9 AIGatewayGetResponseGuardrailsPromptS9Optional
One of the following:
const AIGatewayGetResponseGuardrailsPromptS9Flag AIGatewayGetResponseGuardrailsPromptS9 = "FLAG"
const AIGatewayGetResponseGuardrailsPromptS9Block AIGatewayGetResponseGuardrailsPromptS9 = "BLOCK"
Response AIGatewayGetResponseGuardrailsResponse
P1 AIGatewayGetResponseGuardrailsResponseP1Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseP1Flag AIGatewayGetResponseGuardrailsResponseP1 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseP1Block AIGatewayGetResponseGuardrailsResponseP1 = "BLOCK"
S1 AIGatewayGetResponseGuardrailsResponseS1Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS1Flag AIGatewayGetResponseGuardrailsResponseS1 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS1Block AIGatewayGetResponseGuardrailsResponseS1 = "BLOCK"
S10 AIGatewayGetResponseGuardrailsResponseS10Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS10Flag AIGatewayGetResponseGuardrailsResponseS10 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS10Block AIGatewayGetResponseGuardrailsResponseS10 = "BLOCK"
S11 AIGatewayGetResponseGuardrailsResponseS11Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS11Flag AIGatewayGetResponseGuardrailsResponseS11 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS11Block AIGatewayGetResponseGuardrailsResponseS11 = "BLOCK"
S12 AIGatewayGetResponseGuardrailsResponseS12Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS12Flag AIGatewayGetResponseGuardrailsResponseS12 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS12Block AIGatewayGetResponseGuardrailsResponseS12 = "BLOCK"
S13 AIGatewayGetResponseGuardrailsResponseS13Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS13Flag AIGatewayGetResponseGuardrailsResponseS13 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS13Block AIGatewayGetResponseGuardrailsResponseS13 = "BLOCK"
S2 AIGatewayGetResponseGuardrailsResponseS2Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS2Flag AIGatewayGetResponseGuardrailsResponseS2 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS2Block AIGatewayGetResponseGuardrailsResponseS2 = "BLOCK"
S3 AIGatewayGetResponseGuardrailsResponseS3Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS3Flag AIGatewayGetResponseGuardrailsResponseS3 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS3Block AIGatewayGetResponseGuardrailsResponseS3 = "BLOCK"
S4 AIGatewayGetResponseGuardrailsResponseS4Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS4Flag AIGatewayGetResponseGuardrailsResponseS4 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS4Block AIGatewayGetResponseGuardrailsResponseS4 = "BLOCK"
S5 AIGatewayGetResponseGuardrailsResponseS5Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS5Flag AIGatewayGetResponseGuardrailsResponseS5 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS5Block AIGatewayGetResponseGuardrailsResponseS5 = "BLOCK"
S6 AIGatewayGetResponseGuardrailsResponseS6Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS6Flag AIGatewayGetResponseGuardrailsResponseS6 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS6Block AIGatewayGetResponseGuardrailsResponseS6 = "BLOCK"
S7 AIGatewayGetResponseGuardrailsResponseS7Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS7Flag AIGatewayGetResponseGuardrailsResponseS7 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS7Block AIGatewayGetResponseGuardrailsResponseS7 = "BLOCK"
S8 AIGatewayGetResponseGuardrailsResponseS8Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS8Flag AIGatewayGetResponseGuardrailsResponseS8 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS8Block AIGatewayGetResponseGuardrailsResponseS8 = "BLOCK"
S9 AIGatewayGetResponseGuardrailsResponseS9Optional
One of the following:
const AIGatewayGetResponseGuardrailsResponseS9Flag AIGatewayGetResponseGuardrailsResponseS9 = "FLAG"
const AIGatewayGetResponseGuardrailsResponseS9Block AIGatewayGetResponseGuardrailsResponseS9 = "BLOCK"
IsDefault boolOptional
LogClassification boolOptional
LogManagement int64Optional
maximum10000000
minimum10000
LogManagementStrategy AIGatewayGetResponseLogManagementStrategyOptional
One of the following:
const AIGatewayGetResponseLogManagementStrategyStopInserting AIGatewayGetResponseLogManagementStrategy = "STOP_INSERTING"
const AIGatewayGetResponseLogManagementStrategyDeleteOldest AIGatewayGetResponseLogManagementStrategy = "DELETE_OLDEST"
Logpush boolOptional
LogpushPublicKey stringOptional
maxLength1024
minLength16
Otel []AIGatewayGetResponseOtelOptional
Headers map[string, string]
URL string
formaturi
maxLength2048
Authorization stringOptional
maxLength256
ContentType AIGatewayGetResponseOtelContentTypeOptional
One of the following:
const AIGatewayGetResponseOtelContentTypeJson AIGatewayGetResponseOtelContentType = "json"
const AIGatewayGetResponseOtelContentTypeProtobuf AIGatewayGetResponseOtelContentType = "protobuf"
RateLimitingTechnique AIGatewayGetResponseRateLimitingTechniqueOptional
One of the following:
const AIGatewayGetResponseRateLimitingTechniqueFixed AIGatewayGetResponseRateLimitingTechnique = "fixed"
const AIGatewayGetResponseRateLimitingTechniqueSliding AIGatewayGetResponseRateLimitingTechnique = "sliding"
RetryBackoff AIGatewayGetResponseRetryBackoffOptional

Backoff strategy for retry delays

One of the following:
const AIGatewayGetResponseRetryBackoffConstant AIGatewayGetResponseRetryBackoff = "constant"
const AIGatewayGetResponseRetryBackoffLinear AIGatewayGetResponseRetryBackoff = "linear"
const AIGatewayGetResponseRetryBackoffExponential AIGatewayGetResponseRetryBackoff = "exponential"
RetryDelay int64Optional

Delay between retry attempts in milliseconds (0-60000)

maximum60000
minimum0
RetryMaxAttempts int64Optional

Maximum number of retry attempts for failed requests (1-5)

maximum5
minimum1
SpendLimits AIGatewayGetResponseSpendLimitsOptional
Enabled boolOptional
Rules []AIGatewayGetResponseSpendLimitsRuleOptional
Limit float64
exclusiveMinimum
minimum0
LimitType AIGatewayGetResponseSpendLimitsRulesLimitType
Window int64
exclusiveMinimum
minimum0
ID stringOptional
minLength1
Enabled boolOptional
Metadata map[string, AIGatewayGetResponseSpendLimitsRulesMetadata]Optional
One of the following:
type AIGatewayGetResponseSpendLimitsRulesMetadataMode struct{…}
Mode AIGatewayGetResponseSpendLimitsRulesMetadataModeMode
type AIGatewayGetResponseSpendLimitsRulesMetadataObject struct{…}
Mode AIGatewayGetResponseSpendLimitsRulesMetadataObjectMode
Values []string
Model AIGatewayGetResponseSpendLimitsRulesModelOptional
Mode AIGatewayGetResponseSpendLimitsRulesModelMode
Values []string
Provider AIGatewayGetResponseSpendLimitsRulesProviderOptional
Mode AIGatewayGetResponseSpendLimitsRulesProviderMode
Values []string
Technique AIGatewayGetResponseSpendLimitsRulesTechniqueOptional
One of the following:
const AIGatewayGetResponseSpendLimitsRulesTechniqueFixed AIGatewayGetResponseSpendLimitsRulesTechnique = "fixed"
const AIGatewayGetResponseSpendLimitsRulesTechniqueSliding AIGatewayGetResponseSpendLimitsRulesTechnique = "sliding"
StoreID stringOptional
Stripe AIGatewayGetResponseStripeOptional
Authorization string
UsageEvents []AIGatewayGetResponseStripeUsageEvent
Payload string
WorkersAIBillingMode AIGatewayGetResponseWorkersAIBillingModeOptional

Controls how Workers AI inference calls routed through this gateway are billed. ‘postpaid’ bills the account directly through Workers AI; ‘unified’ deducts credits via AI Gateway using neuron-based pricing and delegates billing to AI Gateway.

One of the following:
const AIGatewayGetResponseWorkersAIBillingModePostpaid AIGatewayGetResponseWorkersAIBillingMode = "postpaid"
const AIGatewayGetResponseWorkersAIBillingModeUnified AIGatewayGetResponseWorkersAIBillingMode = "unified"
Zdr boolOptional

Get a gateway

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"),
  )
  aiGateway, err := client.AIGateway.Get(
    context.TODO(),
    "my-gateway",
    ai_gateway.AIGatewayGetParams{
      AccountID: cloudflare.F("3ebbcb006d4d46d7bb6a8c7f14676cb0"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", aiGateway.ID)
}
{
  "result": {
    "id": "my-gateway",
    "cache_invalidate_on_update": true,
    "cache_ttl": 0,
    "collect_logs": true,
    "created_at": "2019-12-27T18:11:19.117Z",
    "modified_at": "2019-12-27T18:11:19.117Z",
    "rate_limiting_interval": 0,
    "rate_limiting_limit": 0,
    "authentication": true,
    "byok_only": true,
    "dlp": {
      "action": "BLOCK",
      "enabled": true,
      "profiles": [
        "string"
      ]
    },
    "guardrails": {
      "prompt": {
        "P1": "FLAG",
        "S1": "FLAG",
        "S10": "FLAG",
        "S11": "FLAG",
        "S12": "FLAG",
        "S13": "FLAG",
        "S2": "FLAG",
        "S3": "FLAG",
        "S4": "FLAG",
        "S5": "FLAG",
        "S6": "FLAG",
        "S7": "FLAG",
        "S8": "FLAG",
        "S9": "FLAG"
      },
      "response": {
        "P1": "FLAG",
        "S1": "FLAG",
        "S10": "FLAG",
        "S11": "FLAG",
        "S12": "FLAG",
        "S13": "FLAG",
        "S2": "FLAG",
        "S3": "FLAG",
        "S4": "FLAG",
        "S5": "FLAG",
        "S6": "FLAG",
        "S7": "FLAG",
        "S8": "FLAG",
        "S9": "FLAG"
      }
    },
    "is_default": true,
    "log_classification": true,
    "log_management": 10000,
    "log_management_strategy": "STOP_INSERTING",
    "logpush": true,
    "logpush_public_key": "xxxxxxxxxxxxxxxx",
    "otel": [
      {
        "headers": {
          "foo": "string"
        },
        "url": "https://example.com",
        "authorization": "authorization",
        "content_type": "json"
      }
    ],
    "rate_limiting_technique": "fixed",
    "retry_backoff": "constant",
    "retry_delay": 0,
    "retry_max_attempts": 1,
    "spend_limits": {
      "enabled": true,
      "rules": [
        {
          "limit": 1,
          "limitType": "cost",
          "window": 1,
          "id": "x",
          "enabled": true,
          "metadata": {
            "foo": {
              "mode": "partition"
            }
          },
          "model": {
            "mode": "filter",
            "values": [
              "string"
            ]
          },
          "provider": {
            "mode": "filter",
            "values": [
              "string"
            ]
          },
          "technique": "fixed"
        }
      ]
    },
    "store_id": "store_id",
    "stripe": {
      "authorization": "authorization",
      "usage_events": [
        {
          "payload": "payload"
        }
      ]
    },
    "workers_ai_billing_mode": "postpaid",
    "zdr": true
  },
  "success": true
}
Returns Examples
{
  "result": {
    "id": "my-gateway",
    "cache_invalidate_on_update": true,
    "cache_ttl": 0,
    "collect_logs": true,
    "created_at": "2019-12-27T18:11:19.117Z",
    "modified_at": "2019-12-27T18:11:19.117Z",
    "rate_limiting_interval": 0,
    "rate_limiting_limit": 0,
    "authentication": true,
    "byok_only": true,
    "dlp": {
      "action": "BLOCK",
      "enabled": true,
      "profiles": [
        "string"
      ]
    },
    "guardrails": {
      "prompt": {
        "P1": "FLAG",
        "S1": "FLAG",
        "S10": "FLAG",
        "S11": "FLAG",
        "S12": "FLAG",
        "S13": "FLAG",
        "S2": "FLAG",
        "S3": "FLAG",
        "S4": "FLAG",
        "S5": "FLAG",
        "S6": "FLAG",
        "S7": "FLAG",
        "S8": "FLAG",
        "S9": "FLAG"
      },
      "response": {
        "P1": "FLAG",
        "S1": "FLAG",
        "S10": "FLAG",
        "S11": "FLAG",
        "S12": "FLAG",
        "S13": "FLAG",
        "S2": "FLAG",
        "S3": "FLAG",
        "S4": "FLAG",
        "S5": "FLAG",
        "S6": "FLAG",
        "S7": "FLAG",
        "S8": "FLAG",
        "S9": "FLAG"
      }
    },
    "is_default": true,
    "log_classification": true,
    "log_management": 10000,
    "log_management_strategy": "STOP_INSERTING",
    "logpush": true,
    "logpush_public_key": "xxxxxxxxxxxxxxxx",
    "otel": [
      {
        "headers": {
          "foo": "string"
        },
        "url": "https://example.com",
        "authorization": "authorization",
        "content_type": "json"
      }
    ],
    "rate_limiting_technique": "fixed",
    "retry_backoff": "constant",
    "retry_delay": 0,
    "retry_max_attempts": 1,
    "spend_limits": {
      "enabled": true,
      "rules": [
        {
          "limit": 1,
          "limitType": "cost",
          "window": 1,
          "id": "x",
          "enabled": true,
          "metadata": {
            "foo": {
              "mode": "partition"
            }
          },
          "model": {
            "mode": "filter",
            "values": [
              "string"
            ]
          },
          "provider": {
            "mode": "filter",
            "values": [
              "string"
            ]
          },
          "technique": "fixed"
        }
      ]
    },
    "store_id": "store_id",
    "stripe": {
      "authorization": "authorization",
      "usage_events": [
        {
          "payload": "payload"
        }
      ]
    },
    "workers_ai_billing_mode": "postpaid",
    "zdr": true
  },
  "success": true
}