API Configuration Catalog
This document serves as a comprehensive guide, detailing all the parameters relevant to the apk-conf file within WSO2 APK
Field | Type | Description |
---|---|---|
id | string | UUID of the API |
name | string | Name of the API (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 |
defaultVersion | boolean | Is this the default version of the API |
endpointConfigurations | object | Configuration for different endpoints of the API |
operations | array | Operations supported by the API |
apiPolicies | object | Policies applied to API-level operations |
rateLimit | object | Rate limiting configuration for the API |
authentication | array | Authentication types for the API |
additionalProperties | array | Map of custom properties of the API |
corsConfiguration | object | Cross-Origin Resource Sharing (CORS) configuration for the API |
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 |
EndpointConfigurations | object | Endpoint Configurations |
EndpointConfiguration | object | Endpoint Configuration |
Certificate | object | Certificate information for secure communication |
EndpointSecurity | object | Security configuration for the API endpoint |
BasicEndpointSecurity | object | Basic Authentication security settings for the API endpoint |
Resiliency | object | Endpoint resiliency related configurations of the API |
CircuitBreaker | object | Circuit Breaker configuration for the API endpoint |
Timeout | object | Timeout settings for the API endpoint |
RetryPolicy | object | Retry Policy settings for the API endpoint |
APKOperations | object | API Operation |
K8sService | object | Kubernetes Service information for the API endpoint |
InterceptorProperties | object | Interceptor Parameters |
BackendJWTProperties | object | Backend JWT Parameters |
CustomClaims | object | Custom Claims for JWT authentication |
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 | $ref | Reference to endpoint configurations. | |
operationPolicies | $ref | Reference to operation policies. | |
rateLimit | $ref | Reference to rate limiting configuration. | |
scopes | array of strings | An array of scope strings. | |
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". | |
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. |
Notes:
- The table above represents the JSON schema fields and their descriptions.
- Additional details about each field and schema can be found in the JSON schema itself.
- APK Config Language Support Visual Studio Code (VS Code) extension can be used to validate the apk-conf file.