api

package
v0.11.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package api provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.

Package api provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.

Package api contains manually preserved types that are defined in the OpenAPI spec but are not referenced by any path — oapi-codegen v2 only emits types reachable from paths. These types must be kept here to avoid breaking service code that references them.

Package api contains API types for WebSub HMAC secrets. The structs WebSubAPIHmacSecretRequest, WebSubAPIHmacSecretRegenerateRequest, WebSubAPIHmacSecretInfo, WebSubAPIHmacSecretCreationResponse, and WebSubAPIHmacSecretListResponse are generated into generated.go from openapi.yaml — do not re-declare them here.

Index

Constants

View Source
const (
	OAuth2SecurityEventGatewayScopes = "OAuth2SecurityEventGateway.Scopes"
)
View Source
const (
	OAuth2SecurityScopes = "OAuth2Security.Scopes"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIKeyItem

type APIKeyItem struct {
	// AllowedTargets Comma-separated list of allowed gateways; 'ALL' means unrestricted
	AllowedTargets string `binding:"required" json:"allowedTargets" yaml:"allowedTargets"`

	// CreatedAt Timestamp when the key was created
	CreatedAt time.Time `binding:"required" json:"createdAt" yaml:"createdAt"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `binding:"required" json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable display name of the API key
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// ExpiresAt Optional expiration timestamp
	ExpiresAt *time.Time `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"`

	// Id URL-safe handle (identifier) of the API key (generated from displayName when not supplied)
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Issuer Optional identifier of the developer portal that provisioned this key
	Issuer *string `json:"issuer,omitempty" yaml:"issuer,omitempty"`

	// MaskedApiKey Masked representation of the API key for display purposes
	MaskedApiKey string `binding:"required" json:"maskedApiKey" yaml:"maskedApiKey"`

	// Status Current status of the key
	Status APIKeyItemStatus `binding:"required" json:"status" yaml:"status"`

	// UpdatedAt Timestamp when the key was last updated
	UpdatedAt time.Time `binding:"required" json:"updatedAt" yaml:"updatedAt"`
}

APIKeyItem defines model for APIKeyItem.

type APIKeyItemStatus

type APIKeyItemStatus string

APIKeyItemStatus Current status of the key

const (
	APIKeyItemStatusActive  APIKeyItemStatus = "active"
	APIKeyItemStatusExpired APIKeyItemStatus = "expired"
	APIKeyItemStatusRevoked APIKeyItemStatus = "revoked"
)

Defines values for APIKeyItemStatus.

type APIKeyMappingAssociatedEntity

type APIKeyMappingAssociatedEntity struct {
	// Id ID of the entity that owns the API key
	Id string `binding:"required" json:"id" yaml:"id"`
}

APIKeyMappingAssociatedEntity defines model for APIKeyMappingAssociatedEntity.

type APIKeyMappingSelector

type APIKeyMappingSelector struct {
	AssociatedEntity APIKeyMappingAssociatedEntity `json:"associatedEntity" yaml:"associatedEntity"`

	// KeyId API key name
	KeyId string `binding:"required" json:"keyId" yaml:"keyId"`
}

APIKeyMappingSelector defines model for APIKeyMappingSelector.

type APIKeySecurity

type APIKeySecurity struct {
	// Enabled Whether API key authentication is enabled
	Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`

	// In Location of the API key (header or query)
	In *APIKeySecurityIn `json:"in,omitempty" yaml:"in,omitempty"`

	// Key Name of the header or query parameter to be used for the API key
	Key *string `json:"key,omitempty" yaml:"key,omitempty"`
}

APIKeySecurity Configuration for API key based authentication

type APIKeySecurityIn

type APIKeySecurityIn string

APIKeySecurityIn Location of the API key (header or query)

const (
	APIKeySecurityInHeader APIKeySecurityIn = "header"
	APIKeySecurityInQuery  APIKeySecurityIn = "query"
)

Defines values for APIKeySecurityIn.

type AddApplicationAPIKeysJSONRequestBody

type AddApplicationAPIKeysJSONRequestBody = AddApplicationAPIKeysRequest

AddApplicationAPIKeysJSONRequestBody defines body for AddApplicationAPIKeys for application/json ContentType.

type AddApplicationAPIKeysRequest

type AddApplicationAPIKeysRequest struct {
	// ApiKeys List of API key selectors to add to the application mappings
	ApiKeys []APIKeyMappingSelector `binding:"required" json:"apiKeys" yaml:"apiKeys"`
}

AddApplicationAPIKeysRequest defines model for AddApplicationAPIKeysRequest.

type AddApplicationAssociationsJSONRequestBody

type AddApplicationAssociationsJSONRequestBody = AddApplicationAssociationsRequest

AddApplicationAssociationsJSONRequestBody defines body for AddApplicationAssociations for application/json ContentType.

type AddApplicationAssociationsRequest

type AddApplicationAssociationsRequest struct {
	// Associations List of association selectors to add to the application
	Associations []ApplicationAssociationSelector `binding:"required" json:"associations" yaml:"associations"`
}

AddApplicationAssociationsRequest defines model for AddApplicationAssociationsRequest.

type AddGatewayToRESTAPIRequest

type AddGatewayToRESTAPIRequest struct {
	// GatewayId Handle (URL-friendly slug) of the gateway to associate with the REST API
	GatewayId string `binding:"required" json:"gatewayId" yaml:"gatewayId"`
}

AddGatewayToRESTAPIRequest defines model for AddGatewayToRESTAPIRequest.

type AddGatewaysToAPIJSONBody

type AddGatewaysToAPIJSONBody = []AddGatewayToRESTAPIRequest

AddGatewaysToAPIJSONBody defines parameters for AddGatewaysToAPI.

type AddGatewaysToAPIJSONRequestBody

type AddGatewaysToAPIJSONRequestBody = AddGatewaysToAPIJSONBody

AddGatewaysToAPIJSONRequestBody defines body for AddGatewaysToAPI for application/json ContentType.

type ApiId

type ApiId = string

ApiId defines model for apiId.

type AppId

type AppId = string

AppId defines model for appId.

type Application

type Application struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Description Description of the application
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the application
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Application handle/identifier
	Id string `binding:"required" json:"id" yaml:"id"`

	// ProjectId Handle (URL-friendly slug) of the project this application belongs to
	ProjectId string `binding:"required" json:"projectId" yaml:"projectId"`

	// Type Type of the application
	Type      ApplicationType `json:"type" yaml:"type"`
	UpdatedAt *time.Time      `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /applications/{appId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`
}

Application defines model for Application.

type ApplicationAssociation

type ApplicationAssociation struct {
	// CreatedAt Timestamp when the association was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// DisplayName Human-readable name for the associated target
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Handle/ID of the associated target
	Id string `binding:"required" json:"id" yaml:"id"`

	// Kind Type of associated target
	Kind string `binding:"required" json:"kind" yaml:"kind"`

	// UpdatedAt Timestamp when the association was updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// Version Version of the associated target
	Version string `binding:"required" json:"version" yaml:"version"`
}

ApplicationAssociation defines model for ApplicationAssociation.

type ApplicationAssociationListResponse

type ApplicationAssociationListResponse struct {
	// Count Number of items in current response
	Count      int                      `binding:"required" json:"count" yaml:"count"`
	List       []ApplicationAssociation `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination               `json:"pagination" yaml:"pagination"`
}

ApplicationAssociationListResponse defines model for ApplicationAssociationListResponse.

type ApplicationAssociationSelector

type ApplicationAssociationSelector struct {
	// Id ID or handle of the association target
	Id string `binding:"required" json:"id" yaml:"id"`

	// Kind Type of the association target
	Kind ApplicationAssociationSelectorKind `binding:"required" json:"kind" yaml:"kind"`
}

ApplicationAssociationSelector defines model for ApplicationAssociationSelector.

type ApplicationAssociationSelectorKind

type ApplicationAssociationSelectorKind string

ApplicationAssociationSelectorKind Type of the association target

const (
	ApplicationAssociationSelectorKindLlmProvider ApplicationAssociationSelectorKind = "LlmProvider"
	ApplicationAssociationSelectorKindLlmProxy    ApplicationAssociationSelectorKind = "LlmProxy"
)

Defines values for ApplicationAssociationSelectorKind.

type ApplicationListResponse

type ApplicationListResponse struct {
	// Count Number of items in current response
	Count      int           `binding:"required" json:"count" yaml:"count"`
	List       []Application `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination    `json:"pagination" yaml:"pagination"`
}

ApplicationListResponse defines model for ApplicationListResponse.

type ApplicationType

type ApplicationType string

ApplicationType Type of the application

const (
	Genai ApplicationType = "genai"
)

Defines values for ApplicationType.

type AssociatedEntity

type AssociatedEntity struct {
	// Id ID of the associated entity
	Id string `binding:"required" json:"id" yaml:"id"`

	// Kind Type of the associated entity
	Kind string `binding:"required" json:"kind" yaml:"kind"`
}

AssociatedEntity defines model for AssociatedEntity.

type AssociatedGateway

type AssociatedGateway struct {
	// Configurations Per-gateway configuration overrides for this artifact. This is a free-form object; the supported keys depend on the deployed artifact type.
	Configurations *map[string]interface{} `json:"configurations,omitempty" yaml:"configurations,omitempty"`

	// Id Handle of the gateway this artifact can be deployed to
	Id string `binding:"required" json:"id" yaml:"id"`
}

AssociatedGateway defines model for AssociatedGateway.

type AssociationId

type AssociationId = string

AssociationId defines model for associationId.

type BadRequest

type BadRequest = Error

BadRequest The single error shape returned by every failed request across the API.

type Channel

type Channel struct {
	// Description Description of the channel
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// Name Name of the channel
	Name *string `json:"name,omitempty" yaml:"name,omitempty"`

	// Request Request details for a channel within the Async API
	Request ChannelRequest `json:"request" yaml:"request"`
}

Channel Defines a single channel within the Async API

type ChannelRequest

type ChannelRequest struct {
	// Method Async method for the channel
	Method ChannelRequestMethod `binding:"required" json:"method" yaml:"method"`

	// Name Channel name for the event
	Name string `binding:"required" json:"name" yaml:"name"`

	// Policies List of policies to be applied on the operation
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`
}

ChannelRequest Request details for a channel within the Async API

type ChannelRequestMethod

type ChannelRequestMethod string

ChannelRequestMethod Async method for the channel

const (
	SUB ChannelRequestMethod = "SUB"
)

Defines values for ChannelRequestMethod.

type Conflict

type Conflict = Error

Conflict The single error shape returned by every failed request across the API.

type CopyLLMProviderTemplateVersionJSONRequestBody

type CopyLLMProviderTemplateVersionJSONRequestBody = CreateLLMProviderTemplateVersionRequest

CopyLLMProviderTemplateVersionJSONRequestBody defines body for CopyLLMProviderTemplateVersion for application/json ContentType.

type CopyLLMProviderTemplateVersionParams

type CopyLLMProviderTemplateVersionParams struct {
	// FromTemplateId Handle (id) of the source version to copy from.
	FromTemplateId string `form:"fromTemplateId" json:"fromTemplateId" yaml:"fromTemplateId"`

	// ToTemplateId Expected handle of the new version. Must equal the handle derived from the source family and toVersion; used to validate the target.
	ToTemplateId *string `form:"toTemplateId,omitempty" json:"toTemplateId,omitempty" yaml:"toTemplateId,omitempty"`

	// ToVersion New version identifier, e.g. v4.0. Must match v<major>.<minor> with a major of at least 1, and be unique within the family.
	ToVersion string `form:"toVersion" json:"toVersion" yaml:"toVersion"`
}

CopyLLMProviderTemplateVersionParams defines parameters for CopyLLMProviderTemplateVersion.

type CostRateLimitDimension

type CostRateLimitDimension struct {
	// Amount Maximum cost in the reset window.
	Amount *float32 `json:"amount,omitempty" yaml:"amount,omitempty"`

	// Enabled Enable cost-based limiting.
	Enabled *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty"`
	Reset   *RateLimitResetWindow `json:"reset,omitempty" yaml:"reset,omitempty"`
}

CostRateLimitDimension defines model for CostRateLimitDimension.

type CreateAPIKeyJSONRequestBody

type CreateAPIKeyJSONRequestBody = CreateAPIKeyRequest

CreateAPIKeyJSONRequestBody defines body for CreateAPIKey for application/json ContentType.

type CreateAPIKeyRequest

type CreateAPIKeyRequest struct {
	// ApiKey The plain text API key value that will be hashed before storage
	ApiKey string `binding:"required" json:"apiKey" yaml:"apiKey"`

	// DisplayName Human-readable name for the API key
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// ExpiresAt Optional expiration time in ISO 8601 format
	ExpiresAt *time.Time          `json:"expiresAt" yaml:"expiresAt"`
	ExpiresIn *ExpirationDuration `json:"expiresIn,omitempty" yaml:"expiresIn,omitempty"`

	// ExternalRefId Optional reference ID for tracing purposes (from external platforms)
	ExternalRefId *string `json:"externalRefId" yaml:"externalRefId"`

	// Id Unique identifier for this API key within the API (optional; if omitted,
	// generated from displayName)
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Issuer Identifier of the developer portal that provisioned this API key. Null if not provided.
	Issuer *string `json:"issuer" yaml:"issuer"`
}

CreateAPIKeyRequest defines model for CreateAPIKeyRequest.

type CreateAPIKeyResponse

type CreateAPIKeyResponse struct {
	// KeyId The internal ID generated for tracking
	KeyId *string `json:"keyId,omitempty" yaml:"keyId,omitempty"`

	// Message Additional details about the operation result
	Message string `binding:"required" json:"message" yaml:"message"`

	// Status Status of the operation
	Status CreateAPIKeyResponseStatus `binding:"required" json:"status" yaml:"status"`
}

CreateAPIKeyResponse defines model for CreateAPIKeyResponse.

type CreateAPIKeyResponseStatus

type CreateAPIKeyResponseStatus string

CreateAPIKeyResponseStatus Status of the operation

const (
	CreateAPIKeyResponseStatusError   CreateAPIKeyResponseStatus = "error"
	CreateAPIKeyResponseStatusSuccess CreateAPIKeyResponseStatus = "success"
)

Defines values for CreateAPIKeyResponseStatus.

type CreateApplicationJSONRequestBody

type CreateApplicationJSONRequestBody = CreateApplicationRequest

CreateApplicationJSONRequestBody defines body for CreateApplication for application/json ContentType.

type CreateApplicationRequest

type CreateApplicationRequest struct {
	// Description Description of the application
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the application
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Unique handle/identifier for the application. Can be provided during creation or auto-generated.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// ProjectId Handle (URL-friendly slug) of the project this application belongs to.
	ProjectId string `binding:"required" json:"projectId" yaml:"projectId"`

	// Type Type of the application
	Type ApplicationType `json:"type" yaml:"type"`
}

CreateApplicationRequest Request body for creating an application.

type CreateGatewayJSONRequestBody

type CreateGatewayJSONRequestBody = CreateGatewayRequest

CreateGatewayJSONRequestBody defines body for CreateGateway for application/json ContentType.

type CreateGatewayRequest

type CreateGatewayRequest struct {
	// Description Description of the gateway
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable gateway name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Endpoints Network endpoints exposed by this gateway, each as a full URL string
	Endpoints []string `binding:"required" json:"endpoints" yaml:"endpoints"`

	// FunctionalityType Type of gateway functionality
	FunctionalityType CreateGatewayRequestFunctionalityType `binding:"required" json:"functionalityType" yaml:"functionalityType"`

	// Id Handle (URL-friendly slug) for the gateway. Immutable after creation.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// IsCritical Whether the gateway is critical for production
	IsCritical *bool `json:"isCritical,omitempty" yaml:"isCritical,omitempty"`

	// Properties Custom key-value properties for the gateway
	Properties *map[string]interface{} `json:"properties,omitempty" yaml:"properties,omitempty"`

	// Version Gateway version in `major.minor` format (e.g. `1.0`) or CalVer `YYYY.MM.DD` format (e.g. `2026.05.13`). Defaults to `1.0` if not provided.
	Version *string `json:"version,omitempty" yaml:"version,omitempty"`
}

CreateGatewayRequest Request body for creating a gateway. Organization ID is automatically extracted from the JWT token and does not need to be provided.

type CreateGatewayRequestFunctionalityType

type CreateGatewayRequestFunctionalityType string

CreateGatewayRequestFunctionalityType Type of gateway functionality

const (
	CreateGatewayRequestFunctionalityTypeAi      CreateGatewayRequestFunctionalityType = "ai"
	CreateGatewayRequestFunctionalityTypeEvent   CreateGatewayRequestFunctionalityType = "event"
	CreateGatewayRequestFunctionalityTypeRegular CreateGatewayRequestFunctionalityType = "regular"
)

Defines values for CreateGatewayRequestFunctionalityType.

type CreateLLMProviderAPIKeyJSONRequestBody

type CreateLLMProviderAPIKeyJSONRequestBody = CreateLLMProviderAPIKeyRequest

CreateLLMProviderAPIKeyJSONRequestBody defines body for CreateLLMProviderAPIKey for application/json ContentType.

type CreateLLMProviderAPIKeyRequest

type CreateLLMProviderAPIKeyRequest struct {
	// AllowedTargets Comma-separated list of gateways this key is valid for.
	// Use 'ALL' to allow all targets (default).
	AllowedTargets *string `json:"allowedTargets" yaml:"allowedTargets"`

	// DisplayName Human-readable name for the API key
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// ExpiresAt Optional expiration time in ISO 8601 format
	ExpiresAt *time.Time `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"`

	// Id Unique identifier for the API key within the LLM provider. If not provided, generated from displayName.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Issuer Identifier of the developer portal that provisioned this API key. Null if not provided.
	Issuer *string `json:"issuer" yaml:"issuer"`
}

CreateLLMProviderAPIKeyRequest defines model for CreateLLMProviderAPIKeyRequest.

type CreateLLMProviderAPIKeyResponse

type CreateLLMProviderAPIKeyResponse struct {
	// ApiKey The generated API key value (shown only once, 64 hexadecimal characters)
	ApiKey string `binding:"required" json:"apiKey" yaml:"apiKey"`

	// Id Unique identifier of the generated key
	Id string `binding:"required" json:"id" yaml:"id"`

	// Message Detailed message about the operation result
	Message string `binding:"required" json:"message" yaml:"message"`

	// Status Status of the operation
	Status string `binding:"required" json:"status" yaml:"status"`
}

CreateLLMProviderAPIKeyResponse defines model for CreateLLMProviderAPIKeyResponse.

type CreateLLMProviderJSONRequestBody

type CreateLLMProviderJSONRequestBody = LLMProvider

CreateLLMProviderJSONRequestBody defines body for CreateLLMProvider for application/json ContentType.

type CreateLLMProviderTemplateJSONRequestBody

type CreateLLMProviderTemplateJSONRequestBody = LLMProviderTemplate

CreateLLMProviderTemplateJSONRequestBody defines body for CreateLLMProviderTemplate for application/json ContentType.

type CreateLLMProviderTemplateVersionRequest

type CreateLLMProviderTemplateVersionRequest struct {
	CompletionTokens *ExtractionIdentifier `json:"completionTokens,omitempty" yaml:"completionTokens,omitempty"`

	// Description Description of the LLM provider template
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable LLM Template name. Optional — when omitted, the new
	// version inherits the family's existing name. Supplying a different
	// value renames the template family.
	DisplayName *string `json:"displayName,omitempty" yaml:"displayName,omitempty"`

	// ManagedBy Identifies who manages the template. Custom templates default to 'organization'.
	ManagedBy *string                      `json:"managedBy,omitempty" yaml:"managedBy,omitempty"`
	Metadata  *LLMProviderTemplateMetadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	// Openapi OpenAPI specification content (JSON or YAML) for the provider, when
	// uploaded/pasted. Use metadata.openapiSpecUrl instead to reference the
	// spec by URL.
	Openapi          *string                              `json:"openapi,omitempty" yaml:"openapi,omitempty"`
	PromptTokens     *ExtractionIdentifier                `json:"promptTokens,omitempty" yaml:"promptTokens,omitempty"`
	RemainingTokens  *ExtractionIdentifier                `json:"remainingTokens,omitempty" yaml:"remainingTokens,omitempty"`
	RequestModel     *ExtractionIdentifier                `json:"requestModel,omitempty" yaml:"requestModel,omitempty"`
	ResourceMappings *LLMProviderTemplateResourceMappings `json:"resourceMappings,omitempty" yaml:"resourceMappings,omitempty"`
	ResponseModel    *ExtractionIdentifier                `json:"responseModel,omitempty" yaml:"responseModel,omitempty"`
	TotalTokens      *ExtractionIdentifier                `json:"totalTokens,omitempty" yaml:"totalTokens,omitempty"`

	// Version New version identifier, e.g. v2.0. Must be unique for this template.
	Version string `binding:"required" json:"version" yaml:"version"`
}

CreateLLMProviderTemplateVersionRequest defines model for CreateLLMProviderTemplateVersionRequest.

type CreateLLMProxyAPIKeyJSONRequestBody

type CreateLLMProxyAPIKeyJSONRequestBody = CreateLLMProxyAPIKeyRequest

CreateLLMProxyAPIKeyJSONRequestBody defines body for CreateLLMProxyAPIKey for application/json ContentType.

type CreateLLMProxyAPIKeyRequest

type CreateLLMProxyAPIKeyRequest struct {
	// AllowedTargets Comma-separated list of gateways this key is valid for.
	// Use 'ALL' to allow all targets (default).
	AllowedTargets *string `json:"allowedTargets" yaml:"allowedTargets"`

	// DisplayName Human-readable name for the API key
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// ExpiresAt Optional expiration time in ISO 8601 format
	ExpiresAt *time.Time `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"`

	// Id Unique identifier for the API key within the LLM proxy. If not provided, generated from displayName.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Issuer Identifier of the developer portal that provisioned this API key. Null if not provided.
	Issuer *string `json:"issuer" yaml:"issuer"`
}

CreateLLMProxyAPIKeyRequest defines model for CreateLLMProxyAPIKeyRequest.

type CreateLLMProxyAPIKeyResponse

type CreateLLMProxyAPIKeyResponse struct {
	// ApiKey The generated API key value (shown only once, 64 hexadecimal characters)
	ApiKey string `binding:"required" json:"apiKey" yaml:"apiKey"`

	// Id Unique identifier of the generated key
	Id string `binding:"required" json:"id" yaml:"id"`

	// Message Detailed message about the operation result
	Message string `binding:"required" json:"message" yaml:"message"`

	// Status Status of the operation
	Status string `binding:"required" json:"status" yaml:"status"`
}

CreateLLMProxyAPIKeyResponse defines model for CreateLLMProxyAPIKeyResponse.

type CreateLLMProxyJSONRequestBody

type CreateLLMProxyJSONRequestBody = LLMProxy

CreateLLMProxyJSONRequestBody defines body for CreateLLMProxy for application/json ContentType.

type CreateMCPProxyJSONRequestBody

type CreateMCPProxyJSONRequestBody = MCPProxy

CreateMCPProxyJSONRequestBody defines body for CreateMCPProxy for application/json ContentType.

type CreateProjectJSONRequestBody

type CreateProjectJSONRequestBody = CreateProjectRequest

CreateProjectJSONRequestBody defines body for CreateProject for application/json ContentType.

type CreateProjectRequest

type CreateProjectRequest struct {
	// Description Description of the project
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the project
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Handle (URL-friendly slug) for the project. Auto-generated from displayName if not provided.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`
}

CreateProjectRequest Request body for creating a project. Organization ID is automatically extracted from the JWT token and does not need to be provided.

type CreateRESTAPIJSONRequestBody

type CreateRESTAPIJSONRequestBody = CreateRESTAPIRequest

CreateRESTAPIJSONRequestBody defines body for CreateRESTAPI for application/json ContentType.

type CreateRESTAPIRequest

type CreateRESTAPIRequest struct {
	// Channels List of channels exposed by this API
	Channels *[]Channel `json:"channels,omitempty" yaml:"channels,omitempty"`
	Context  string     `binding:"required" json:"context" yaml:"context"`

	// CreatedAt Timestamp when the api was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the API
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Unique handle/identifier for the API. Can be provided during creation or auto-generated. On update (PUT), if provided must match the path parameter — returns 400 if they differ.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Kind of the API based on its communication protocol or architectural style
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty"`

	// LifeCycleStatus Current lifecycle status of the API
	LifeCycleStatus *CreateRESTAPIRequestLifeCycleStatus `json:"lifeCycleStatus,omitempty" yaml:"lifeCycleStatus,omitempty"`

	// Operations List of operations exposed by this API
	Operations *[]Operation `json:"operations,omitempty" yaml:"operations,omitempty"`

	// Policies List of policies to be applied on the API
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// ProjectId Handle (URL-friendly slug) of the project this API belongs to
	ProjectId string `binding:"required" json:"projectId" yaml:"projectId"`

	// ReadOnly True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
	ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`

	// SubscriptionPlans List of subscription plan names enabled for this API (e.g. Gold, Silver).
	// When set, only these plans can be used when subscribing to the API.
	SubscriptionPlans *[]string `json:"subscriptionPlans,omitempty" yaml:"subscriptionPlans,omitempty"`

	// Transport Supported transports for the API (http and/or https)
	Transport *[]string `json:"transport,omitempty" yaml:"transport,omitempty"`

	// UpdatedAt Timestamp when the api was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /rest-apis/{apiId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Upstream Upstream backend configuration with main and sandbox endpoints
	Upstream Upstream `json:"upstream" yaml:"upstream"`
	Version  string   `binding:"required" json:"version" yaml:"version"`
}

CreateRESTAPIRequest defines model for CreateRESTAPIRequest.

type CreateRESTAPIRequestLifeCycleStatus

type CreateRESTAPIRequestLifeCycleStatus string

CreateRESTAPIRequestLifeCycleStatus Current lifecycle status of the API

const (
	CreateRESTAPIRequestLifeCycleStatusBLOCKED    CreateRESTAPIRequestLifeCycleStatus = "BLOCKED"
	CreateRESTAPIRequestLifeCycleStatusCREATED    CreateRESTAPIRequestLifeCycleStatus = "CREATED"
	CreateRESTAPIRequestLifeCycleStatusDEPRECATED CreateRESTAPIRequestLifeCycleStatus = "DEPRECATED"
	CreateRESTAPIRequestLifeCycleStatusPUBLISHED  CreateRESTAPIRequestLifeCycleStatus = "PUBLISHED"
	CreateRESTAPIRequestLifeCycleStatusRETIRED    CreateRESTAPIRequestLifeCycleStatus = "RETIRED"
	CreateRESTAPIRequestLifeCycleStatusSTAGED     CreateRESTAPIRequestLifeCycleStatus = "STAGED"
)

Defines values for CreateRESTAPIRequestLifeCycleStatus.

type CreateSecretMultipartRequestBody

type CreateSecretMultipartRequestBody = SecretCreateRequest

CreateSecretMultipartRequestBody defines body for CreateSecret for multipart/form-data ContentType.

type CreateSubscriptionJSONRequestBody

type CreateSubscriptionJSONRequestBody = CreateSubscriptionRequest

CreateSubscriptionJSONRequestBody defines body for CreateSubscription for application/json ContentType.

type CreateSubscriptionPlanJSONRequestBody

type CreateSubscriptionPlanJSONRequestBody = CreateSubscriptionPlanRequest

CreateSubscriptionPlanJSONRequestBody defines body for CreateSubscriptionPlan for application/json ContentType.

type CreateSubscriptionPlanRequest

type CreateSubscriptionPlanRequest struct {
	// DisplayName Human-readable name for the subscription plan
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// ExpiryTime Optional plan expiry time (RFC3339)
	ExpiryTime *time.Time `json:"expiryTime,omitempty" yaml:"expiryTime,omitempty"`

	// Id Handle (URL-friendly slug) for the plan. Immutable after creation.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Limits Throttling limits for the plan (e.g. requests per hour, requests per month). The table backing this API already supports multiple limits per plan, but the platform-api currently only persists and enforces the first entry in this array; any additional entries are accepted but ignored.
	Limits *[]SubscriptionPlanLimit             `json:"limits,omitempty" yaml:"limits,omitempty"`
	Status *CreateSubscriptionPlanRequestStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

CreateSubscriptionPlanRequest defines model for CreateSubscriptionPlanRequest.

type CreateSubscriptionPlanRequestStatus

type CreateSubscriptionPlanRequestStatus string

CreateSubscriptionPlanRequestStatus defines model for CreateSubscriptionPlanRequest.Status.

const (
	CreateSubscriptionPlanRequestStatusACTIVE   CreateSubscriptionPlanRequestStatus = "ACTIVE"
	CreateSubscriptionPlanRequestStatusINACTIVE CreateSubscriptionPlanRequestStatus = "INACTIVE"
)

Defines values for CreateSubscriptionPlanRequestStatus.

type CreateSubscriptionRequest

type CreateSubscriptionRequest struct {
	// ApiId Handle (ID) of the artifact to subscribe to. Resolved against the table for the given kind.
	ApiId string `binding:"required" json:"apiId" yaml:"apiId"`

	// ApplicationId Handle (ID) of the application this subscription belongs to. Optional in token-based subscriptions.
	ApplicationId *string `json:"applicationId,omitempty" yaml:"applicationId,omitempty"`

	// Kind Type of the artifact identified by apiId. Determines which artifact table apiId is resolved against.
	Kind CreateSubscriptionRequestKind `binding:"required" json:"kind" yaml:"kind"`

	// Status Subscription status (default ACTIVE)
	Status *CreateSubscriptionRequestStatus `json:"status,omitempty" yaml:"status,omitempty"`

	// SubscriberId Unique subscriber identifier for the subscription (required)
	SubscriberId string `binding:"required" json:"subscriberId" yaml:"subscriberId"`

	// SubscriptionPlanId Handle (slug) of the subscription plan. Links the subscription to rate limit and billing configuration.
	SubscriptionPlanId *string `json:"subscriptionPlanId,omitempty" yaml:"subscriptionPlanId,omitempty"`
}

CreateSubscriptionRequest defines model for CreateSubscriptionRequest.

type CreateSubscriptionRequestKind

type CreateSubscriptionRequestKind string

CreateSubscriptionRequestKind Type of the artifact identified by apiId. Determines which artifact table apiId is resolved against.

const (
	CreateSubscriptionRequestKindLlmProvider CreateSubscriptionRequestKind = "LlmProvider"
	CreateSubscriptionRequestKindLlmProxy    CreateSubscriptionRequestKind = "LlmProxy"
	CreateSubscriptionRequestKindMcp         CreateSubscriptionRequestKind = "Mcp"
	CreateSubscriptionRequestKindRestApi     CreateSubscriptionRequestKind = "RestApi"
)

Defines values for CreateSubscriptionRequestKind.

type CreateSubscriptionRequestStatus

type CreateSubscriptionRequestStatus string

CreateSubscriptionRequestStatus Subscription status (default ACTIVE)

const (
	CreateSubscriptionRequestStatusACTIVE   CreateSubscriptionRequestStatus = "ACTIVE"
	CreateSubscriptionRequestStatusINACTIVE CreateSubscriptionRequestStatus = "INACTIVE"
	CreateSubscriptionRequestStatusREVOKED  CreateSubscriptionRequestStatus = "REVOKED"
)

Defines values for CreateSubscriptionRequestStatus.

type CustomPolicyListResponse

type CustomPolicyListResponse struct {
	// Count Number of custom policies in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of custom policies
	List       []CustomPolicyResponse `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination             `json:"pagination" yaml:"pagination"`
}

CustomPolicyListResponse defines model for CustomPolicyListResponse.

type CustomPolicyResponse

type CustomPolicyResponse struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// Description Human-readable description of the policy
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// Name Policy name
	Name string `binding:"required" json:"name" yaml:"name"`

	// OrganizationUuid Organization this policy belongs to
	OrganizationUuid openapi_types.UUID `binding:"required" json:"organizationUuid" yaml:"organizationUuid"`

	// PolicyDefinition The full policy schema as declared in the policy's policy-definition.yaml.
	// Contains `parameters` and `systemParameters` JSON Schema documents.
	PolicyDefinition map[string]interface{} `binding:"required" json:"policyDefinition" yaml:"policyDefinition"`
	UpdatedAt        *time.Time             `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// Uuid Unique identifier of the custom policy record
	Uuid openapi_types.UUID `binding:"required" json:"uuid" yaml:"uuid"`

	// Version Policy version
	Version string `binding:"required" json:"version" yaml:"version"`
}

CustomPolicyResponse A custom policy stored in the platform's custom policy registry.

type DeleteSubscriptionParams

type DeleteSubscriptionParams struct {
	// SubscriberId Subscriber ID; must match the subscription's subscriberId.
	SubscriberId string `form:"subscriberId" json:"subscriberId" yaml:"subscriberId"`
}

DeleteSubscriptionParams defines parameters for DeleteSubscription.

type DeployAPIJSONRequestBody

type DeployAPIJSONRequestBody = DeployRequest

DeployAPIJSONRequestBody defines body for DeployAPI for application/json ContentType.

type DeployLLMProviderJSONRequestBody

type DeployLLMProviderJSONRequestBody = DeployRequest

DeployLLMProviderJSONRequestBody defines body for DeployLLMProvider for application/json ContentType.

type DeployLLMProxyJSONRequestBody

type DeployLLMProxyJSONRequestBody = DeployRequest

DeployLLMProxyJSONRequestBody defines body for DeployLLMProxy for application/json ContentType.

type DeployMCPProxyJSONRequestBody

type DeployMCPProxyJSONRequestBody = DeployRequest

DeployMCPProxyJSONRequestBody defines body for DeployMCPProxy for application/json ContentType.

type DeployRequest

type DeployRequest struct {
	// Base The source for the API definition. Can be "current" (latest working copy) or a deploymentId (existing deployment)
	Base string `binding:"required" json:"base" yaml:"base"`

	// GatewayId Handle (URL-friendly slug) of the target gateway for this deployment
	GatewayId string `binding:"required" json:"gatewayId" yaml:"gatewayId"`

	// Metadata Optional metadata for the deployment. Supported keys include `endpointUrl`, `vhostMain`, and `vhostSandbox`.
	Metadata *map[string]interface{} `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	// Name Name/label for this deployment (e.g., "v1.0-prod", "hotfix-2024-01-15")
	Name string `binding:"required" json:"name" yaml:"name"`
}

DeployRequest defines model for DeployRequest.

type DeploymentId

type DeploymentId = openapi_types.UUID

DeploymentId defines model for deploymentId.

type DeploymentListResponse

type DeploymentListResponse struct {
	// Count Number of deployments in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of deployments
	List       []DeploymentResponse `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination           `json:"pagination" yaml:"pagination"`
}

DeploymentListResponse defines model for DeploymentListResponse.

type DeploymentResponse

type DeploymentResponse struct {
	// BaseDeploymentId UUID of the base deployment this was created from
	BaseDeploymentId *openapi_types.UUID `json:"baseDeploymentId" yaml:"baseDeploymentId"`

	// CreatedAt Timestamp when the deployment artifact was created
	CreatedAt time.Time `binding:"required" json:"createdAt" yaml:"createdAt"`

	// DeploymentId Unique identifier for the deployment
	DeploymentId openapi_types.UUID `binding:"required" json:"deploymentId" yaml:"deploymentId"`

	// GatewayId Handle (URL-friendly slug) of the gateway
	GatewayId string `binding:"required" json:"gatewayId" yaml:"gatewayId"`

	// Metadata Metadata associated with the deployment
	Metadata *map[string]interface{} `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	// Name Name/label for this deployment
	Name string `binding:"required" json:"name" yaml:"name"`

	// Status Current deployment lifecycle state:
	// - DEPLOYED: Currently active on the gateway
	// - UNDEPLOYED: Suspended but can be rolled back
	// - DEPLOYING: Deployment in progress, waiting for gateway acknowledgement
	// - UNDEPLOYING: Undeployment in progress, waiting for gateway acknowledgement
	// - FAILED: Deployment or undeployment failed (see statusReason for error code)
	// - ARCHIVED: Historical deployment, can be rolled back
	Status DeploymentResponseStatus `binding:"required" json:"status" yaml:"status"`

	// StatusReason Error code explaining the failure reason. Null unless status is FAILED (e.g. DEPLOYMENT_TIMEOUT, GATEWAY_PROCESSING_ERROR)
	StatusReason *string `json:"statusReason" yaml:"statusReason"`

	// UpdatedAt Timestamp when the deployment status last changed (null for ARCHIVED deployments)
	UpdatedAt *time.Time `json:"updatedAt" yaml:"updatedAt"`
}

DeploymentResponse defines model for DeploymentResponse.

type DeploymentResponseStatus

type DeploymentResponseStatus string

DeploymentResponseStatus Current deployment lifecycle state: - DEPLOYED: Currently active on the gateway - UNDEPLOYED: Suspended but can be rolled back - DEPLOYING: Deployment in progress, waiting for gateway acknowledgement - UNDEPLOYING: Undeployment in progress, waiting for gateway acknowledgement - FAILED: Deployment or undeployment failed (see statusReason for error code) - ARCHIVED: Historical deployment, can be rolled back

const (
	DeploymentResponseStatusARCHIVED    DeploymentResponseStatus = "ARCHIVED"
	DeploymentResponseStatusDEPLOYED    DeploymentResponseStatus = "DEPLOYED"
	DeploymentResponseStatusDEPLOYING   DeploymentResponseStatus = "DEPLOYING"
	DeploymentResponseStatusFAILED      DeploymentResponseStatus = "FAILED"
	DeploymentResponseStatusUNDEPLOYED  DeploymentResponseStatus = "UNDEPLOYED"
	DeploymentResponseStatusUNDEPLOYING DeploymentResponseStatus = "UNDEPLOYING"
)

Defines values for DeploymentResponseStatus.

type DeploymentStatusQ

type DeploymentStatusQ string

DeploymentStatusQ defines model for deploymentStatus-Q.

const (
	DeploymentStatusQARCHIVED    DeploymentStatusQ = "ARCHIVED"
	DeploymentStatusQDEPLOYED    DeploymentStatusQ = "DEPLOYED"
	DeploymentStatusQDEPLOYING   DeploymentStatusQ = "DEPLOYING"
	DeploymentStatusQFAILED      DeploymentStatusQ = "FAILED"
	DeploymentStatusQUNDEPLOYED  DeploymentStatusQ = "UNDEPLOYED"
	DeploymentStatusQUNDEPLOYING DeploymentStatusQ = "UNDEPLOYING"
)

Defines values for DeploymentStatusQ.

type EntityIDQ

type EntityIDQ = string

EntityIDQ defines model for entityID-Q.

type Error

type Error struct {
	// Code Stable, machine-readable error code from the error catalog, in the form `<DOMAIN>_<REASON>` (e.g. `REST_API_NOT_FOUND`). Clients and agents should branch on this, not on the HTTP status.
	Code string `binding:"required" json:"code" yaml:"code"`

	// Details Optional structured metadata specific to this error condition (e.g. the resources referencing a secret that blocked its deletion). Shape varies by `code`; absent when not applicable.
	Details *map[string]interface{} `json:"details,omitempty" yaml:"details,omitempty"`

	// Errors Per-field validation failures. Present when the error is a validation failure.
	Errors *[]FieldError `json:"errors,omitempty" yaml:"errors,omitempty"`

	// Message Human-readable description of the error.
	Message string `binding:"required" json:"message" yaml:"message"`

	// Status Always the literal "error".
	Status ErrorStatus `binding:"required" json:"status" yaml:"status"`

	// TrackingId Correlation ID for server-side failures. Present only on 5xx responses; quote it when reporting the error so operators can find the corresponding server log entry.
	TrackingId *openapi_types.UUID `json:"trackingId,omitempty" yaml:"trackingId,omitempty"`
}

Error The single error shape returned by every failed request across the API.

type ErrorStatus

type ErrorStatus string

ErrorStatus Always the literal "error".

const (
	ErrorStatusError ErrorStatus = "error"
)

Defines values for ErrorStatus.

type ExpirationDuration

type ExpirationDuration struct {
	// Duration Duration value (must be positive)
	Duration int `binding:"required" json:"duration" yaml:"duration"`

	// Unit Time unit for API key expiration duration
	Unit TimeUnit `json:"unit" yaml:"unit"`
}

ExpirationDuration defines model for ExpirationDuration.

type ExtractionIdentifier

type ExtractionIdentifier struct {
	// Identifier JSONPath expression or header name to identify the token value
	Identifier string `binding:"required" json:"identifier" yaml:"identifier"`

	// Location Where to find the token information
	Location ExtractionIdentifierLocation `binding:"required" json:"location" yaml:"location"`
}

ExtractionIdentifier defines model for ExtractionIdentifier.

type ExtractionIdentifierLocation

type ExtractionIdentifierLocation string

ExtractionIdentifierLocation Where to find the token information

const (
	ExtractionIdentifierLocationHeader     ExtractionIdentifierLocation = "header"
	ExtractionIdentifierLocationPathParam  ExtractionIdentifierLocation = "pathParam"
	ExtractionIdentifierLocationPayload    ExtractionIdentifierLocation = "payload"
	ExtractionIdentifierLocationQueryParam ExtractionIdentifierLocation = "queryParam"
)

Defines values for ExtractionIdentifierLocation.

type FetchMCPProxyServerInfoJSONRequestBody

type FetchMCPProxyServerInfoJSONRequestBody = MCPServerInfoFetchRequest

FetchMCPProxyServerInfoJSONRequestBody defines body for FetchMCPProxyServerInfo for application/json ContentType.

type FieldError

type FieldError struct {
	// Field Path of the offending field.
	Field string `binding:"required" json:"field" yaml:"field"`

	// Message Why the field failed validation.
	Message string `binding:"required" json:"message" yaml:"message"`
}

FieldError defines model for FieldError.

type Forbidden

type Forbidden = Error

Forbidden The single error shape returned by every failed request across the API.

type GatewayConnectionUnavailable

type GatewayConnectionUnavailable = Error

GatewayConnectionUnavailable The single error shape returned by every failed request across the API.

type GatewayId

type GatewayId = string

GatewayId defines model for gatewayId.

type GatewayIdQ

type GatewayIdQ = string

GatewayIdQ defines model for gatewayId-Q.

type GatewayListResponse

type GatewayListResponse struct {
	// Count Number of items in current response
	Count      int               `binding:"required" json:"count" yaml:"count"`
	List       []GatewayResponse `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination        `json:"pagination" yaml:"pagination"`
}

GatewayListResponse defines model for GatewayListResponse.

type GatewayPolicyDefinition

type GatewayPolicyDefinition struct {
	// Description Human-readable description of the policy
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// IsCustomPolicy Whether this is a user-installed custom policy.
	IsCustomPolicy bool `binding:"required" json:"isCustomPolicy" yaml:"isCustomPolicy"`

	// Name Unique policy name
	Name string `binding:"required" json:"name" yaml:"name"`

	// PolicyDefinition The full policy schema as declared in the policy's policy-definition.yaml.
	// Contains `parameters` and `systemParameters` JSON Schema documents.
	// Only present for custom policies.
	PolicyDefinition *map[string]interface{} `json:"policyDefinition,omitempty" yaml:"policyDefinition,omitempty"`

	// Version Semantic version of the policy
	Version string `binding:"required" json:"version" yaml:"version"`
}

GatewayPolicyDefinition A policy installed on a gateway controller.

type GatewayResponse

type GatewayResponse struct {
	// CreatedAt Timestamp when gateway was registered
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Description Description of the gateway
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable gateway name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Endpoints Network endpoints exposed by this gateway, each as a full URL string
	Endpoints *[]string `json:"endpoints,omitempty" yaml:"endpoints,omitempty"`

	// FunctionalityType Type of gateway functionality
	FunctionalityType *GatewayResponseFunctionalityType `json:"functionalityType,omitempty" yaml:"functionalityType,omitempty"`

	// Id Handle (URL-friendly slug) for the gateway
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// IsActive Indicates if the gateway is currently connected to the platform via WebSocket
	IsActive *bool `json:"isActive,omitempty" yaml:"isActive,omitempty"`

	// IsCritical Whether the gateway is critical for production
	IsCritical *bool `json:"isCritical,omitempty" yaml:"isCritical,omitempty"`

	// OrganizationId Handle (URL-friendly slug) of the organization this gateway belongs to
	OrganizationId *string `json:"organizationId,omitempty" yaml:"organizationId,omitempty"`

	// Properties Custom key-value properties for the gateway
	Properties *map[string]interface{} `json:"properties,omitempty" yaml:"properties,omitempty"`

	// UpdatedAt Timestamp when gateway was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /gateways/{gatewayId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Version Gateway version in `major.minor` format (e.g. `1.0`) or CalVer `YYYY.MM.DD` format (e.g. `2026.05.13`)
	Version *string `json:"version,omitempty" yaml:"version,omitempty"`
}

GatewayResponse defines model for GatewayResponse.

type GatewayResponseFunctionalityType

type GatewayResponseFunctionalityType string

GatewayResponseFunctionalityType Type of gateway functionality

const (
	GatewayResponseFunctionalityTypeAi      GatewayResponseFunctionalityType = "ai"
	GatewayResponseFunctionalityTypeEvent   GatewayResponseFunctionalityType = "event"
	GatewayResponseFunctionalityTypeRegular GatewayResponseFunctionalityType = "regular"
)

Defines values for GatewayResponseFunctionalityType.

type GatewayStatusListResponse

type GatewayStatusListResponse struct {
	// Count Number of items in current response
	Count      int                     `binding:"required" json:"count" yaml:"count"`
	List       []GatewayStatusResponse `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination              `json:"pagination" yaml:"pagination"`
}

GatewayStatusListResponse List of gateway status information for polling

type GatewayStatusResponse

type GatewayStatusResponse struct {
	// Id Handle (URL-friendly slug) for the gateway
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// IsActive Indicates if the gateway is currently connected to the platform via WebSocket
	IsActive *bool `json:"isActive,omitempty" yaml:"isActive,omitempty"`

	// IsCritical Whether the gateway is critical for production
	IsCritical *bool `json:"isCritical,omitempty" yaml:"isCritical,omitempty"`
}

GatewayStatusResponse Lightweight gateway status information optimized for frequent polling

type GatewayTokenListResponse

type GatewayTokenListResponse struct {
	// Count Number of tokens in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of active tokens
	List       []TokenInfoResponse `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination          `json:"pagination" yaml:"pagination"`
}

GatewayTokenListResponse defines model for GatewayTokenListResponse.

type GetDeploymentsParams

type GetDeploymentsParams struct {
	// GatewayId **Gateway ID** consisting of the **UUID** of the Gateway to filter status by.
	GatewayId *GatewayIdQ `form:"gatewayId,omitempty" json:"gatewayId,omitempty" yaml:"gatewayId,omitempty"`

	// Status Filter deployments by status (DEPLOYED, UNDEPLOYED, DEPLOYING, UNDEPLOYING, FAILED, or ARCHIVED)
	Status *GetDeploymentsParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

GetDeploymentsParams defines parameters for GetDeployments.

type GetDeploymentsParamsStatus

type GetDeploymentsParamsStatus string

GetDeploymentsParamsStatus defines parameters for GetDeployments.

const (
	GetDeploymentsParamsStatusARCHIVED    GetDeploymentsParamsStatus = "ARCHIVED"
	GetDeploymentsParamsStatusDEPLOYED    GetDeploymentsParamsStatus = "DEPLOYED"
	GetDeploymentsParamsStatusDEPLOYING   GetDeploymentsParamsStatus = "DEPLOYING"
	GetDeploymentsParamsStatusFAILED      GetDeploymentsParamsStatus = "FAILED"
	GetDeploymentsParamsStatusUNDEPLOYED  GetDeploymentsParamsStatus = "UNDEPLOYED"
	GetDeploymentsParamsStatusUNDEPLOYING GetDeploymentsParamsStatus = "UNDEPLOYING"
)

Defines values for GetDeploymentsParamsStatus.

type GetLLMProviderDeploymentsParams

type GetLLMProviderDeploymentsParams struct {
	// GatewayId **Gateway ID** consisting of the **UUID** of the Gateway to filter status by.
	GatewayId *GatewayIdQ `form:"gatewayId,omitempty" json:"gatewayId,omitempty" yaml:"gatewayId,omitempty"`

	// Status Filter deployments by status (DEPLOYED, UNDEPLOYED, DEPLOYING, UNDEPLOYING, FAILED, or ARCHIVED)
	Status *GetLLMProviderDeploymentsParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

GetLLMProviderDeploymentsParams defines parameters for GetLLMProviderDeployments.

type GetLLMProviderDeploymentsParamsStatus

type GetLLMProviderDeploymentsParamsStatus string

GetLLMProviderDeploymentsParamsStatus defines parameters for GetLLMProviderDeployments.

const (
	GetLLMProviderDeploymentsParamsStatusARCHIVED    GetLLMProviderDeploymentsParamsStatus = "ARCHIVED"
	GetLLMProviderDeploymentsParamsStatusDEPLOYED    GetLLMProviderDeploymentsParamsStatus = "DEPLOYED"
	GetLLMProviderDeploymentsParamsStatusDEPLOYING   GetLLMProviderDeploymentsParamsStatus = "DEPLOYING"
	GetLLMProviderDeploymentsParamsStatusFAILED      GetLLMProviderDeploymentsParamsStatus = "FAILED"
	GetLLMProviderDeploymentsParamsStatusUNDEPLOYED  GetLLMProviderDeploymentsParamsStatus = "UNDEPLOYED"
	GetLLMProviderDeploymentsParamsStatusUNDEPLOYING GetLLMProviderDeploymentsParamsStatus = "UNDEPLOYING"
)

Defines values for GetLLMProviderDeploymentsParamsStatus.

type GetLLMProxyDeploymentsParams

type GetLLMProxyDeploymentsParams struct {
	// GatewayId **Gateway ID** consisting of the **UUID** of the Gateway to filter status by.
	GatewayId *GatewayIdQ `form:"gatewayId,omitempty" json:"gatewayId,omitempty" yaml:"gatewayId,omitempty"`

	// Status Filter deployments by status (DEPLOYED, UNDEPLOYED, DEPLOYING, UNDEPLOYING, FAILED, or ARCHIVED)
	Status *GetLLMProxyDeploymentsParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

GetLLMProxyDeploymentsParams defines parameters for GetLLMProxyDeployments.

type GetLLMProxyDeploymentsParamsStatus

type GetLLMProxyDeploymentsParamsStatus string

GetLLMProxyDeploymentsParamsStatus defines parameters for GetLLMProxyDeployments.

const (
	GetLLMProxyDeploymentsParamsStatusARCHIVED    GetLLMProxyDeploymentsParamsStatus = "ARCHIVED"
	GetLLMProxyDeploymentsParamsStatusDEPLOYED    GetLLMProxyDeploymentsParamsStatus = "DEPLOYED"
	GetLLMProxyDeploymentsParamsStatusDEPLOYING   GetLLMProxyDeploymentsParamsStatus = "DEPLOYING"
	GetLLMProxyDeploymentsParamsStatusFAILED      GetLLMProxyDeploymentsParamsStatus = "FAILED"
	GetLLMProxyDeploymentsParamsStatusUNDEPLOYED  GetLLMProxyDeploymentsParamsStatus = "UNDEPLOYED"
	GetLLMProxyDeploymentsParamsStatusUNDEPLOYING GetLLMProxyDeploymentsParamsStatus = "UNDEPLOYING"
)

Defines values for GetLLMProxyDeploymentsParamsStatus.

type GetMCPProxyDeploymentsParams

type GetMCPProxyDeploymentsParams struct {
	// GatewayId **Gateway ID** consisting of the **UUID** of the Gateway to filter status by.
	GatewayId *GatewayIdQ `form:"gatewayId,omitempty" json:"gatewayId,omitempty" yaml:"gatewayId,omitempty"`

	// Status Filter deployments by status (DEPLOYED, UNDEPLOYED, DEPLOYING, UNDEPLOYING, FAILED, or ARCHIVED)
	Status *GetMCPProxyDeploymentsParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

GetMCPProxyDeploymentsParams defines parameters for GetMCPProxyDeployments.

type GetMCPProxyDeploymentsParamsStatus

type GetMCPProxyDeploymentsParamsStatus string

GetMCPProxyDeploymentsParamsStatus defines parameters for GetMCPProxyDeployments.

const (
	GetMCPProxyDeploymentsParamsStatusARCHIVED    GetMCPProxyDeploymentsParamsStatus = "ARCHIVED"
	GetMCPProxyDeploymentsParamsStatusDEPLOYED    GetMCPProxyDeploymentsParamsStatus = "DEPLOYED"
	GetMCPProxyDeploymentsParamsStatusDEPLOYING   GetMCPProxyDeploymentsParamsStatus = "DEPLOYING"
	GetMCPProxyDeploymentsParamsStatusFAILED      GetMCPProxyDeploymentsParamsStatus = "FAILED"
	GetMCPProxyDeploymentsParamsStatusUNDEPLOYED  GetMCPProxyDeploymentsParamsStatus = "UNDEPLOYED"
	GetMCPProxyDeploymentsParamsStatusUNDEPLOYING GetMCPProxyDeploymentsParamsStatus = "UNDEPLOYING"
)

Defines values for GetMCPProxyDeploymentsParamsStatus.

type GetRESTAPIGatewaysParams

type GetRESTAPIGatewaysParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

GetRESTAPIGatewaysParams defines parameters for GetRESTAPIGateways.

type InternalServerError

type InternalServerError = Error

InternalServerError The single error shape returned by every failed request across the API.

type LLMAccessControl

type LLMAccessControl struct {
	// Exceptions Path exceptions to the access control mode
	Exceptions *[]RouteException `json:"exceptions,omitempty" yaml:"exceptions,omitempty"`

	// Mode Access control mode
	Mode LLMAccessControlMode `binding:"required" json:"mode" yaml:"mode"`
}

LLMAccessControl defines model for LLMAccessControl.

type LLMAccessControlMode

type LLMAccessControlMode string

LLMAccessControlMode Access control mode

const (
	AllowAll LLMAccessControlMode = "allow_all"
	DenyAll  LLMAccessControlMode = "deny_all"
)

Defines values for LLMAccessControlMode.

type LLMModel

type LLMModel struct {
	// Description Model description
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable model name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Unique model identifier
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`
}

LLMModel defines model for LLMModel.

type LLMModelProvider

type LLMModelProvider struct {
	// DisplayName Human-readable model provider name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Unique model provider identifier
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Models Models under this model provider
	Models *[]LLMModel `json:"models,omitempty" yaml:"models,omitempty"`
}

LLMModelProvider defines model for LLMModelProvider.

type LLMPolicy

type LLMPolicy struct {
	Name  string          `binding:"required" json:"name" yaml:"name"`
	Paths []LLMPolicyPath `binding:"required" json:"paths" yaml:"paths"`

	// Version Version of the policy. Only major-only version is allowed (e.g., v0, v1). Full semantic version (e.g., v1.0.0) is not accepted and will be rejected.
	Version string `binding:"required" json:"version" yaml:"version"`
}

LLMPolicy defines model for LLMPolicy.

type LLMPolicyPath

type LLMPolicyPath struct {
	Methods []LLMPolicyPathMethods `binding:"required" json:"methods" yaml:"methods"`

	// Params JSON Schema describing the parameters accepted by this policy. This itself is a JSON Schema document.
	Params map[string]interface{} `binding:"required" json:"params" yaml:"params"`
	Path   string                 `binding:"required" json:"path" yaml:"path"`
}

LLMPolicyPath defines model for LLMPolicyPath.

type LLMPolicyPathMethods

type LLMPolicyPathMethods string

LLMPolicyPathMethods defines model for LLMPolicyPath.Methods.

const (
	LLMPolicyPathMethodsAsterisk LLMPolicyPathMethods = "*"
	LLMPolicyPathMethodsDELETE   LLMPolicyPathMethods = "DELETE"
	LLMPolicyPathMethodsGET      LLMPolicyPathMethods = "GET"
	LLMPolicyPathMethodsHEAD     LLMPolicyPathMethods = "HEAD"
	LLMPolicyPathMethodsOPTIONS  LLMPolicyPathMethods = "OPTIONS"
	LLMPolicyPathMethodsPATCH    LLMPolicyPathMethods = "PATCH"
	LLMPolicyPathMethodsPOST     LLMPolicyPathMethods = "POST"
	LLMPolicyPathMethodsPUT      LLMPolicyPathMethods = "PUT"
)

Defines values for LLMPolicyPathMethods.

type LLMProvider

type LLMProvider struct {
	AccessControl LLMAccessControl `json:"accessControl" yaml:"accessControl"`

	// AssociatedGateways Optional list of gateways this LLM provider can be deployed to, along with per-gateway configuration overrides. This field is optional; omitting it does not change existing behaviour.
	AssociatedGateways *[]AssociatedGateway `json:"associatedGateways,omitempty" yaml:"associatedGateways,omitempty"`

	// Context Base path for all REST API routes (must start with /, no trailing slash)
	Context *string `json:"context,omitempty" yaml:"context,omitempty"`

	// CreatedAt Timestamp when the resource was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Description Description of the LLM provider
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable LLM Provider name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// GlobalPolicies Global (api-level) policies applied across ALL operations as one shared scope, evaluated before operation-level policies.
	GlobalPolicies *[]Policy `json:"globalPolicies,omitempty" yaml:"globalPolicies,omitempty"`

	// Id Unique handle for the provider
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// ModelProviders List of model providers and their models supported by this provider. For non-aggregator templates, only a single model provider is allowed (aggregator templates: awsbedrock, azureaifoundry).
	ModelProviders *[]LLMModelProvider `json:"modelProviders,omitempty" yaml:"modelProviders,omitempty"`

	// Openapi OpenAPI specification (JSON or YAML) for the provider endpoint
	Openapi *string `json:"openapi,omitempty" yaml:"openapi,omitempty"`

	// OperationPolicies Operation-level policies scoped to specific paths/methods, evaluated after global policies.
	OperationPolicies *[]OperationPolicy `json:"operationPolicies,omitempty" yaml:"operationPolicies,omitempty"`

	// Policies DEPRECATED - use operationPolicies. Still honoured (treated identically to operationPolicies).
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	Policies *[]LLMPolicy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// RateLimiting Rate limiting configuration for an LLM provider at provider and consumer levels.
	RateLimiting *LLMRateLimitingConfig `json:"rateLimiting,omitempty" yaml:"rateLimiting,omitempty"`

	// ReadOnly True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
	ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`

	// Security Defines security mechanisms (API key, OAuth2) applicable to the API
	Security *SecurityConfig `json:"security,omitempty" yaml:"security,omitempty"`

	// Template Template name to use for this LLM Provider
	Template string `binding:"required" json:"template" yaml:"template"`

	// UpdatedAt Timestamp when the resource was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /llm-providers/{id}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Upstream Upstream backend configuration with main and sandbox endpoints
	Upstream Upstream `json:"upstream" yaml:"upstream"`

	// Version Semantic version of the LLM Provider
	Version string `binding:"required" json:"version" yaml:"version"`

	// Vhost Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
	Vhost *string `json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

LLMProvider defines model for LLMProvider.

type LLMProviderAPIKeyListResponse

type LLMProviderAPIKeyListResponse struct {
	// Count Number of API keys in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of API keys
	List       []APIKeyItem `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination   `json:"pagination" yaml:"pagination"`
}

LLMProviderAPIKeyListResponse defines model for LLMProviderAPIKeyListResponse.

type LLMProviderListItem

type LLMProviderListItem struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the LLM provider
	DisplayName string  `binding:"required" json:"displayName" yaml:"displayName"`
	Id          *string `json:"id,omitempty" yaml:"id,omitempty"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly  *bool                      `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	Status    *LLMProviderListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	Template  *string                    `json:"template,omitempty" yaml:"template,omitempty"`
	UpdatedAt *time.Time                 `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version   *string                    `json:"version,omitempty" yaml:"version,omitempty"`
}

LLMProviderListItem defines model for LLMProviderListItem.

type LLMProviderListItemStatus

type LLMProviderListItemStatus string

LLMProviderListItemStatus defines model for LLMProviderListItem.Status.

const (
	LLMProviderListItemStatusDeployed LLMProviderListItemStatus = "deployed"
	LLMProviderListItemStatusFailed   LLMProviderListItemStatus = "failed"
	LLMProviderListItemStatusPending  LLMProviderListItemStatus = "pending"
)

Defines values for LLMProviderListItemStatus.

type LLMProviderListResponse

type LLMProviderListResponse struct {
	Count      int                   `binding:"required" json:"count" yaml:"count"`
	List       []LLMProviderListItem `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination            `json:"pagination" yaml:"pagination"`
}

LLMProviderListResponse defines model for LLMProviderListResponse.

type LLMProviderTemplate

type LLMProviderTemplate struct {
	CompletionTokens *ExtractionIdentifier `json:"completionTokens,omitempty" yaml:"completionTokens,omitempty"`

	// CreatedAt Timestamp when the resource was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Description Description of the LLM provider template
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable LLM Template name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Enabled Whether this version is offered when creating providers. If false, the
	// template version is hidden from the provider creation UI and API.
	Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`

	// GroupId Stable identifier shared by every version of a template family.
	GroupId *string `json:"groupId,omitempty" yaml:"groupId,omitempty"`

	// Id Unique handle for the template
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// IsLatest Whether this is the latest version of the template.
	IsLatest *bool `json:"isLatest,omitempty" yaml:"isLatest,omitempty"`

	// ManagedBy Identifies who manages the template. Built-in templates use 'wso2';
	// custom templates default to 'organization' and may be set to any value.
	ManagedBy *string                      `json:"managedBy,omitempty" yaml:"managedBy,omitempty"`
	Metadata  *LLMProviderTemplateMetadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`

	// Openapi OpenAPI specification content (JSON or YAML) for the provider, when
	// uploaded/pasted. Use metadata.openapiSpecUrl instead to reference the
	// spec by URL.
	Openapi      *string               `json:"openapi,omitempty" yaml:"openapi,omitempty"`
	PromptTokens *ExtractionIdentifier `json:"promptTokens,omitempty" yaml:"promptTokens,omitempty"`

	// ReadOnly True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
	ReadOnly         *bool                                `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	RemainingTokens  *ExtractionIdentifier                `json:"remainingTokens,omitempty" yaml:"remainingTokens,omitempty"`
	RequestModel     *ExtractionIdentifier                `json:"requestModel,omitempty" yaml:"requestModel,omitempty"`
	ResourceMappings *LLMProviderTemplateResourceMappings `json:"resourceMappings,omitempty" yaml:"resourceMappings,omitempty"`
	ResponseModel    *ExtractionIdentifier                `json:"responseModel,omitempty" yaml:"responseModel,omitempty"`
	TotalTokens      *ExtractionIdentifier                `json:"totalTokens,omitempty" yaml:"totalTokens,omitempty"`

	// UpdatedAt Timestamp when the resource was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Version Content version, matching the v<major>.<minor> pattern (e.g. v1.0, v2.0).
	// Must be unique for this template.
	Version string `binding:"required" json:"version" yaml:"version"`
}

LLMProviderTemplate defines model for LLMProviderTemplate.

type LLMProviderTemplateAuth

type LLMProviderTemplateAuth struct {
	// Header Header name to send the auth value
	Header *string `json:"header,omitempty" yaml:"header,omitempty"`

	// Type Authentication type used by the LLM provider template
	Type *string `json:"type,omitempty" yaml:"type,omitempty"`

	// ValuePrefix Prefix to attach before the auth value
	ValuePrefix *string `json:"valuePrefix,omitempty" yaml:"valuePrefix,omitempty"`
}

LLMProviderTemplateAuth defines model for LLMProviderTemplateAuth.

type LLMProviderTemplateListItem

type LLMProviderTemplateListItem struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the LLM provider template
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Enabled Whether this version is offered when creating providers.
	Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`

	// GroupId Stable identifier shared by every version of a template family
	// (defaults to the first version's handle). Read-only.
	GroupId *string `json:"groupId,omitempty" yaml:"groupId,omitempty"`

	// Id Unique handle for this specific template version.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// IsLatest Whether this is the latest version of the template.
	IsLatest *bool `json:"isLatest,omitempty" yaml:"isLatest,omitempty"`

	// LogoUrl URL of the provider logo
	LogoUrl *string `json:"logoUrl,omitempty" yaml:"logoUrl,omitempty"`

	// ManagedBy Who manages the template ('wso2' for built-in, otherwise custom-defined).
	ManagedBy *string `json:"managedBy,omitempty" yaml:"managedBy,omitempty"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly  *bool      `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// Version Content version, matching the v<major>.<minor> pattern (e.g. v1.0, v2.0).
	Version *string `json:"version,omitempty" yaml:"version,omitempty"`
}

LLMProviderTemplateListItem defines model for LLMProviderTemplateListItem.

type LLMProviderTemplateListResponse

type LLMProviderTemplateListResponse struct {
	Count      int                           `binding:"required" json:"count" yaml:"count"`
	List       []LLMProviderTemplateListItem `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination                    `json:"pagination" yaml:"pagination"`
}

LLMProviderTemplateListResponse defines model for LLMProviderTemplateListResponse.

type LLMProviderTemplateMetadata

type LLMProviderTemplateMetadata struct {
	Auth *LLMProviderTemplateAuth `json:"auth,omitempty" yaml:"auth,omitempty"`

	// EndpointUrl Default endpoint URL for the template
	EndpointUrl *string `json:"endpointUrl,omitempty" yaml:"endpointUrl,omitempty"`

	// LogoUrl URL of the provider logo
	LogoUrl *string `json:"logoUrl,omitempty" yaml:"logoUrl,omitempty"`

	// OpenapiSpecUrl URL to the OpenAPI specification for the provider
	OpenapiSpecUrl *string `json:"openapiSpecUrl,omitempty" yaml:"openapiSpecUrl,omitempty"`
}

LLMProviderTemplateMetadata defines model for LLMProviderTemplateMetadata.

type LLMProviderTemplateResourceMapping

type LLMProviderTemplateResourceMapping struct {
	CompletionTokens *ExtractionIdentifier `json:"completionTokens,omitempty" yaml:"completionTokens,omitempty"`
	PromptTokens     *ExtractionIdentifier `json:"promptTokens,omitempty" yaml:"promptTokens,omitempty"`
	RemainingTokens  *ExtractionIdentifier `json:"remainingTokens,omitempty" yaml:"remainingTokens,omitempty"`
	RequestModel     *ExtractionIdentifier `json:"requestModel,omitempty" yaml:"requestModel,omitempty"`

	// Resource Resource path pattern this mapping applies to (for example /responses or /chat/*)
	Resource      string                `binding:"required" json:"resource" yaml:"resource"`
	ResponseModel *ExtractionIdentifier `json:"responseModel,omitempty" yaml:"responseModel,omitempty"`
	TotalTokens   *ExtractionIdentifier `json:"totalTokens,omitempty" yaml:"totalTokens,omitempty"`
}

LLMProviderTemplateResourceMapping defines model for LLMProviderTemplateResourceMapping.

type LLMProviderTemplateResourceMappings

type LLMProviderTemplateResourceMappings struct {
	Resources *[]LLMProviderTemplateResourceMapping `json:"resources,omitempty" yaml:"resources,omitempty"`
}

LLMProviderTemplateResourceMappings defines model for LLMProviderTemplateResourceMappings.

type LLMProxy

type LLMProxy struct {
	// AssociatedGateways Optional list of gateways this LLM proxy can be deployed to, along with per-gateway configuration overrides. This field is optional; omitting it does not change existing behaviour.
	AssociatedGateways *[]AssociatedGateway `json:"associatedGateways,omitempty" yaml:"associatedGateways,omitempty"`

	// Context Base path for all REST API routes (must start with /, no trailing slash)
	Context *string `json:"context,omitempty" yaml:"context,omitempty"`

	// CreatedAt Timestamp when the resource was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Description Description of the LLM proxy
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable LLM proxy name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// GlobalPolicies Global (api-level) policies applied across ALL operations as one shared scope, evaluated before operation-level policies.
	GlobalPolicies *[]Policy `json:"globalPolicies,omitempty" yaml:"globalPolicies,omitempty"`

	// Id Unique handle for the proxy
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Openapi OpenAPI specification (JSON or YAML) for the proxy endpoint
	Openapi *string `json:"openapi,omitempty" yaml:"openapi,omitempty"`

	// OperationPolicies Operation-level policies scoped to specific paths/methods, evaluated after global policies.
	OperationPolicies *[]OperationPolicy `json:"operationPolicies,omitempty" yaml:"operationPolicies,omitempty"`

	// Policies DEPRECATED - use operationPolicies. Still honoured (treated identically to operationPolicies).
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	Policies *[]LLMPolicy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// ProjectId UUID of the project this proxy belongs to
	ProjectId string           `binding:"required" json:"projectId" yaml:"projectId"`
	Provider  LLMProxyProvider `json:"provider" yaml:"provider"`

	// ReadOnly True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
	ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`

	// Security Defines security mechanisms (API key, OAuth2) applicable to the API
	Security *SecurityConfig `json:"security,omitempty" yaml:"security,omitempty"`

	// UpdatedAt Timestamp when the resource was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /llm-proxies/{id}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Version Semantic version of the LLM proxy
	Version string `binding:"required" json:"version" yaml:"version"`

	// Vhost Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
	Vhost *string `json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

LLMProxy defines model for LLMProxy.

type LLMProxyAPIKeyListResponse

type LLMProxyAPIKeyListResponse struct {
	// Count Number of API keys in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of API keys
	List       []APIKeyItem `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination   `json:"pagination" yaml:"pagination"`
}

LLMProxyAPIKeyListResponse defines model for LLMProxyAPIKeyListResponse.

type LLMProxyListItem

type LLMProxyListItem struct {
	// Context Context path where the proxy is exposed
	Context   *string    `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the LLM proxy
	DisplayName string  `binding:"required" json:"displayName" yaml:"displayName"`
	Id          *string `json:"id,omitempty" yaml:"id,omitempty"`

	// ProjectId UUID of the project this proxy belongs to
	ProjectId *string `json:"projectId,omitempty" yaml:"projectId,omitempty"`

	// Provider Unique id of a deployed llm provider
	Provider *string `json:"provider,omitempty" yaml:"provider,omitempty"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly  *bool                   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	Status    *LLMProxyListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time              `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version   *string                 `json:"version,omitempty" yaml:"version,omitempty"`
}

LLMProxyListItem defines model for LLMProxyListItem.

type LLMProxyListItemStatus

type LLMProxyListItemStatus string

LLMProxyListItemStatus defines model for LLMProxyListItem.Status.

const (
	LLMProxyListItemStatusDeployed LLMProxyListItemStatus = "deployed"
	LLMProxyListItemStatusFailed   LLMProxyListItemStatus = "failed"
	LLMProxyListItemStatusPending  LLMProxyListItemStatus = "pending"
)

Defines values for LLMProxyListItemStatus.

type LLMProxyListResponse

type LLMProxyListResponse struct {
	Count      int                `binding:"required" json:"count" yaml:"count"`
	List       []LLMProxyListItem `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination         `json:"pagination" yaml:"pagination"`
}

LLMProxyListResponse defines model for LLMProxyListResponse.

type LLMProxyProvider

type LLMProxyProvider struct {
	// Auth Authentication configuration for upstream endpoints
	Auth *UpstreamAuth `json:"auth,omitempty" yaml:"auth,omitempty"`

	// Id Unique id of a deployed llm provider
	Id string `binding:"required" json:"id" yaml:"id"`
}

LLMProxyProvider defines model for LLMProxyProvider.

type LLMRateLimitingConfig

type LLMRateLimitingConfig struct {
	// ConsumerLevel Rate limiting configuration for a scope (provider or consumer). Either global or resource-wise limits can be defined.
	ConsumerLevel *RateLimitingScopeConfig `json:"consumerLevel,omitempty" yaml:"consumerLevel,omitempty"`

	// ProviderLevel Rate limiting configuration for a scope (provider or consumer). Either global or resource-wise limits can be defined.
	ProviderLevel *RateLimitingScopeConfig `json:"providerLevel,omitempty" yaml:"providerLevel,omitempty"`
}

LLMRateLimitingConfig Rate limiting configuration for an LLM provider at provider and consumer levels.

type LimitQ

type LimitQ = int

LimitQ defines model for limit-Q.

type ListApplicationAPIKeysParams

type ListApplicationAPIKeysParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListApplicationAPIKeysParams defines parameters for ListApplicationAPIKeys.

type ListApplicationAssociationAPIKeysParams

type ListApplicationAssociationAPIKeysParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListApplicationAssociationAPIKeysParams defines parameters for ListApplicationAssociationAPIKeys.

type ListApplicationAssociationsParams

type ListApplicationAssociationsParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListApplicationAssociationsParams defines parameters for ListApplicationAssociations.

type ListApplicationsParams

type ListApplicationsParams struct {
	// ProjectId **Project ID** consisting of the **handle** (unique slug identifier) of the Project to filter APIs by.
	ProjectId ProjectIdQ `form:"projectId" json:"projectId" yaml:"projectId"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`

	// SortBy Field to sort the collection by. An unrecognized value falls back to the default sort (createdAt).
	SortBy *ListApplicationsParamsSortBy `form:"sortBy,omitempty" json:"sortBy,omitempty" yaml:"sortBy,omitempty"`

	// SortOrder Sort direction applied to `sortBy`.
	SortOrder *ListApplicationsParamsSortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty" yaml:"sortOrder,omitempty"`

	// Query Case-insensitive substring filter matched against the resource id (handle).
	Query *QueryQ `form:"query,omitempty" json:"query,omitempty" yaml:"query,omitempty"`
}

ListApplicationsParams defines parameters for ListApplications.

type ListApplicationsParamsSortBy

type ListApplicationsParamsSortBy string

ListApplicationsParamsSortBy defines parameters for ListApplications.

const (
	ListApplicationsParamsSortByCreatedAt ListApplicationsParamsSortBy = "createdAt"
	ListApplicationsParamsSortByName      ListApplicationsParamsSortBy = "name"
)

Defines values for ListApplicationsParamsSortBy.

type ListApplicationsParamsSortOrder

type ListApplicationsParamsSortOrder string

ListApplicationsParamsSortOrder defines parameters for ListApplications.

const (
	ListApplicationsParamsSortOrderAsc  ListApplicationsParamsSortOrder = "asc"
	ListApplicationsParamsSortOrderDesc ListApplicationsParamsSortOrder = "desc"
)

Defines values for ListApplicationsParamsSortOrder.

type ListGatewayCustomPoliciesParams

type ListGatewayCustomPoliciesParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListGatewayCustomPoliciesParams defines parameters for ListGatewayCustomPolicies.

type ListGatewayTokensParams

type ListGatewayTokensParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListGatewayTokensParams defines parameters for ListGatewayTokens.

type ListGatewaysParams

type ListGatewaysParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`

	// SortBy Field to sort the collection by. An unrecognized value falls back to the default sort (createdAt).
	SortBy *ListGatewaysParamsSortBy `form:"sortBy,omitempty" json:"sortBy,omitempty" yaml:"sortBy,omitempty"`

	// SortOrder Sort direction applied to `sortBy`.
	SortOrder *ListGatewaysParamsSortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty" yaml:"sortOrder,omitempty"`

	// Query Case-insensitive substring filter matched against the resource id (handle).
	Query *QueryQ `form:"query,omitempty" json:"query,omitempty" yaml:"query,omitempty"`
}

ListGatewaysParams defines parameters for ListGateways.

type ListGatewaysParamsSortBy

type ListGatewaysParamsSortBy string

ListGatewaysParamsSortBy defines parameters for ListGateways.

const (
	ListGatewaysParamsSortByCreatedAt ListGatewaysParamsSortBy = "createdAt"
	ListGatewaysParamsSortByName      ListGatewaysParamsSortBy = "name"
)

Defines values for ListGatewaysParamsSortBy.

type ListGatewaysParamsSortOrder

type ListGatewaysParamsSortOrder string

ListGatewaysParamsSortOrder defines parameters for ListGateways.

const (
	ListGatewaysParamsSortOrderAsc  ListGatewaysParamsSortOrder = "asc"
	ListGatewaysParamsSortOrderDesc ListGatewaysParamsSortOrder = "desc"
)

Defines values for ListGatewaysParamsSortOrder.

type ListLLMProviderAPIKeysParams

type ListLLMProviderAPIKeysParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListLLMProviderAPIKeysParams defines parameters for ListLLMProviderAPIKeys.

type ListLLMProviderTemplatesParams

type ListLLMProviderTemplatesParams struct {
	// Query URL-encoded search DSL. `query=latest:true` lists only the latest version of each family; `query=groupId:<id>` lists that family's versions; adding `&version:<ver>` returns the single full template for that version. Terms are `&`-separated `key:value` pairs and the whole value is percent-encoded (e.g. groupId%3Aopenai%26version%3Av2.0).
	Query *string `form:"query,omitempty" json:"query,omitempty" yaml:"query,omitempty"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListLLMProviderTemplatesParams defines parameters for ListLLMProviderTemplates.

type ListLLMProvidersParams

type ListLLMProvidersParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListLLMProvidersParams defines parameters for ListLLMProviders.

type ListLLMProxiesByProviderParams

type ListLLMProxiesByProviderParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListLLMProxiesByProviderParams defines parameters for ListLLMProxiesByProvider.

type ListLLMProxiesParams

type ListLLMProxiesParams struct {
	// ProjectId **Project ID** consisting of the **handle** (unique slug identifier) of the Project to filter APIs by.
	ProjectId ProjectIdQ `form:"projectId" json:"projectId" yaml:"projectId"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListLLMProxiesParams defines parameters for ListLLMProxies.

type ListLLMProxyAPIKeysParams

type ListLLMProxyAPIKeysParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListLLMProxyAPIKeysParams defines parameters for ListLLMProxyAPIKeys.

type ListMCPProxiesParams

type ListMCPProxiesParams struct {
	// ProjectId **Project ID** consisting of the **handle** (unique slug identifier) of the Project to filter APIs by.
	ProjectId ProjectIdQ `form:"projectId" json:"projectId" yaml:"projectId"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListMCPProxiesParams defines parameters for ListMCPProxies.

type ListOrganizationsParams

type ListOrganizationsParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListOrganizationsParams defines parameters for ListOrganizations.

type ListProjectsParams

type ListProjectsParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`

	// SortBy Field to sort the collection by. An unrecognized value falls back to the default sort (createdAt).
	SortBy *ListProjectsParamsSortBy `form:"sortBy,omitempty" json:"sortBy,omitempty" yaml:"sortBy,omitempty"`

	// SortOrder Sort direction applied to `sortBy`.
	SortOrder *ListProjectsParamsSortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty" yaml:"sortOrder,omitempty"`

	// Query Case-insensitive substring filter matched against the resource id (handle).
	Query *QueryQ `form:"query,omitempty" json:"query,omitempty" yaml:"query,omitempty"`
}

ListProjectsParams defines parameters for ListProjects.

type ListProjectsParamsSortBy

type ListProjectsParamsSortBy string

ListProjectsParamsSortBy defines parameters for ListProjects.

const (
	ListProjectsParamsSortByCreatedAt ListProjectsParamsSortBy = "createdAt"
	ListProjectsParamsSortByName      ListProjectsParamsSortBy = "name"
)

Defines values for ListProjectsParamsSortBy.

type ListProjectsParamsSortOrder

type ListProjectsParamsSortOrder string

ListProjectsParamsSortOrder defines parameters for ListProjects.

const (
	ListProjectsParamsSortOrderAsc  ListProjectsParamsSortOrder = "asc"
	ListProjectsParamsSortOrderDesc ListProjectsParamsSortOrder = "desc"
)

Defines values for ListProjectsParamsSortOrder.

type ListRESTAPIsParams

type ListRESTAPIsParams struct {
	// ProjectId **Project ID** consisting of the **handle** (unique slug identifier) of the Project to filter APIs by.
	ProjectId ProjectIdQ `form:"projectId" json:"projectId" yaml:"projectId"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`

	// SortBy Field to sort the collection by. An unrecognized value falls back to the default sort (createdAt).
	SortBy *ListRESTAPIsParamsSortBy `form:"sortBy,omitempty" json:"sortBy,omitempty" yaml:"sortBy,omitempty"`

	// SortOrder Sort direction applied to `sortBy`.
	SortOrder *ListRESTAPIsParamsSortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty" yaml:"sortOrder,omitempty"`

	// Query Case-insensitive substring filter matched against the resource id (handle).
	Query *QueryQ `form:"query,omitempty" json:"query,omitempty" yaml:"query,omitempty"`
}

ListRESTAPIsParams defines parameters for ListRESTAPIs.

type ListRESTAPIsParamsSortBy

type ListRESTAPIsParamsSortBy string

ListRESTAPIsParamsSortBy defines parameters for ListRESTAPIs.

const (
	CreatedAt ListRESTAPIsParamsSortBy = "createdAt"
	Name      ListRESTAPIsParamsSortBy = "name"
)

Defines values for ListRESTAPIsParamsSortBy.

type ListRESTAPIsParamsSortOrder

type ListRESTAPIsParamsSortOrder string

ListRESTAPIsParamsSortOrder defines parameters for ListRESTAPIs.

const (
	Asc  ListRESTAPIsParamsSortOrder = "asc"
	Desc ListRESTAPIsParamsSortOrder = "desc"
)

Defines values for ListRESTAPIsParamsSortOrder.

type ListSecretsParams

type ListSecretsParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`

	// UpdatedAfter RFC3339 timestamp — return only secrets updated after this time. Used by GW controller for incremental polling.
	UpdatedAfter *time.Time `form:"updatedAfter,omitempty" json:"updatedAfter,omitempty" yaml:"updatedAfter,omitempty"`
}

ListSecretsParams defines parameters for ListSecrets.

type ListSubscriptionPlansParams

type ListSubscriptionPlansParams struct {
	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListSubscriptionPlansParams defines parameters for ListSubscriptionPlans.

type ListSubscriptionsParams

type ListSubscriptionsParams struct {
	// ApiId Filter by API ID (UUID or handle)
	ApiId *string `form:"apiId,omitempty" json:"apiId,omitempty" yaml:"apiId,omitempty"`

	// SubscriberId Filter by subscriber ID
	SubscriberId *string `form:"subscriberId,omitempty" json:"subscriberId,omitempty" yaml:"subscriberId,omitempty"`

	// ApplicationId Filter by application ID
	ApplicationId *string `form:"applicationId,omitempty" json:"applicationId,omitempty" yaml:"applicationId,omitempty"`

	// Status Filter by status (ACTIVE, INACTIVE, REVOKED)
	Status *ListSubscriptionsParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListSubscriptionsParams defines parameters for ListSubscriptions.

type ListSubscriptionsParamsStatus

type ListSubscriptionsParamsStatus string

ListSubscriptionsParamsStatus defines parameters for ListSubscriptions.

const (
	ListSubscriptionsParamsStatusACTIVE   ListSubscriptionsParamsStatus = "ACTIVE"
	ListSubscriptionsParamsStatusINACTIVE ListSubscriptionsParamsStatus = "INACTIVE"
	ListSubscriptionsParamsStatusREVOKED  ListSubscriptionsParamsStatus = "REVOKED"
)

Defines values for ListSubscriptionsParamsStatus.

type ListUserAPIKeysParams

type ListUserAPIKeysParams struct {
	// Type Comma-separated list of artifact types to filter by.
	// If omitted, all types are returned.
	Type *[]ListUserAPIKeysParamsType `form:"type,omitempty" json:"type,omitempty" yaml:"type,omitempty"`

	// Limit Maximum number of items to return per page.
	Limit *LimitQ `form:"limit,omitempty" json:"limit,omitempty" yaml:"limit,omitempty"`

	// Offset Zero-based index of the first item to return.
	Offset *OffsetQ `form:"offset,omitempty" json:"offset,omitempty" yaml:"offset,omitempty"`
}

ListUserAPIKeysParams defines parameters for ListUserAPIKeys.

type ListUserAPIKeysParamsType

type ListUserAPIKeysParamsType string

ListUserAPIKeysParamsType defines parameters for ListUserAPIKeys.

const (
	LlmProvider ListUserAPIKeysParamsType = "LlmProvider"
	LlmProxy    ListUserAPIKeysParamsType = "LlmProxy"
	RestApi     ListUserAPIKeysParamsType = "RestApi"
)

Defines values for ListUserAPIKeysParamsType.

type MCPProxy

type MCPProxy struct {
	// AssociatedGateways Optional list of gateways this MCP proxy can be deployed to, along with per-gateway configuration overrides. This field is optional; omitting it does not change existing behaviour.
	AssociatedGateways *[]AssociatedGateway  `json:"associatedGateways,omitempty" yaml:"associatedGateways,omitempty"`
	Capabilities       *MCPProxyCapabilities `json:"capabilities,omitempty" yaml:"capabilities,omitempty"`

	// Context Base path for all REST API routes (must start with /, no trailing slash)
	Context *string `json:"context,omitempty" yaml:"context,omitempty"`

	// CreatedAt Timestamp when the resource was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Description Description of the MCP proxy
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable MCP proxy name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Unique handle for the proxy
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Kind of the API based on its communication protocol or architectural style
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty"`

	// McpSpecVersion MCP specification version supported by this proxy
	McpSpecVersion *MCPProxyMcpSpecVersion `json:"mcpSpecVersion,omitempty" yaml:"mcpSpecVersion,omitempty"`

	// Policies List of policies to be applied
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// ProjectId UUID of the project this proxy belongs to
	ProjectId *string `json:"projectId,omitempty" yaml:"projectId,omitempty"`

	// ReadOnly True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
	ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`

	// UpdatedAt Timestamp when the resource was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /mcp-proxies/{id}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Upstream Upstream backend configuration with main and sandbox endpoints
	Upstream Upstream `json:"upstream" yaml:"upstream"`

	// Version Semantic version of the MCP proxy
	Version string `binding:"required" json:"version" yaml:"version"`

	// Vhost Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
	Vhost *string `json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

MCPProxy defines model for MCPProxy.

type MCPProxyCapabilities

type MCPProxyCapabilities struct {
	// Prompts List of prompt capabilities supported by this proxy
	Prompts *[]map[string]interface{} `json:"prompts,omitempty" yaml:"prompts,omitempty"`

	// Resources List of resource capabilities supported by this proxy
	Resources *[]map[string]interface{} `json:"resources,omitempty" yaml:"resources,omitempty"`

	// Tools List of tool capabilities supported by this proxy
	Tools *[]map[string]interface{} `json:"tools,omitempty" yaml:"tools,omitempty"`
}

MCPProxyCapabilities defines model for MCPProxyCapabilities.

type MCPProxyListItem

type MCPProxyListItem struct {
	// Context Context path where the proxy is exposed
	Context   *string    `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the MCP proxy
	DisplayName    string  `binding:"required" json:"displayName" yaml:"displayName"`
	Id             *string `json:"id,omitempty" yaml:"id,omitempty"`
	McpSpecVersion *string `json:"mcpSpecVersion,omitempty" yaml:"mcpSpecVersion,omitempty"`

	// ProjectId UUID of the project this proxy belongs to
	ProjectId *string `json:"projectId,omitempty" yaml:"projectId,omitempty"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly  *bool                   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	Status    *MCPProxyListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time              `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version   *string                 `json:"version,omitempty" yaml:"version,omitempty"`
}

MCPProxyListItem defines model for MCPProxyListItem.

type MCPProxyListItemStatus

type MCPProxyListItemStatus string

MCPProxyListItemStatus defines model for MCPProxyListItem.Status.

const (
	Deployed MCPProxyListItemStatus = "deployed"
	Failed   MCPProxyListItemStatus = "failed"
	Pending  MCPProxyListItemStatus = "pending"
)

Defines values for MCPProxyListItemStatus.

type MCPProxyListResponse

type MCPProxyListResponse struct {
	Count      int                `binding:"required" json:"count" yaml:"count"`
	List       []MCPProxyListItem `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination         `json:"pagination" yaml:"pagination"`
}

MCPProxyListResponse defines model for MCPProxyListResponse.

type MCPProxyMcpSpecVersion

type MCPProxyMcpSpecVersion string

MCPProxyMcpSpecVersion MCP specification version supported by this proxy

const (
	N20250618 MCPProxyMcpSpecVersion = "2025-06-18"
	N20251125 MCPProxyMcpSpecVersion = "2025-11-25"
)

Defines values for MCPProxyMcpSpecVersion.

type MCPServerInfoFetchRequest

type MCPServerInfoFetchRequest struct {
	// Auth Authentication configuration for upstream endpoints
	Auth *UpstreamAuth `json:"auth,omitempty" yaml:"auth,omitempty"`

	// ProxyId MCP proxy handle (identifier) for refresh operations. When provided,
	// the server fetches URL and auth from the stored proxy configuration.
	// Auth override is not allowed in refetch mode.
	ProxyId *string `json:"proxyId,omitempty" yaml:"proxyId,omitempty"`

	// Url Endpoint URL of the MCP server to fetch information from.
	// Required when proxyId is not provided. When proxyId is provided,
	// the URL from the stored proxy configuration is used.
	Url *string `json:"url,omitempty" yaml:"url,omitempty"`
}

MCPServerInfoFetchRequest defines model for MCPServerInfoFetchRequest.

type MCPServerInfoFetchResponse

type MCPServerInfoFetchResponse struct {
	Prompts    *[]map[string]interface{} `json:"prompts,omitempty" yaml:"prompts,omitempty"`
	Resources  *[]map[string]interface{} `json:"resources,omitempty" yaml:"resources,omitempty"`
	ServerInfo *map[string]interface{}   `json:"serverInfo,omitempty" yaml:"serverInfo,omitempty"`
	Tools      *[]map[string]interface{} `json:"tools,omitempty" yaml:"tools,omitempty"`
}

MCPServerInfoFetchResponse defines model for MCPServerInfoFetchResponse.

type ManifestSyncResponse

type ManifestSyncResponse struct {
	// Policies All policies installed on the gateway. Each entry includes name, version, and isCustomPolicy.
	// Custom policies additionally include policyDefinition with their parameters and systemParameters schemas.
	Policies *[]GatewayPolicyDefinition `json:"policies,omitempty" yaml:"policies,omitempty"`
}

ManifestSyncResponse defines model for ManifestSyncResponse.

type MappedAPIKey

type MappedAPIKey struct {
	AssociatedEntity AssociatedEntity `json:"associatedEntity" yaml:"associatedEntity"`

	// CreatedAt Timestamp when the API key was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// ExpiresAt Expiration timestamp of the API key
	ExpiresAt *time.Time `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"`

	// KeyId Name of the API key
	KeyId string `binding:"required" json:"keyId" yaml:"keyId"`

	// Status Status of the API key
	Status *string `json:"status,omitempty" yaml:"status,omitempty"`

	// UpdatedAt Timestamp when the API key was updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UserId User identifier of the user who created this resource
	UserId *string `json:"userId,omitempty" yaml:"userId,omitempty"`
}

MappedAPIKey defines model for MappedAPIKey.

type MappedAPIKeyListResponse

type MappedAPIKeyListResponse struct {
	// Count Number of items in current response
	Count      int            `binding:"required" json:"count" yaml:"count"`
	List       []MappedAPIKey `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination     `json:"pagination" yaml:"pagination"`
}

MappedAPIKeyListResponse defines model for MappedAPIKeyListResponse.

type MappedKeyId

type MappedKeyId = string

MappedKeyId defines model for mappedKeyId.

type NotFound

type NotFound = Error

NotFound The single error shape returned by every failed request across the API.

type OffsetQ

type OffsetQ = int

OffsetQ defines model for offset-Q.

type Operation

type Operation struct {
	// Description Description of the operation
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// Name Name of the operation
	Name *string `json:"name,omitempty" yaml:"name,omitempty"`

	// Request Request details for an API operation
	Request OperationRequest `json:"request" yaml:"request"`
}

Operation Defines a single operation (resource) within the API

type OperationPolicy

type OperationPolicy struct {
	// ExecutionCondition Optional per-request CEL expression controlling whether the policy runs
	ExecutionCondition *string               `json:"executionCondition,omitempty" yaml:"executionCondition,omitempty"`
	Name               string                `binding:"required" json:"name" yaml:"name"`
	Paths              []OperationPolicyPath `binding:"required" json:"paths" yaml:"paths"`

	// Version Version of the policy. Only major-only version is allowed (e.g., v0, v1). Full semantic version (e.g., v1.0.0) is not accepted and will be rejected.
	Version string `binding:"required" json:"version" yaml:"version"`
}

OperationPolicy defines model for OperationPolicy.

type OperationPolicyPath

type OperationPolicyPath struct {
	Methods []OperationPolicyPathMethods `binding:"required" json:"methods" yaml:"methods"`

	// Params Policy parameters
	Params map[string]interface{} `binding:"required" json:"params" yaml:"params"`
	Path   string                 `binding:"required" json:"path" yaml:"path"`
}

OperationPolicyPath defines model for OperationPolicyPath.

type OperationPolicyPathMethods

type OperationPolicyPathMethods string

OperationPolicyPathMethods HTTP method: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, or * for all

const (
	OperationPolicyPathMethodsAsterisk OperationPolicyPathMethods = "*"
	OperationPolicyPathMethodsDELETE   OperationPolicyPathMethods = "DELETE"
	OperationPolicyPathMethodsGET      OperationPolicyPathMethods = "GET"
	OperationPolicyPathMethodsHEAD     OperationPolicyPathMethods = "HEAD"
	OperationPolicyPathMethodsOPTIONS  OperationPolicyPathMethods = "OPTIONS"
	OperationPolicyPathMethodsPATCH    OperationPolicyPathMethods = "PATCH"
	OperationPolicyPathMethodsPOST     OperationPolicyPathMethods = "POST"
	OperationPolicyPathMethodsPUT      OperationPolicyPathMethods = "PUT"
)

Defines values for OperationPolicyPathMethods.

type OperationRequest

type OperationRequest struct {
	// Method HTTP method for the operation
	Method OperationRequestMethod `binding:"required" json:"method" yaml:"method"`

	// Path Resource path for the operation
	Path string `binding:"required" json:"path" yaml:"path"`

	// Policies List of policies to be applied on the operation
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`
}

OperationRequest Request details for an API operation

type OperationRequestMethod

type OperationRequestMethod string

OperationRequestMethod HTTP method for the operation

const (
	OperationRequestMethodDELETE  OperationRequestMethod = "DELETE"
	OperationRequestMethodGET     OperationRequestMethod = "GET"
	OperationRequestMethodHEAD    OperationRequestMethod = "HEAD"
	OperationRequestMethodOPTIONS OperationRequestMethod = "OPTIONS"
	OperationRequestMethodPATCH   OperationRequestMethod = "PATCH"
	OperationRequestMethodPOST    OperationRequestMethod = "POST"
	OperationRequestMethodPUT     OperationRequestMethod = "PUT"
)

Defines values for OperationRequestMethod.

type Organization

type Organization struct {
	// CreatedAt Timestamp when the organization was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable name for the organization
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Handle (URL-friendly slug) for the organization
	Id *string `binding:"required" json:"id,omitempty" yaml:"id,omitempty"`

	// Region Geographic region where the organization operates
	Region string `binding:"required" json:"region" yaml:"region"`

	// UpdatedAt Timestamp when the organization was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`
}

Organization defines model for Organization.

type OrganizationListResponse

type OrganizationListResponse struct {
	// Count Number of items in current response
	Count      int            `binding:"required" json:"count" yaml:"count"`
	List       []Organization `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination     `json:"pagination" yaml:"pagination"`
}

OrganizationListResponse defines model for OrganizationListResponse.

type Pagination

type Pagination struct {
	// Limit Maximum number of items returned per page
	Limit int `binding:"required" json:"limit" yaml:"limit"`

	// Offset Zero-based index of first item in current response
	Offset int `binding:"required" json:"offset" yaml:"offset"`

	// Total Total number of items available across all pages
	Total int `binding:"required" json:"total" yaml:"total"`
}

Pagination defines model for Pagination.

type Policy

type Policy struct {
	// ExecutionCondition Conditional expression that determines when this policy executes
	ExecutionCondition *string `json:"executionCondition,omitempty" yaml:"executionCondition,omitempty"`

	// Name Name of the policy to apply
	Name string `binding:"required" json:"name" yaml:"name"`

	// Params Key-value pairs of parameters for the policy
	Params *map[string]interface{} `json:"params,omitempty" yaml:"params,omitempty"`

	// Version Version of the policy. Only major-only version is allowed (e.g., v0, v1). Full semantic version (e.g., v1.0.0) is not accepted and will be rejected.
	Version string `binding:"required" json:"version" yaml:"version"`
}

Policy Defines a request or response policy applied at runtime

type Project

type Project struct {
	// CreatedAt Timestamp when the project was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Description Description of the project
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the project
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Handle (URL-friendly slug) for the project
	Id *string `binding:"required" json:"id,omitempty" yaml:"id,omitempty"`

	// OrganizationId Handle (URL-friendly slug) of the organization this project belongs to
	OrganizationId *string `binding:"required" json:"organizationId,omitempty" yaml:"organizationId,omitempty"`

	// UpdatedAt Timestamp when the project was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /projects/{projectId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`
}

Project defines model for Project.

type ProjectId

type ProjectId = string

ProjectId defines model for projectId.

type ProjectIdQ

type ProjectIdQ = string

ProjectIdQ defines model for projectId-Q.

type ProjectListResponse

type ProjectListResponse struct {
	// Count Number of items in current response
	Count      int        `binding:"required" json:"count" yaml:"count"`
	List       []Project  `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination `json:"pagination" yaml:"pagination"`
}

ProjectListResponse defines model for ProjectListResponse.

type QueryQ

type QueryQ = string

QueryQ defines model for query-Q.

type RESTAPI

type RESTAPI struct {
	// Channels List of channels exposed by this API
	Channels *[]Channel `json:"channels,omitempty" yaml:"channels,omitempty"`
	Context  string     `binding:"required" json:"context" yaml:"context"`

	// CreatedAt Timestamp when the api was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the API
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Unique handle/identifier for the API. Can be provided during creation or auto-generated. On update (PUT), if provided must match the path parameter — returns 400 if they differ.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Kind of the API based on its communication protocol or architectural style
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty"`

	// LifeCycleStatus Current lifecycle status of the API
	LifeCycleStatus *RESTAPILifeCycleStatus `json:"lifeCycleStatus,omitempty" yaml:"lifeCycleStatus,omitempty"`

	// Operations List of operations exposed by this API
	Operations *[]Operation `json:"operations,omitempty" yaml:"operations,omitempty"`

	// Policies List of policies to be applied on the API
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// ProjectId Handle (URL-friendly slug) of the project this API belongs to
	ProjectId string `binding:"required" json:"projectId" yaml:"projectId"`

	// ReadOnly True if the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane; false for control-plane created artifacts.
	ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`

	// SubscriptionPlans List of subscription plan names enabled for this API (e.g. Gold, Silver).
	// When set, only these plans can be used when subscribing to the API.
	SubscriptionPlans *[]string `json:"subscriptionPlans,omitempty" yaml:"subscriptionPlans,omitempty"`

	// Transport Supported transports for the API (http and/or https)
	Transport *[]string `json:"transport,omitempty" yaml:"transport,omitempty"`

	// UpdatedAt Timestamp when the api was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /rest-apis/{apiId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Upstream Upstream backend configuration with main and sandbox endpoints
	Upstream Upstream `json:"upstream" yaml:"upstream"`
	Version  string   `binding:"required" json:"version" yaml:"version"`
}

RESTAPI defines model for RESTAPI.

type RESTAPIDeploymentDetails

type RESTAPIDeploymentDetails struct {
	// DeployedAt Timestamp when the API was deployed
	DeployedAt time.Time `binding:"required" json:"deployedAt" yaml:"deployedAt"`

	// Status Current deployment status
	Status RESTAPIDeploymentDetailsStatus `binding:"required" json:"status" yaml:"status"`
}

RESTAPIDeploymentDetails Details about API deployment to a specific gateway

type RESTAPIDeploymentDetailsStatus

type RESTAPIDeploymentDetailsStatus string

RESTAPIDeploymentDetailsStatus Current deployment status

const (
	APPROVED RESTAPIDeploymentDetailsStatus = "APPROVED"
	CREATED  RESTAPIDeploymentDetailsStatus = "CREATED"
	REJECTED RESTAPIDeploymentDetailsStatus = "REJECTED"
)

Defines values for RESTAPIDeploymentDetailsStatus.

type RESTAPIGatewayListResponse

type RESTAPIGatewayListResponse struct {
	// Count Number of gateways in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of gateways associated with the API, including deployment details when deployed
	List       []RESTAPIGatewayResponse `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination               `json:"pagination" yaml:"pagination"`
}

RESTAPIGatewayListResponse defines model for RESTAPIGatewayListResponse.

type RESTAPIGatewayResponse

type RESTAPIGatewayResponse struct {
	// AssociatedAt Timestamp when the gateway was associated with the API
	AssociatedAt time.Time `json:"associatedAt" yaml:"associatedAt"`

	// CreatedAt Timestamp when gateway was registered
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Deployment Details about API deployment to a specific gateway
	Deployment *RESTAPIDeploymentDetails `json:"deployment,omitempty" yaml:"deployment,omitempty"`

	// Description Description of the gateway
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable gateway name
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Endpoints Network endpoints exposed by this gateway, each as a full URL string
	Endpoints *[]string `json:"endpoints,omitempty" yaml:"endpoints,omitempty"`

	// FunctionalityType Type of gateway functionality
	FunctionalityType *RESTAPIGatewayResponseFunctionalityType `json:"functionalityType,omitempty" yaml:"functionalityType,omitempty"`

	// Id Handle (URL-friendly slug) for the gateway
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// IsActive Indicates if the gateway is currently connected to the platform via WebSocket
	IsActive *bool `json:"isActive,omitempty" yaml:"isActive,omitempty"`

	// IsCritical Whether the gateway is critical for production
	IsCritical *bool `json:"isCritical,omitempty" yaml:"isCritical,omitempty"`

	// IsDeployed Whether the API is currently deployed to this gateway
	IsDeployed bool `json:"isDeployed" yaml:"isDeployed"`

	// OrganizationId Handle (URL-friendly slug) of the organization this gateway belongs to
	OrganizationId *string `json:"organizationId,omitempty" yaml:"organizationId,omitempty"`

	// Properties Custom key-value properties for the gateway
	Properties *map[string]interface{} `json:"properties,omitempty" yaml:"properties,omitempty"`

	// UpdatedAt Timestamp when gateway was last updated
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /gateways/{gatewayId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Version Gateway version in `major.minor` format (e.g. `1.0`) or CalVer `YYYY.MM.DD` format (e.g. `2026.05.13`)
	Version *string `json:"version,omitempty" yaml:"version,omitempty"`
}

RESTAPIGatewayResponse defines model for RESTAPIGatewayResponse.

type RESTAPIGatewayResponseFunctionalityType

type RESTAPIGatewayResponseFunctionalityType string

RESTAPIGatewayResponseFunctionalityType Type of gateway functionality

Defines values for RESTAPIGatewayResponseFunctionalityType.

type RESTAPILifeCycleStatus

type RESTAPILifeCycleStatus string

RESTAPILifeCycleStatus Current lifecycle status of the API

const (
	RESTAPILifeCycleStatusBLOCKED    RESTAPILifeCycleStatus = "BLOCKED"
	RESTAPILifeCycleStatusCREATED    RESTAPILifeCycleStatus = "CREATED"
	RESTAPILifeCycleStatusDEPRECATED RESTAPILifeCycleStatus = "DEPRECATED"
	RESTAPILifeCycleStatusPUBLISHED  RESTAPILifeCycleStatus = "PUBLISHED"
	RESTAPILifeCycleStatusRETIRED    RESTAPILifeCycleStatus = "RETIRED"
	RESTAPILifeCycleStatusSTAGED     RESTAPILifeCycleStatus = "STAGED"
)

Defines values for RESTAPILifeCycleStatus.

type RESTAPIListResponse

type RESTAPIListResponse struct {
	// Count Number of items in current response
	Count      int        `binding:"required" json:"count" yaml:"count"`
	List       []RESTAPI  `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination `json:"pagination" yaml:"pagination"`
}

RESTAPIListResponse defines model for RESTAPIListResponse.

type RateLimitResetWindow

type RateLimitResetWindow struct {
	// Duration Reset duration for the limit window.
	Duration int `binding:"required" json:"duration" yaml:"duration"`

	// Unit Reset time unit for the limit window.
	Unit RateLimitResetWindowUnit `binding:"required" json:"unit" yaml:"unit"`
}

RateLimitResetWindow defines model for RateLimitResetWindow.

type RateLimitResetWindowUnit

type RateLimitResetWindowUnit string

RateLimitResetWindowUnit Reset time unit for the limit window.

const (
	Day    RateLimitResetWindowUnit = "day"
	Hour   RateLimitResetWindowUnit = "hour"
	Minute RateLimitResetWindowUnit = "minute"
	Month  RateLimitResetWindowUnit = "month"
	Week   RateLimitResetWindowUnit = "week"
)

Defines values for RateLimitResetWindowUnit.

type RateLimitingLimitConfig

type RateLimitingLimitConfig struct {
	Cost    *CostRateLimitDimension    `json:"cost,omitempty" yaml:"cost,omitempty"`
	Request *RequestRateLimitDimension `json:"request,omitempty" yaml:"request,omitempty"`
	Token   *TokenRateLimitDimension   `json:"token,omitempty" yaml:"token,omitempty"`
}

RateLimitingLimitConfig Limit definition with independent request/token/cost dimensions. If all dimensions are disabled (or absent), rate limiting is off for that scope.

type RateLimitingResourceLimit

type RateLimitingResourceLimit struct {
	// Limit Limit definition with independent request/token/cost dimensions. If all dimensions are disabled (or absent), rate limiting is off for that scope.
	Limit RateLimitingLimitConfig `json:"limit" yaml:"limit"`

	// Resource Explicit resource path to apply the limit to.
	Resource string `binding:"required" json:"resource" yaml:"resource"`
}

RateLimitingResourceLimit defines model for RateLimitingResourceLimit.

type RateLimitingScopeConfig

type RateLimitingScopeConfig struct {
	// Global Limit definition with independent request/token/cost dimensions. If all dimensions are disabled (or absent), rate limiting is off for that scope.
	Global *RateLimitingLimitConfig `json:"global,omitempty" yaml:"global,omitempty"`

	// ResourceWise Resource-specific limits with a required default limit.
	ResourceWise *ResourceWiseRateLimitingConfig `json:"resourceWise,omitempty" yaml:"resourceWise,omitempty"`
	// contains filtered or unexported fields
}

RateLimitingScopeConfig Rate limiting configuration for a scope (provider or consumer). Either global or resource-wise limits can be defined.

func (RateLimitingScopeConfig) AsRateLimitingScopeConfig0

func (t RateLimitingScopeConfig) AsRateLimitingScopeConfig0() (RateLimitingScopeConfig0, error)

AsRateLimitingScopeConfig0 returns the union data inside the RateLimitingScopeConfig as a RateLimitingScopeConfig0

func (RateLimitingScopeConfig) AsRateLimitingScopeConfig1

func (t RateLimitingScopeConfig) AsRateLimitingScopeConfig1() (RateLimitingScopeConfig1, error)

AsRateLimitingScopeConfig1 returns the union data inside the RateLimitingScopeConfig as a RateLimitingScopeConfig1

func (*RateLimitingScopeConfig) FromRateLimitingScopeConfig0

func (t *RateLimitingScopeConfig) FromRateLimitingScopeConfig0(v RateLimitingScopeConfig0) error

FromRateLimitingScopeConfig0 overwrites any union data inside the RateLimitingScopeConfig as the provided RateLimitingScopeConfig0

func (*RateLimitingScopeConfig) FromRateLimitingScopeConfig1

func (t *RateLimitingScopeConfig) FromRateLimitingScopeConfig1(v RateLimitingScopeConfig1) error

FromRateLimitingScopeConfig1 overwrites any union data inside the RateLimitingScopeConfig as the provided RateLimitingScopeConfig1

func (RateLimitingScopeConfig) MarshalJSON

func (t RateLimitingScopeConfig) MarshalJSON() ([]byte, error)

func (*RateLimitingScopeConfig) MergeRateLimitingScopeConfig0

func (t *RateLimitingScopeConfig) MergeRateLimitingScopeConfig0(v RateLimitingScopeConfig0) error

MergeRateLimitingScopeConfig0 performs a merge with any union data inside the RateLimitingScopeConfig, using the provided RateLimitingScopeConfig0

func (*RateLimitingScopeConfig) MergeRateLimitingScopeConfig1

func (t *RateLimitingScopeConfig) MergeRateLimitingScopeConfig1(v RateLimitingScopeConfig1) error

MergeRateLimitingScopeConfig1 performs a merge with any union data inside the RateLimitingScopeConfig, using the provided RateLimitingScopeConfig1

func (*RateLimitingScopeConfig) UnmarshalJSON

func (t *RateLimitingScopeConfig) UnmarshalJSON(b []byte) error

type RateLimitingScopeConfig0

type RateLimitingScopeConfig0 = interface{}

RateLimitingScopeConfig0 defines model for .

type RateLimitingScopeConfig1

type RateLimitingScopeConfig1 = interface{}

RateLimitingScopeConfig1 defines model for .

type RegisterOrganizationJSONRequestBody

type RegisterOrganizationJSONRequestBody = Organization

RegisterOrganizationJSONRequestBody defines body for RegisterOrganization for application/json ContentType.

type RemoveApplicationAPIKeyParams

type RemoveApplicationAPIKeyParams struct {
	// EntityID **Entity ID** of the artifact associated with the API key mapping.
	EntityID EntityIDQ `form:"entityID" json:"entityID" yaml:"entityID"`
}

RemoveApplicationAPIKeyParams defines parameters for RemoveApplicationAPIKey.

type RequestRateLimitDimension

type RequestRateLimitDimension struct {
	// Count Maximum number of requests in the reset window.
	Count *int `json:"count,omitempty" yaml:"count,omitempty"`

	// Enabled Enable request-count based limiting.
	Enabled *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty"`
	Reset   *RateLimitResetWindow `json:"reset,omitempty" yaml:"reset,omitempty"`
}

RequestRateLimitDimension defines model for RequestRateLimitDimension.

type ResourceWiseRateLimitingConfig

type ResourceWiseRateLimitingConfig struct {
	// Default Limit definition with independent request/token/cost dimensions. If all dimensions are disabled (or absent), rate limiting is off for that scope.
	Default RateLimitingLimitConfig `json:"default" yaml:"default"`

	// Resources Explicit resource limits that override the default limit.
	Resources []RateLimitingResourceLimit `binding:"required" json:"resources" yaml:"resources"`
}

ResourceWiseRateLimitingConfig Resource-specific limits with a required default limit.

type RestoreDeploymentParams

type RestoreDeploymentParams struct {
	// GatewayId Handle (URL-friendly slug) of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

RestoreDeploymentParams defines parameters for RestoreDeployment.

type RestoreLLMProviderDeploymentParams

type RestoreLLMProviderDeploymentParams struct {
	// GatewayId UUID of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

RestoreLLMProviderDeploymentParams defines parameters for RestoreLLMProviderDeployment.

type RestoreLLMProxyDeploymentParams

type RestoreLLMProxyDeploymentParams struct {
	// GatewayId UUID of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

RestoreLLMProxyDeploymentParams defines parameters for RestoreLLMProxyDeployment.

type RestoreMCPProxyDeploymentParams

type RestoreMCPProxyDeploymentParams struct {
	// GatewayId Handle (URL-friendly slug) of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

RestoreMCPProxyDeploymentParams defines parameters for RestoreMCPProxyDeployment.

type RotateSecretMultipartRequestBody

type RotateSecretMultipartRequestBody = SecretUpdateRequest

RotateSecretMultipartRequestBody defines body for RotateSecret for multipart/form-data ContentType.

type RouteException

type RouteException struct {
	// Methods HTTP methods
	Methods []RouteExceptionMethods `binding:"required" json:"methods" yaml:"methods"`

	// Path Path pattern
	Path string `binding:"required" json:"path" yaml:"path"`
}

RouteException defines model for RouteException.

type RouteExceptionMethods

type RouteExceptionMethods string

RouteExceptionMethods defines model for RouteException.Methods.

const (
	RouteExceptionMethodsAsterisk RouteExceptionMethods = "*"
	RouteExceptionMethodsDELETE   RouteExceptionMethods = "DELETE"
	RouteExceptionMethodsGET      RouteExceptionMethods = "GET"
	RouteExceptionMethodsHEAD     RouteExceptionMethods = "HEAD"
	RouteExceptionMethodsOPTIONS  RouteExceptionMethods = "OPTIONS"
	RouteExceptionMethodsPATCH    RouteExceptionMethods = "PATCH"
	RouteExceptionMethodsPOST     RouteExceptionMethods = "POST"
	RouteExceptionMethodsPUT      RouteExceptionMethods = "PUT"
)

Defines values for RouteExceptionMethods.

type SecretCreateRequest

type SecretCreateRequest struct {
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the secret
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Handle (slug) used in {{ secret "id" }} placeholders. Immutable after creation.
	Id   *string                  `json:"id,omitempty" yaml:"id,omitempty"`
	Type *SecretCreateRequestType `json:"type,omitempty" yaml:"type,omitempty"`

	// Value Plaintext secret value — encrypted at rest, never returned in any response
	Value string `binding:"required" json:"value" yaml:"value"`
}

SecretCreateRequest defines model for SecretCreateRequest.

type SecretCreateRequestType

type SecretCreateRequestType string

SecretCreateRequestType defines model for SecretCreateRequest.Type.

const (
	SecretCreateRequestTypeCERTIFICATE SecretCreateRequestType = "CERTIFICATE"
	SecretCreateRequestTypeGENERIC     SecretCreateRequestType = "GENERIC"
)

Defines values for SecretCreateRequestType.

type SecretListResponse

type SecretListResponse struct {
	// Count Number of secrets in current response
	Count      int             `binding:"required" json:"count" yaml:"count"`
	List       []SecretSummary `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination      `json:"pagination" yaml:"pagination"`
}

SecretListResponse defines model for SecretListResponse.

type SecretResponse

type SecretResponse struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable name for the secret
	DisplayName string     `binding:"required" json:"displayName" yaml:"displayName"`
	Id          *string    `json:"id,omitempty" yaml:"id,omitempty"`
	UpdatedAt   *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`
}

SecretResponse Returned on create (201) and rotate (200). The plaintext value is never included.

type SecretSummary

type SecretSummary struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the secret
	DisplayName string                 `binding:"required" json:"displayName" yaml:"displayName"`
	Hash        *string                `json:"hash,omitempty" yaml:"hash,omitempty"`
	Id          *string                `json:"id,omitempty" yaml:"id,omitempty"`
	Provider    *SecretSummaryProvider `json:"provider,omitempty" yaml:"provider,omitempty"`
	Status      *SecretSummaryStatus   `json:"status,omitempty" yaml:"status,omitempty"`
	Type        *SecretSummaryType     `json:"type,omitempty" yaml:"type,omitempty"`
	UpdatedAt   *time.Time             `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

SecretSummary Secret metadata — never includes the plaintext value.

type SecretSummaryProvider

type SecretSummaryProvider string

SecretSummaryProvider defines model for SecretSummary.Provider.

const (
	INBUILT SecretSummaryProvider = "IN_BUILT"
)

Defines values for SecretSummaryProvider.

type SecretSummaryStatus

type SecretSummaryStatus string

SecretSummaryStatus defines model for SecretSummary.Status.

const (
	SecretSummaryStatusACTIVE     SecretSummaryStatus = "ACTIVE"
	SecretSummaryStatusDEPRECATED SecretSummaryStatus = "DEPRECATED"
)

Defines values for SecretSummaryStatus.

type SecretSummaryType

type SecretSummaryType string

SecretSummaryType defines model for SecretSummary.Type.

const (
	SecretSummaryTypeCERTIFICATE SecretSummaryType = "CERTIFICATE"
	SecretSummaryTypeGENERIC     SecretSummaryType = "GENERIC"
)

Defines values for SecretSummaryType.

type SecretUpdateRequest

type SecretUpdateRequest struct {
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the secret
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// Id Secret handle — if provided, must match the path parameter; returns 400 if they differ. The handle is immutable and cannot be changed via update.
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Value New plaintext secret value — re-encrypted at rest
	Value string `binding:"required" json:"value" yaml:"value"`
}

SecretUpdateRequest defines model for SecretUpdateRequest.

type SecurityConfig

type SecurityConfig struct {
	// ApiKey Configuration for API key based authentication
	ApiKey *APIKeySecurity `json:"apiKey,omitempty" yaml:"apiKey,omitempty"`

	// Enabled Whether security is enabled
	Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`
}

SecurityConfig Defines security mechanisms (API key, OAuth2) applicable to the API

type ServiceUnavailable

type ServiceUnavailable = Error

ServiceUnavailable The single error shape returned by every failed request across the API.

type SetLLMProviderTemplateVersionEnabledJSONBody

type SetLLMProviderTemplateVersionEnabledJSONBody struct {
	Enabled bool `json:"enabled" yaml:"enabled"`
}

SetLLMProviderTemplateVersionEnabledJSONBody defines parameters for SetLLMProviderTemplateVersionEnabled.

type SetLLMProviderTemplateVersionEnabledJSONRequestBody

type SetLLMProviderTemplateVersionEnabledJSONRequestBody SetLLMProviderTemplateVersionEnabledJSONBody

SetLLMProviderTemplateVersionEnabledJSONRequestBody defines body for SetLLMProviderTemplateVersionEnabled for application/json ContentType.

type SortByQ

type SortByQ string

SortByQ defines model for sortBy-Q.

const (
	SortByQCreatedAt SortByQ = "createdAt"
	SortByQName      SortByQ = "name"
)

Defines values for SortByQ.

type SortOrderQ

type SortOrderQ string

SortOrderQ defines model for sortOrder-Q.

const (
	SortOrderQAsc  SortOrderQ = "asc"
	SortOrderQDesc SortOrderQ = "desc"
)

Defines values for SortOrderQ.

type Subscription

type Subscription struct {
	// ApiId Handle (ID) of the subscribed artifact
	ApiId *string `json:"apiId,omitempty" yaml:"apiId,omitempty"`

	// ApplicationId Handle (ID) of the application this subscription belongs to (optional for token-based subscriptions)
	ApplicationId *string    `json:"applicationId,omitempty" yaml:"applicationId,omitempty"`
	CreatedAt     *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// Id Subscription ID
	Id *openapi_types.UUID `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Type of the subscribed artifact
	Kind *SubscriptionKind `json:"kind,omitempty" yaml:"kind,omitempty"`

	// OrganizationId Handle (URL-friendly slug) of the organization this subscription belongs to
	OrganizationId *string             `json:"organizationId,omitempty" yaml:"organizationId,omitempty"`
	Status         *SubscriptionStatus `json:"status,omitempty" yaml:"status,omitempty"`

	// SubscriberId Unique subscriber identifier for this API (required)
	SubscriberId *string `json:"subscriberId,omitempty" yaml:"subscriberId,omitempty"`

	// SubscriptionPlanId Handle (slug) of the subscription plan
	SubscriptionPlanId *string `json:"subscriptionPlanId,omitempty" yaml:"subscriptionPlanId,omitempty"`

	// SubscriptionPlanName Subscription plan display name (e.g. Bronze, Gold)
	SubscriptionPlanName *string `json:"subscriptionPlanName,omitempty" yaml:"subscriptionPlanName,omitempty"`

	// SubscriptionToken Opaque subscription token for API invocation via Subscription-Key header
	SubscriptionToken *string    `json:"subscriptionToken,omitempty" yaml:"subscriptionToken,omitempty"`
	UpdatedAt         *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /subscriptions/{subscriptionId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`
}

Subscription defines model for Subscription.

type SubscriptionKind

type SubscriptionKind string

SubscriptionKind Type of the subscribed artifact

const (
	SubscriptionKindLlmProvider SubscriptionKind = "LlmProvider"
	SubscriptionKindLlmProxy    SubscriptionKind = "LlmProxy"
	SubscriptionKindMcp         SubscriptionKind = "Mcp"
	SubscriptionKindRestApi     SubscriptionKind = "RestApi"
)

Defines values for SubscriptionKind.

type SubscriptionListResponse

type SubscriptionListResponse struct {
	// Count Number of subscriptions in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of subscriptions in current response
	List       []Subscription `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination     `json:"pagination" yaml:"pagination"`
}

SubscriptionListResponse defines model for SubscriptionListResponse.

type SubscriptionPlan

type SubscriptionPlan struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable name for the subscription plan
	DisplayName string     `binding:"required" json:"displayName" yaml:"displayName"`
	ExpiryTime  *time.Time `json:"expiryTime,omitempty" yaml:"expiryTime,omitempty"`

	// Id Handle (slug) for the subscription plan
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Limits Throttling limits configured for the plan. Only one entry is currently supported and returned, even though the underlying storage allows multiple.
	Limits *[]SubscriptionPlanLimit `json:"limits,omitempty" yaml:"limits,omitempty"`

	// OrganizationId Handle (URL-friendly slug) of the organization this plan belongs to
	OrganizationId *string                 `json:"organizationId,omitempty" yaml:"organizationId,omitempty"`
	Status         *SubscriptionPlanStatus `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt      *time.Time              `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /subscription-plans/{planId}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`
}

SubscriptionPlan defines model for SubscriptionPlan.

type SubscriptionPlanLimit

type SubscriptionPlanLimit struct {
	// LimitCount Number of requests (or units, for BANDWIDTH/TOTAL_TOKEN_COUNT) allowed in the throttle window
	LimitCount int `binding:"required" json:"limitCount" yaml:"limitCount"`

	// LimitCountUnit Unit for limitCount when limitType is BANDWIDTH (e.g. MB, GB)
	LimitCountUnit *string `json:"limitCountUnit,omitempty" yaml:"limitCountUnit,omitempty"`

	// LimitType Kind of quota this limit enforces. Only REQUEST_COUNT is currently enforced; other values are accepted by the schema for forward compatibility but are rejected by the API today.
	LimitType *SubscriptionPlanLimitLimitType `json:"limitType,omitempty" yaml:"limitType,omitempty"`

	// StopOnQuotaReach Whether to block requests when this limit's quota is exhausted
	StopOnQuotaReach *bool `json:"stopOnQuotaReach,omitempty" yaml:"stopOnQuotaReach,omitempty"`

	// TimeAmount Number of timeUnit windows the limit applies over (e.g. 2 with timeUnit=HOUR means "per 2 hours")
	TimeAmount *int `json:"timeAmount,omitempty" yaml:"timeAmount,omitempty"`

	// TimeUnit Throttle window unit
	TimeUnit SubscriptionPlanLimitTimeUnit `binding:"required" json:"timeUnit" yaml:"timeUnit"`
}

SubscriptionPlanLimit defines model for SubscriptionPlanLimit.

type SubscriptionPlanLimitLimitType

type SubscriptionPlanLimitLimitType string

SubscriptionPlanLimitLimitType Kind of quota this limit enforces. Only REQUEST_COUNT is currently enforced; other values are accepted by the schema for forward compatibility but are rejected by the API today.

const (
	BANDWIDTH       SubscriptionPlanLimitLimitType = "BANDWIDTH"
	REQUESTCOUNT    SubscriptionPlanLimitLimitType = "REQUEST_COUNT"
	TOTALTOKENCOUNT SubscriptionPlanLimitLimitType = "TOTAL_TOKEN_COUNT"
)

Defines values for SubscriptionPlanLimitLimitType.

type SubscriptionPlanLimitTimeUnit

type SubscriptionPlanLimitTimeUnit string

SubscriptionPlanLimitTimeUnit Throttle window unit

Defines values for SubscriptionPlanLimitTimeUnit.

type SubscriptionPlanListResponse

type SubscriptionPlanListResponse struct {
	// Count Number of subscription plans in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of subscription plans in current response
	List       []SubscriptionPlan `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination         `json:"pagination" yaml:"pagination"`
}

SubscriptionPlanListResponse defines model for SubscriptionPlanListResponse.

type SubscriptionPlanStatus

type SubscriptionPlanStatus string

SubscriptionPlanStatus defines model for SubscriptionPlan.Status.

const (
	SubscriptionPlanStatusACTIVE   SubscriptionPlanStatus = "ACTIVE"
	SubscriptionPlanStatusINACTIVE SubscriptionPlanStatus = "INACTIVE"
)

Defines values for SubscriptionPlanStatus.

type SubscriptionStatus

type SubscriptionStatus string

SubscriptionStatus defines model for Subscription.Status.

const (
	SubscriptionStatusACTIVE   SubscriptionStatus = "ACTIVE"
	SubscriptionStatusINACTIVE SubscriptionStatus = "INACTIVE"
	SubscriptionStatusREVOKED  SubscriptionStatus = "REVOKED"
)

Defines values for SubscriptionStatus.

type SyncCustomPolicyParams

type SyncCustomPolicyParams struct {
	// GatewayId UUID of the gateway whose manifest contains the policy
	GatewayId openapi_types.UUID `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`

	// PolicyName Name of the custom policy (case-insensitive)
	PolicyName string `form:"policyName" json:"policyName" yaml:"policyName"`

	// PolicyVersion Version of the custom policy in MAJOR.MINOR.PATCH format
	PolicyVersion string `form:"policyVersion" json:"policyVersion" yaml:"policyVersion"`
}

SyncCustomPolicyParams defines parameters for SyncCustomPolicy.

type TimeUnit

type TimeUnit string

TimeUnit Time unit for API key expiration duration

const (
	Days    TimeUnit = "days"
	Hours   TimeUnit = "hours"
	Minutes TimeUnit = "minutes"
	Months  TimeUnit = "months"
	Seconds TimeUnit = "seconds"
	Weeks   TimeUnit = "weeks"
)

Defines values for TimeUnit.

type TokenId

type TokenId = openapi_types.UUID

TokenId defines model for tokenId.

type TokenInfoResponse

type TokenInfoResponse struct {
	// CreatedAt Timestamp when token was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// Id Token UUID
	Id *openapi_types.UUID `json:"id,omitempty" yaml:"id,omitempty"`

	// RevokedAt Timestamp when token was revoked (null if active)
	RevokedAt *time.Time `json:"revokedAt" yaml:"revokedAt"`

	// Status Current token status
	Status *TokenInfoResponseStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

TokenInfoResponse defines model for TokenInfoResponse.

type TokenInfoResponseStatus

type TokenInfoResponseStatus string

TokenInfoResponseStatus Current token status

const (
	TokenInfoResponseStatusActive  TokenInfoResponseStatus = "active"
	TokenInfoResponseStatusRevoked TokenInfoResponseStatus = "revoked"
)

Defines values for TokenInfoResponseStatus.

type TokenRateLimitDimension

type TokenRateLimitDimension struct {
	// Count Maximum number of tokens in the reset window.
	Count *int `json:"count,omitempty" yaml:"count,omitempty"`

	// Enabled Enable token-count based limiting.
	Enabled *bool                 `json:"enabled,omitempty" yaml:"enabled,omitempty"`
	Reset   *RateLimitResetWindow `json:"reset,omitempty" yaml:"reset,omitempty"`
}

TokenRateLimitDimension defines model for TokenRateLimitDimension.

type TokenRotationResponse

type TokenRotationResponse struct {
	// CreatedAt Timestamp when new token was created
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// Id ID of the newly generated token
	Id *openapi_types.UUID `json:"id,omitempty" yaml:"id,omitempty"`

	// Message Informational message about token rotation
	Message *string `json:"message,omitempty" yaml:"message,omitempty"`

	// Token Plain-text new authentication token (only exposed once during rotation)
	Token *string `json:"token,omitempty" yaml:"token,omitempty"`
}

TokenRotationResponse defines model for TokenRotationResponse.

type Unauthorized

type Unauthorized = Error

Unauthorized The single error shape returned by every failed request across the API.

type UndeployDeploymentParams

type UndeployDeploymentParams struct {
	// GatewayId Handle (URL-friendly slug) of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

UndeployDeploymentParams defines parameters for UndeployDeployment.

type UndeployLLMProviderDeploymentParams

type UndeployLLMProviderDeploymentParams struct {
	// GatewayId UUID of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

UndeployLLMProviderDeploymentParams defines parameters for UndeployLLMProviderDeployment.

type UndeployLLMProxyDeploymentParams

type UndeployLLMProxyDeploymentParams struct {
	// GatewayId UUID of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

UndeployLLMProxyDeploymentParams defines parameters for UndeployLLMProxyDeployment.

type UndeployMCPProxyDeploymentParams

type UndeployMCPProxyDeploymentParams struct {
	// GatewayId Handle (URL-friendly slug) of the gateway (validated against deployment's bound gateway)
	GatewayId string `form:"gatewayId" json:"gatewayId" yaml:"gatewayId"`
}

UndeployMCPProxyDeploymentParams defines parameters for UndeployMCPProxyDeployment.

type UnpublishFromDevPortalRequest

type UnpublishFromDevPortalRequest struct {
	// DevPortalUuid UUID of the DevPortal to unpublish from
	DevPortalUuid openapi_types.UUID `binding:"required" json:"devPortalUuid" yaml:"devPortalUuid"`
}

UnpublishFromDevPortalRequest defines model for UnpublishFromDevPortalRequest.

type UnpublishRESTAPIFromDevPortalJSONRequestBody

type UnpublishRESTAPIFromDevPortalJSONRequestBody = UnpublishFromDevPortalRequest

UnpublishRESTAPIFromDevPortalJSONRequestBody defines body for UnpublishRESTAPIFromDevPortal.

type UnpublishWebBrokerAPIFromDevPortalJSONRequestBody

type UnpublishWebBrokerAPIFromDevPortalJSONRequestBody = UnpublishFromDevPortalRequest

UnpublishWebBrokerAPIFromDevPortalJSONRequestBody defines body for UnpublishWebBrokerAPIFromDevPortal.

type UnpublishWebSubAPIFromDevPortalJSONRequestBody

type UnpublishWebSubAPIFromDevPortalJSONRequestBody = UnpublishFromDevPortalRequest

UnpublishWebSubAPIFromDevPortalJSONRequestBody defines body for UnpublishWebSubAPIFromDevPortal.

type UpdateAPIKeyJSONRequestBody

type UpdateAPIKeyJSONRequestBody = UpdateAPIKeyRequest

UpdateAPIKeyJSONRequestBody defines body for UpdateAPIKey for application/json ContentType.

type UpdateAPIKeyRequest

type UpdateAPIKeyRequest struct {
	// ApiKey The new plain text API key value that will be hashed before storage
	ApiKey string `binding:"required" json:"apiKey" yaml:"apiKey"`

	// DisplayName Human-readable name for the API key
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// ExpiresAt Optional expiration time in ISO 8601 format
	ExpiresAt *time.Time          `json:"expiresAt" yaml:"expiresAt"`
	ExpiresIn *ExpirationDuration `json:"expiresIn,omitempty" yaml:"expiresIn,omitempty"`

	// ExternalRefId Optional reference ID for tracing purposes (from external platforms)
	ExternalRefId *string `json:"externalRefId" yaml:"externalRefId"`

	// Issuer Identifies the portal that created this key
	Issuer *string `json:"issuer,omitempty" yaml:"issuer,omitempty"`

	// Name Unique identifier for this API key within the API (optional; if omitted, generated from displayName)
	Name *string `json:"name,omitempty" yaml:"name,omitempty"`
}

UpdateAPIKeyRequest defines model for UpdateAPIKeyRequest.

type UpdateAPIKeyResponse

type UpdateAPIKeyResponse struct {
	// KeyId The internal ID of the updated key
	KeyId *string `json:"keyId,omitempty" yaml:"keyId,omitempty"`

	// Message Additional details about the operation result
	Message string `binding:"required" json:"message" yaml:"message"`

	// Status Status of the operation
	Status UpdateAPIKeyResponseStatus `binding:"required" json:"status" yaml:"status"`
}

UpdateAPIKeyResponse defines model for UpdateAPIKeyResponse.

type UpdateAPIKeyResponseStatus

type UpdateAPIKeyResponseStatus string

UpdateAPIKeyResponseStatus Status of the operation

const (
	UpdateAPIKeyResponseStatusError   UpdateAPIKeyResponseStatus = "error"
	UpdateAPIKeyResponseStatusSuccess UpdateAPIKeyResponseStatus = "success"
)

Defines values for UpdateAPIKeyResponseStatus.

type UpdateApplicationJSONRequestBody

type UpdateApplicationJSONRequestBody = Application

UpdateApplicationJSONRequestBody defines body for UpdateApplication for application/json ContentType.

type UpdateGatewayJSONRequestBody

type UpdateGatewayJSONRequestBody = GatewayResponse

UpdateGatewayJSONRequestBody defines body for UpdateGateway for application/json ContentType.

type UpdateLLMProviderJSONRequestBody

type UpdateLLMProviderJSONRequestBody = LLMProvider

UpdateLLMProviderJSONRequestBody defines body for UpdateLLMProvider for application/json ContentType.

type UpdateLLMProviderTemplateJSONRequestBody

type UpdateLLMProviderTemplateJSONRequestBody = LLMProviderTemplate

UpdateLLMProviderTemplateJSONRequestBody defines body for UpdateLLMProviderTemplate for application/json ContentType.

type UpdateLLMProxyJSONRequestBody

type UpdateLLMProxyJSONRequestBody = LLMProxy

UpdateLLMProxyJSONRequestBody defines body for UpdateLLMProxy for application/json ContentType.

type UpdateMCPProxyJSONRequestBody

type UpdateMCPProxyJSONRequestBody = MCPProxy

UpdateMCPProxyJSONRequestBody defines body for UpdateMCPProxy for application/json ContentType.

type UpdateProjectJSONRequestBody

type UpdateProjectJSONRequestBody = Project

UpdateProjectJSONRequestBody defines body for UpdateProject for application/json ContentType.

type UpdateRESTAPIJSONRequestBody

type UpdateRESTAPIJSONRequestBody = RESTAPI

UpdateRESTAPIJSONRequestBody defines body for UpdateRESTAPI for application/json ContentType.

type UpdateSubscriptionJSONRequestBody

type UpdateSubscriptionJSONRequestBody = Subscription

UpdateSubscriptionJSONRequestBody defines body for UpdateSubscription for application/json ContentType.

type UpdateSubscriptionParams

type UpdateSubscriptionParams struct {
	// SubscriberId Subscriber ID; must match the subscription's subscriberId.
	SubscriberId string `form:"subscriberId" json:"subscriberId" yaml:"subscriberId"`
}

UpdateSubscriptionParams defines parameters for UpdateSubscription.

type UpdateSubscriptionPlanJSONRequestBody

type UpdateSubscriptionPlanJSONRequestBody = SubscriptionPlan

UpdateSubscriptionPlanJSONRequestBody defines body for UpdateSubscriptionPlan for application/json ContentType.

type Upstream

type Upstream struct {
	// Main Upstream endpoint configuration (single target or reference)
	Main UpstreamDefinition `json:"main" yaml:"main"`

	// Sandbox Upstream endpoint configuration (single target or reference)
	Sandbox *UpstreamDefinition `json:"sandbox,omitempty" yaml:"sandbox,omitempty"`
}

Upstream Upstream backend configuration with main and sandbox endpoints

type UpstreamAuth

type UpstreamAuth struct {
	// Header Header name for api-key authentication (e.g., 'Authorization' for bearer/basic, custom header for api-key)
	Header *string `json:"header,omitempty" yaml:"header,omitempty"`

	// Type Authentication type
	Type *UpstreamAuthType `json:"type,omitempty" yaml:"type,omitempty"`

	// Value Authentication value (API key, Bearer token, or Base64 encoded credentials for basic auth)
	Value *string `json:"value,omitempty" yaml:"value,omitempty"`
}

UpstreamAuth Authentication configuration for upstream endpoints

type UpstreamAuthType

type UpstreamAuthType string

UpstreamAuthType Authentication type

const (
	ApiKey UpstreamAuthType = "api-key"
	Basic  UpstreamAuthType = "basic"
	Bearer UpstreamAuthType = "bearer"
)

Defines values for UpstreamAuthType.

type UpstreamDefinition

type UpstreamDefinition struct {
	// Auth Authentication configuration for upstream endpoints
	Auth *UpstreamAuth `json:"auth,omitempty" yaml:"auth,omitempty"`

	// Ref Reference to a predefined upstreamDefinition
	Ref *string `json:"ref,omitempty" yaml:"ref,omitempty"`

	// Url Direct backend URL to route traffic to
	Url *string `json:"url,omitempty" yaml:"url,omitempty"`
	// contains filtered or unexported fields
}

UpstreamDefinition Upstream endpoint configuration (single target or reference)

func (UpstreamDefinition) AsUpstreamDefinition0

func (t UpstreamDefinition) AsUpstreamDefinition0() (UpstreamDefinition0, error)

AsUpstreamDefinition0 returns the union data inside the UpstreamDefinition as a UpstreamDefinition0

func (UpstreamDefinition) AsUpstreamDefinition1

func (t UpstreamDefinition) AsUpstreamDefinition1() (UpstreamDefinition1, error)

AsUpstreamDefinition1 returns the union data inside the UpstreamDefinition as a UpstreamDefinition1

func (*UpstreamDefinition) FromUpstreamDefinition0

func (t *UpstreamDefinition) FromUpstreamDefinition0(v UpstreamDefinition0) error

FromUpstreamDefinition0 overwrites any union data inside the UpstreamDefinition as the provided UpstreamDefinition0

func (*UpstreamDefinition) FromUpstreamDefinition1

func (t *UpstreamDefinition) FromUpstreamDefinition1(v UpstreamDefinition1) error

FromUpstreamDefinition1 overwrites any union data inside the UpstreamDefinition as the provided UpstreamDefinition1

func (UpstreamDefinition) MarshalJSON

func (t UpstreamDefinition) MarshalJSON() ([]byte, error)

func (*UpstreamDefinition) MergeUpstreamDefinition0

func (t *UpstreamDefinition) MergeUpstreamDefinition0(v UpstreamDefinition0) error

MergeUpstreamDefinition0 performs a merge with any union data inside the UpstreamDefinition, using the provided UpstreamDefinition0

func (*UpstreamDefinition) MergeUpstreamDefinition1

func (t *UpstreamDefinition) MergeUpstreamDefinition1(v UpstreamDefinition1) error

MergeUpstreamDefinition1 performs a merge with any union data inside the UpstreamDefinition, using the provided UpstreamDefinition1

func (*UpstreamDefinition) UnmarshalJSON

func (t *UpstreamDefinition) UnmarshalJSON(b []byte) error

type UpstreamDefinition0

type UpstreamDefinition0 = interface{}

UpstreamDefinition0 defines model for .

type UpstreamDefinition1

type UpstreamDefinition1 = interface{}

UpstreamDefinition1 defines model for .

type UserAPIKeyItem

type UserAPIKeyItem struct {
	// AllowedTargets Comma-separated list of allowed gateways; 'ALL' means unrestricted
	AllowedTargets string `binding:"required" json:"allowedTargets" yaml:"allowedTargets"`

	// ArtifactId Handle (ID) of the artifact this key belongs to
	ArtifactId string `json:"artifactId" yaml:"artifactId"`

	// ArtifactType Type of the artifact this key belongs to
	ArtifactType UserAPIKeyItemArtifactType `json:"artifactType" yaml:"artifactType"`

	// CreatedAt Timestamp when the key was created
	CreatedAt time.Time `binding:"required" json:"createdAt" yaml:"createdAt"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `binding:"required" json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable display name of the API key
	DisplayName string `binding:"required" json:"displayName" yaml:"displayName"`

	// ExpiresAt Optional expiration timestamp
	ExpiresAt *time.Time `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"`

	// Id URL-safe handle (identifier) of the API key (generated from displayName when not supplied)
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Issuer Optional identifier of the developer portal that provisioned this key
	Issuer *string `json:"issuer,omitempty" yaml:"issuer,omitempty"`

	// MaskedApiKey Masked representation of the API key for display purposes
	MaskedApiKey string `binding:"required" json:"maskedApiKey" yaml:"maskedApiKey"`

	// Status Current status of the key
	Status UserAPIKeyItemStatus `binding:"required" json:"status" yaml:"status"`

	// UpdatedAt Timestamp when the key was last updated
	UpdatedAt time.Time `binding:"required" json:"updatedAt" yaml:"updatedAt"`
}

UserAPIKeyItem defines model for UserAPIKeyItem.

type UserAPIKeyItemArtifactType

type UserAPIKeyItemArtifactType string

UserAPIKeyItemArtifactType Type of the artifact this key belongs to

const (
	UserAPIKeyItemArtifactTypeLlmProvider UserAPIKeyItemArtifactType = "LlmProvider"
	UserAPIKeyItemArtifactTypeLlmProxy    UserAPIKeyItemArtifactType = "LlmProxy"
	UserAPIKeyItemArtifactTypeRestApi     UserAPIKeyItemArtifactType = "RestApi"
)

Defines values for UserAPIKeyItemArtifactType.

type UserAPIKeyItemStatus

type UserAPIKeyItemStatus string

UserAPIKeyItemStatus Current status of the key

const (
	Active  UserAPIKeyItemStatus = "active"
	Expired UserAPIKeyItemStatus = "expired"
	Revoked UserAPIKeyItemStatus = "revoked"
)

Defines values for UserAPIKeyItemStatus.

type UserAPIKeyListResponse

type UserAPIKeyListResponse struct {
	// Count Number of API keys in current response
	Count int `binding:"required" json:"count" yaml:"count"`

	// List List of API keys
	List       []UserAPIKeyItem `binding:"required" json:"list" yaml:"list"`
	Pagination Pagination       `json:"pagination" yaml:"pagination"`
}

UserAPIKeyListResponse defines model for UserAPIKeyListResponse.

type WebBrokerAPI

type WebBrokerAPI struct {
	// AllChannels Policies applied to all channels, organized by event type.
	AllChannels *WebBrokerAllChannelPolicies `json:"allChannels,omitempty" yaml:"allChannels,omitempty"`

	// Broker Message broker configuration
	Broker struct {
		Name       string                  `json:"name" yaml:"name"`
		Properties *map[string]interface{} `json:"properties,omitempty" yaml:"properties,omitempty"`
		Type       WebBrokerAPIBrokerType  `json:"type" yaml:"type"`
	} `json:"broker" yaml:"broker"`

	// Channels Per-channel configuration keyed by channel name. Each key is a channel name and defines policies and topics for that channel.
	Channels map[string]WebBrokerChannel `json:"channels" yaml:"channels"`

	// Context Base path for the API (must start with /)
	Context   *string    `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the WebBroker API
	DisplayName string `json:"displayName" yaml:"displayName"`

	// Id Unique handle for the WebBroker API
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Kind of the WebBroker API
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty"`

	// LifeCycleStatus Lifecycle status of the WebBroker API
	LifeCycleStatus *WebBrokerAPILifeCycleStatus `json:"lifeCycleStatus,omitempty" yaml:"lifeCycleStatus,omitempty"`

	// ProjectId UUID of the project this API belongs to
	ProjectId string `json:"projectId" yaml:"projectId"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`

	// Receiver WebSocket receiver configuration
	Receiver struct {
		Name       string                   `json:"name" yaml:"name"`
		Properties *map[string]interface{}  `json:"properties,omitempty" yaml:"properties,omitempty"`
		Type       WebBrokerAPIReceiverType `json:"type" yaml:"type"`
	} `json:"receiver" yaml:"receiver"`

	// SubscriptionPlans List of subscription plan IDs
	SubscriptionPlans *[]string `json:"subscriptionPlans,omitempty" yaml:"subscriptionPlans,omitempty"`

	// Transport Supported transport protocols
	Transport *[]WebBrokerAPITransport `json:"transport,omitempty" yaml:"transport,omitempty"`
	UpdatedAt *time.Time               `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /webbroker-apis/{id}), omitted from list responses.
	UpdatedBy *string `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`

	// Version Semantic version of the WebBroker API
	Version string `json:"version" yaml:"version"`
}

WebBrokerAPI defines model for WebBrokerAPI.

type WebBrokerAPIBrokerType

type WebBrokerAPIBrokerType string

WebBrokerAPIBrokerType defines model for WebBrokerAPI.Broker.Type.

const (
	Kafka WebBrokerAPIBrokerType = "kafka"
)

Defines values for WebBrokerAPIBrokerType.

type WebBrokerAPILifeCycleStatus

type WebBrokerAPILifeCycleStatus string

WebBrokerAPILifeCycleStatus Lifecycle status of the WebBroker API

const (
	WebBrokerAPILifeCycleStatusCREATED    WebBrokerAPILifeCycleStatus = "CREATED"
	WebBrokerAPILifeCycleStatusDEPRECATED WebBrokerAPILifeCycleStatus = "DEPRECATED"
	WebBrokerAPILifeCycleStatusPUBLISHED  WebBrokerAPILifeCycleStatus = "PUBLISHED"
	WebBrokerAPILifeCycleStatusRETIRED    WebBrokerAPILifeCycleStatus = "RETIRED"
)

Defines values for WebBrokerAPILifeCycleStatus.

type WebBrokerAPIListItem

type WebBrokerAPIListItem struct {
	Context   *string    `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable name for the WebBroker API
	DisplayName     string                               `json:"displayName" yaml:"displayName"`
	Id              *string                              `json:"id,omitempty" yaml:"id,omitempty"`
	LifeCycleStatus *WebBrokerAPIListItemLifeCycleStatus `json:"lifeCycleStatus,omitempty" yaml:"lifeCycleStatus,omitempty"`
	ProjectId       *string                              `json:"projectId,omitempty" yaml:"projectId,omitempty"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly  *bool      `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version   *string    `json:"version,omitempty" yaml:"version,omitempty"`
}

WebBrokerAPIListItem defines model for WebBrokerAPIListItem.

type WebBrokerAPIListItemLifeCycleStatus

type WebBrokerAPIListItemLifeCycleStatus string

WebBrokerAPIListItemLifeCycleStatus defines model for WebBrokerAPIListItem.LifeCycleStatus.

const (
	WebBrokerAPIListItemLifeCycleStatusCREATED    WebBrokerAPIListItemLifeCycleStatus = "CREATED"
	WebBrokerAPIListItemLifeCycleStatusDEPRECATED WebBrokerAPIListItemLifeCycleStatus = "DEPRECATED"
	WebBrokerAPIListItemLifeCycleStatusPUBLISHED  WebBrokerAPIListItemLifeCycleStatus = "PUBLISHED"
	WebBrokerAPIListItemLifeCycleStatusRETIRED    WebBrokerAPIListItemLifeCycleStatus = "RETIRED"
)

Defines values for WebBrokerAPIListItemLifeCycleStatus.

type WebBrokerAPIListResponse

type WebBrokerAPIListResponse struct {
	Count      int                    `json:"count" yaml:"count"`
	List       []WebBrokerAPIListItem `json:"list" yaml:"list"`
	Pagination Pagination             `json:"pagination" yaml:"pagination"`
}

WebBrokerAPIListResponse defines model for WebBrokerAPIListResponse.

type WebBrokerAPIReceiverType

type WebBrokerAPIReceiverType string

WebBrokerAPIReceiverType defines model for WebBrokerAPI.Receiver.Type.

const (
	Websocket WebBrokerAPIReceiverType = "websocket"
)

Defines values for WebBrokerAPIReceiverType.

type WebBrokerAPITransport

type WebBrokerAPITransport string

WebBrokerAPITransport defines model for WebBrokerAPI.Transport.

const (
	WebBrokerAPITransportHttp  WebBrokerAPITransport = "http"
	WebBrokerAPITransportHttps WebBrokerAPITransport = "https"
)

Defines values for WebBrokerAPITransport.

type WebBrokerAllChannelPolicies

type WebBrokerAllChannelPolicies struct {
	// OnConnectionInit Policies for a single event type.
	OnConnectionInit *WebBrokerEventPolicies `json:"on_connection_init,omitempty" yaml:"on_connection_init,omitempty"`

	// OnConsume Policies for a single event type.
	OnConsume *WebBrokerEventPolicies `json:"on_consume,omitempty" yaml:"on_consume,omitempty"`

	// OnProduce Policies for a single event type.
	OnProduce *WebBrokerEventPolicies `json:"on_produce,omitempty" yaml:"on_produce,omitempty"`
}

WebBrokerAllChannelPolicies Policies applied to all channels, organized by event type.

type WebBrokerChannel

type WebBrokerChannel struct {
	// ConsumeFrom Kafka topic to consume messages from
	ConsumeFrom *struct {
		Topic *string `json:"topic,omitempty" yaml:"topic,omitempty"`
	} `json:"consumeFrom,omitempty" yaml:"consumeFrom,omitempty"`

	// OnConnectionInit Policies for a single event type.
	OnConnectionInit *WebBrokerEventPolicies `json:"on_connection_init,omitempty" yaml:"on_connection_init,omitempty"`

	// OnConsume Policies for a single event type.
	OnConsume *WebBrokerEventPolicies `json:"on_consume,omitempty" yaml:"on_consume,omitempty"`

	// OnProduce Policies for a single event type.
	OnProduce *WebBrokerEventPolicies `json:"on_produce,omitempty" yaml:"on_produce,omitempty"`

	// ProduceTo Kafka topic to produce messages to
	ProduceTo *struct {
		Topic *string `json:"topic,omitempty" yaml:"topic,omitempty"`
	} `json:"produceTo,omitempty" yaml:"produceTo,omitempty"`
}

WebBrokerChannel A single channel definition with topic mappings and optional per-channel policy overrides.

type WebBrokerEventPolicies

type WebBrokerEventPolicies struct {
	// Policies List of policies applied for this event type.
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`
}

WebBrokerEventPolicies Policies for a single event type.

type WebSubAPI

type WebSubAPI struct {
	// AllChannels Policies applied to all channels, organized by event type.
	AllChannels *WebSubAllChannelPolicies `json:"allChannels,omitempty" yaml:"allChannels,omitempty"`

	// Channels Per-channel configuration keyed by channel name. Each key is a channel name and defines policies applied only to that channel.
	Channels map[string]WebSubChannel `json:"channels" yaml:"channels"`

	// Context Base path for the API (must start with /)
	Context   *string    `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy   *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable name for the WebSub API
	DisplayName string `json:"displayName" yaml:"displayName"`

	// Id Unique handle for the WebSub API
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Kind Kind of the WebSub API
	Kind *string `json:"kind,omitempty" yaml:"kind,omitempty"`

	// LifeCycleStatus Lifecycle status of the WebSub API
	LifeCycleStatus *WebSubAPILifeCycleStatus `json:"lifeCycleStatus,omitempty" yaml:"lifeCycleStatus,omitempty"`

	// ProjectId UUID of the project this API belongs to
	ProjectId string `json:"projectId" yaml:"projectId"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly *bool `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`

	// SubscriptionPlans List of subscription plan IDs
	SubscriptionPlans *[]string `json:"subscriptionPlans,omitempty" yaml:"subscriptionPlans,omitempty"`

	// Transport Supported transport protocols
	Transport *[]WebSubAPITransport `json:"transport,omitempty" yaml:"transport,omitempty"`
	UpdatedAt *time.Time            `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`

	// UpdatedBy User identifier of the user who last updated this resource. Only present in the detail response (GET /websub-apis/{id}), omitted from list responses.
	UpdatedBy *string  `json:"updatedBy,omitempty" yaml:"updatedBy,omitempty"`
	Upstream  Upstream `json:"upstream" yaml:"upstream"`

	// Version Semantic version of the WebSub API
	Version string `json:"version" yaml:"version"`
}

WebSubAPI defines model for WebSubAPI.

type WebSubAPIHmacSecretCreationResponse

type WebSubAPIHmacSecretCreationResponse struct {
	// Message Human-readable confirmation message.
	Message string `json:"message" yaml:"message"`

	// Secret The plaintext HMAC secret value. This is returned **once** at creation/regeneration time
	// and is never stored unencrypted — save it immediately.
	Secret        string                   `json:"secret" yaml:"secret"`
	WebhookSecret *WebSubAPIHmacSecretInfo `json:"webhookSecret,omitempty" yaml:"webhookSecret,omitempty"`
}

WebSubAPIHmacSecretCreationResponse defines model for WebSubAPIHmacSecretCreationResponse.

type WebSubAPIHmacSecretInfo

type WebSubAPIHmacSecretInfo struct {
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable name for the HMAC secret
	DisplayName string `json:"displayName" yaml:"displayName"`

	// Name URL-safe slug derived from the display name.
	Name string `json:"name" yaml:"name"`

	// Status Status of the HMAC secret.
	Status    string    `json:"status" yaml:"status"`
	UpdatedAt time.Time `json:"updatedAt" yaml:"updatedAt"`

	// Uuid Unique identifier for the HMAC secret.
	Uuid string `json:"uuid" yaml:"uuid"`
}

WebSubAPIHmacSecretInfo defines model for WebSubAPIHmacSecretInfo.

type WebSubAPIHmacSecretListResponse

type WebSubAPIHmacSecretListResponse struct {
	Secrets []WebSubAPIHmacSecretInfo `json:"secrets" yaml:"secrets"`
}

WebSubAPIHmacSecretListResponse defines model for WebSubAPIHmacSecretListResponse.

type WebSubAPIHmacSecretRegenerateRequest

type WebSubAPIHmacSecretRegenerateRequest struct {
	// Secret Optional. If provided, this value is used as the new HMAC secret instead of auto-generating one.
	// Must be at least 32 characters long.
	Secret *string `json:"secret,omitempty" yaml:"secret,omitempty"`
}

WebSubAPIHmacSecretRegenerateRequest defines model for WebSubAPIHmacSecretRegenerateRequest.

type WebSubAPIHmacSecretRequest

type WebSubAPIHmacSecretRequest struct {
	// DisplayName Human-readable label for the HMAC secret (used to derive the URL-safe name/slug).
	DisplayName string `json:"displayName" yaml:"displayName"`

	// Secret Optional. If provided, this value is used as the HMAC secret instead of auto-generating one.
	// Must be at least 32 characters long.
	Secret *string `json:"secret,omitempty" yaml:"secret,omitempty"`
}

WebSubAPIHmacSecretRequest defines model for WebSubAPIHmacSecretRequest.

type WebSubAPILifeCycleStatus

type WebSubAPILifeCycleStatus string

WebSubAPILifeCycleStatus Lifecycle status of the WebSub API

const (
	WebSubAPILifeCycleStatusCREATED    WebSubAPILifeCycleStatus = "CREATED"
	WebSubAPILifeCycleStatusDEPRECATED WebSubAPILifeCycleStatus = "DEPRECATED"
	WebSubAPILifeCycleStatusPUBLISHED  WebSubAPILifeCycleStatus = "PUBLISHED"
	WebSubAPILifeCycleStatusRETIRED    WebSubAPILifeCycleStatus = "RETIRED"
)

Defines values for WebSubAPILifeCycleStatus.

type WebSubAPIListItem

type WebSubAPIListItem struct {
	Context   *string    `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// CreatedBy User identifier of the user who created this resource
	CreatedBy *string `json:"createdBy,omitempty" yaml:"createdBy,omitempty"`

	// DisplayName Human-readable name for the WebSub API
	DisplayName     string                            `json:"displayName" yaml:"displayName"`
	Id              *string                           `json:"id,omitempty" yaml:"id,omitempty"`
	LifeCycleStatus *WebSubAPIListItemLifeCycleStatus `json:"lifeCycleStatus,omitempty" yaml:"lifeCycleStatus,omitempty"`
	ProjectId       *string                           `json:"projectId,omitempty" yaml:"projectId,omitempty"`

	// ReadOnly True when the artifact originated from a data-plane gateway (origin gateway_api) and is read-only in the control plane.
	ReadOnly  *bool      `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version   *string    `json:"version,omitempty" yaml:"version,omitempty"`
}

WebSubAPIListItem defines model for WebSubAPIListItem.

type WebSubAPIListItemLifeCycleStatus

type WebSubAPIListItemLifeCycleStatus string

WebSubAPIListItemLifeCycleStatus defines model for WebSubAPIListItem.LifeCycleStatus.

const (
	WebSubAPIListItemLifeCycleStatusCREATED    WebSubAPIListItemLifeCycleStatus = "CREATED"
	WebSubAPIListItemLifeCycleStatusDEPRECATED WebSubAPIListItemLifeCycleStatus = "DEPRECATED"
	WebSubAPIListItemLifeCycleStatusPUBLISHED  WebSubAPIListItemLifeCycleStatus = "PUBLISHED"
	WebSubAPIListItemLifeCycleStatusRETIRED    WebSubAPIListItemLifeCycleStatus = "RETIRED"
)

Defines values for WebSubAPIListItemLifeCycleStatus.

type WebSubAPIListResponse

type WebSubAPIListResponse struct {
	Count      int                 `json:"count" yaml:"count"`
	List       []WebSubAPIListItem `json:"list" yaml:"list"`
	Pagination Pagination          `json:"pagination" yaml:"pagination"`
}

WebSubAPIListResponse defines model for WebSubAPIListResponse.

type WebSubAPITransport

type WebSubAPITransport string

WebSubAPITransport defines model for WebSubAPI.Transport.

const (
	WebSubAPITransportHttp  WebSubAPITransport = "http"
	WebSubAPITransportHttps WebSubAPITransport = "https"
)

Defines values for WebSubAPITransport.

type WebSubAllChannelPolicies

type WebSubAllChannelPolicies struct {
	// OnMessageDelivery Policies for a single event type.
	OnMessageDelivery *WebSubEventPolicies `json:"on_message_delivery,omitempty" yaml:"on_message_delivery,omitempty"`

	// OnMessageReceived Policies for a single event type.
	OnMessageReceived *WebSubEventPolicies `json:"on_message_received,omitempty" yaml:"on_message_received,omitempty"`

	// OnSubscription Policies for a single event type.
	OnSubscription *WebSubEventPolicies `json:"on_subscription,omitempty" yaml:"on_subscription,omitempty"`

	// OnUnsubscription Policies for a single event type.
	OnUnsubscription *WebSubEventPolicies `json:"on_unsubscription,omitempty" yaml:"on_unsubscription,omitempty"`
}

WebSubAllChannelPolicies Policies applied to all channels, organized by event type.

type WebSubChannel

type WebSubChannel struct {
	// OnMessageDelivery Policies for a single event type.
	OnMessageDelivery *WebSubEventPolicies `json:"on_message_delivery,omitempty" yaml:"on_message_delivery,omitempty"`

	// OnMessageReceived Policies for a single event type.
	OnMessageReceived *WebSubEventPolicies `json:"on_message_received,omitempty" yaml:"on_message_received,omitempty"`

	// OnSubscription Policies for a single event type.
	OnSubscription *WebSubEventPolicies `json:"on_subscription,omitempty" yaml:"on_subscription,omitempty"`

	// OnUnsubscription Policies for a single event type.
	OnUnsubscription *WebSubEventPolicies `json:"on_unsubscription,omitempty" yaml:"on_unsubscription,omitempty"`
}

WebSubChannel A single channel definition with optional per-channel policy overrides.

type WebSubEventPolicies

type WebSubEventPolicies struct {
	// Policies List of policies applied for this event type.
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`
}

WebSubEventPolicies Policies for a single event type.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL