APK Conf Catalog

This document serves as a comprehensive guide, detailing all the parameters relevant to the apk-conf file within WSO2 APK

Field Name Type Description
id string UUID of the API (readOnly: true)
name string (1-60 characters, no special characters)
basePath string Base Path of the API (1-256 characters)
version string Version of the API (1-30 characters, no special characters)
type string Type of the API (REST, GraphQL, GRPC)
definitionPath string Endpoint to expose API definition file.
defaultVersion boolean Is this the default version of the API?
subscriptionValidation boolean Is subscription validation enabled for the API?
environment string Environment of the API.
endpointConfigurations EndpointConfigurations Configurations for the API endpoints.
aiProvider AIProvider AI Provider for the API.
operations array Operations supported by the API
apiPolicies APIOperationPolicies Policies applied to the API level.
rateLimit RateLimit Configuration for rate limiting of API calls.
authentication array Authentication types for the API
additionalProperties array Map of custom properties of the API.
corsConfiguration CORSConfiguration Configuration for CORS (Cross-Origin Resource Sharing).

schemas:

Schema Type Description
Authentication object Authentication settings for the API
CORSConfiguration object CORS configuration for the API
APIOperationPolicies object Policies applied to API-level operations
APKOperationPolicy object API Operation Policy
RateLimit object API Rate Limit Details
AIProvider object Configuration for AI provider integrations
EndpointConfigurations object Configuration of API endpoints
Certificate object SSL/TLS certificate details
BasicEndpointSecurity object Basic authentication settings for endpoints
APIKeyEndpointSecurity object API key settings for endpoint security
Resiliency object Resiliency configuration for API
Timeout object Timeout settings for API calls
RetryPolicy object Retry policy for failed API calls
APKOperations object List of operations provided by the API
K8sService object Kubernetes service configuration
InterceptorPolicy object Policy for request/response interception
BackendJWTPolicy object Configuration for backend JWT generation
HeaderModifierPolicy object Policy for modifying request headers
RequestMirror object Configuration for mirroring requests
RequestRedirect object Configuration for redirecting requests
Object Property Type Description
Resiliency timeout Timeout Defines timeout-related configurations.
retryPolicy RetryPolicy Defines retry-related configurations.
circuitBreaker CircuitBreaker Defines circuit breaker-related configurations.
CircuitBreaker maxConnectionPools integer The maximum number of connection pools.
maxConnections integer The maximum number of connections.
maxPendingRequests integer The maximum number of pending requests.
maxRequests integer The maximum number of requests.
maxRetries integer The maximum number of retries.
Timeout downstreamRequestIdleTimeout integer The idle timeout for downstream requests in milliseconds.
upstreamResponseTimeout integer The response timeout for upstream requests in milliseconds.
RetryPolicy count integer The number of retry attempts.
baseIntervalMillis integer The base interval between retry attempts in milliseconds.
statusCodes array of integers An array of HTTP status codes to trigger retries.
APKOperations target string The target of the operation, e.g., "/order/
verb string The HTTP verb of the operation, e.g., "POST".
secured boolean Authentication mode for the resource (true/false).
endpointConfigurations EndpointConfigurations Configurations for the production and sandbox endpoints.
operationPolicies array of APIOperationPolicies Configurations for the operation policies.
rateLimit RateLimit Configurations for rate limiting.
scopes array of strings An array of scope strings.
RateLimit requestsPerUnit integer The number of requests allowed per specified unit of time.
unit string The unit of time for rate limiting. Values: "Hour", "Minute", "Day".
InterceptorProperties backendUrl string The URL of the backend service.
headersEnabled boolean Specifies whether headers are enabled.
bodyEnabled boolean Specifies whether the request body is enabled.
trailersEnabled boolean Specifies whether trailers are enabled.
contextEnabled boolean Specifies whether context is enabled.
tlsSecretName string The name of the secret containing TLS configuration.
tlsSecretKey string The key within the secret that holds TLS configuration.
BackendJWTProperties encoding string The encoding type.
signingAlgorithm string The signing algorithm.
header string The header.
tokenTTL integer The token time-to-live (TTL) in milliseconds.
customClaims array of CustomClaims An array of custom claims.
CustomClaims claim string The claim name.
value string The claim value.
type string The claim type.
RequestMirror target string Specifies the target to which requests should be mirrored.
RequestRedirect scheme string Defines the scheme for the redirection (e.g., "https").
hostname string The hostname for the redirect.
port integer The port for the redirect.
path string The path for the redirect.
statusCode integer The HTTP status code for the redirect.
HeaderModifier addHeaders map of string Headers to add to the request.
removeHeaders array of strings Headers to remove from the request.
setHeaders map of string Headers to set or replace in the request.
AIProvider name string Name of the AI provider.
apiVersion string The version of the AI provider.
Authentication array An array containing configurations for the authentication types.
OAuth2Authentication required enum Describes whether OAuth2 is "mandatory" or "optional".
enabled boolean Whether this type of authentication is enabled for this API or not.
authType string Type of authentication. For OAuth2, the value is "OAuth2"
sendTokenToUpstream boolean Whether to pass the token to the upstream or not.
headerEnable boolean Whether sending OAuth2 token in the header is enabled.
headerName boolean Name of the OAuth2 header.
APIKeyAuthentication required enum Describes whether APIKey authentication is "mandatory" or "optional".
enabled boolean Whether this type of authentication is enabled for this API or not.
authType string Type of authentication. For APIKey, the value is "APIKey"
sendTokenToUpstream boolean Whether to pass the token to the upstream or not.
headerEnable boolean Whether sending APIKey token in the header is enabled.
headerName boolean Name of the APIKey header.
queryParamEnable boolean Whether sending API key as a query param is enabled.
queryParamName boolean Name of the API key query param.
MTLSAuthentication required enum Describes whether mTLS authentication is "mandatory" or "optional".
authType string Type of authentication. For mTLS, the value is "mTLS"
enabled boolean Whether this type of authentication is enabled for this API or not.
certificates array of MTLSCertificates The names and keys of the config maps containing the mTLS certificates for the API
MTLSCertificates name string Name of the configmap containing the mTLS certificate.
key string The key of the mTLS certificate containing the configmap.
JWTAuthentication required enum Describes whether OAuth2 is "mandatory" or "optional".
authType string Type of authentication. For JWT, the value is "JWT"
sendTokenToUpstream boolean Whether to pass the token to the upstream or not.
enabled boolean Whether this type of authentication is enabled for this API or not.
headerEnable boolean Whether sending JWT token in the header is enabled.
headerName boolean Name of the JWT header.
queryParamEnable boolean Whether sending JWT token as a query param is enabled.
queryParamName boolean Name of the JWT query param.
audience array of string The list of audiences to be validated in the JWT.
EndpointConfigurations production EndpointConfiguration Configuration of the production endpoint.
sandbox EndpointConfiguration Configuration of the sandbox endpoint.
EndpointConfiguration endpoint string/K8sService Configuration of the endpoint.
endpointSecurity BasicEndpointSecurity/APIKeyEndpointSecurity Security configuration for the API endpoint.
certificate Certificate Certificate information for secure communication.
resiliency Resiliency Resiliency configuration for the API endpoint.
aiRatelimit AIRateLimit AI ratelimit configuration for the API endpoint.
K8sService name string The name of the Kubernetes service, e.g., "pizzashack-service".
namespace string The Kubernetes namespace where the service is deployed, e.g., "apk-platform".
port integer The port number on which the service is exposed, e.g., 8080.
protocol string The protocol used by the service, e.g., "http".
BasicEndpointSecurity secretName string The name of the secret containing the credentials for basic authentication.
userNameKey string The key within the secret that holds the username for basic authentication.
passwordKey string The key within the secret that holds the password for basic authentication.
APIKeyEndpointSecurity secretName string The name of the secret containing the certificate.
in enum The location of the API key in the request.
apiKeyNameKey string The name of key in the request.
apiKeyValueKey string The value of key in the request.
Certificate secretName string The name of the secret containing the certificate.
secretKey enum The key within the secret that holds the certificate.
AIRateLimit enabled boolean States whether the AI ratelimit is turned on or not
token TokenAIRL Token limits configuration for AI rate limiting
request RequestAIRL Request limits configuration for AI rate limiting
TokenAIRL promptLimit integer States whether the AI ratelimit is turned on or not
completionLimit integer Limit for completions within the specified unit
totalLimit integer Total limit combining prompt and completion counts
unit enum The time unit for the rate limits. Values: "Minute", "Hour" and "Day"
RequestAIRL requestLimit integer Limit for requests within the specified unit
unit enum The time unit for the rate limits. Values: "Minute", "Hour" and "Day"

Notes: