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.