Configuration structure
AirPipe integration configuration. Defines the structure for API configurations with interfaces, actions, and global settings.
Example
name: my-api-config # Required: Name of the configuration
version: 0.1.0 # Optional: Version string
description: My API config # Optional: Description
global: # Optional: Global settings
variables: # Global variables accessible in all interfaces
api_base_url: https://api.example.com
secrets: # Global secrets (values are encrypted)
my_secret:
value: secret_value
databases: # Global database connections
main_db:
connection_string: postgres://user:pass@localhost/db
interfaces: # Required: Map of interface definitions
myEndpoint: # Interface name (if http used as route, unless route itself is defined)
method: POST # HTTP method
actions: # Actions to execute
- name: ValidateInput
input: a|body|
Top-level fields
| Field | Type | Description |
|---|---|---|
expose_metrics | boolean (nullable) | Expose a Prometheus /metrics endpoint for this config (self-hosted modes only). When true, interface and action-level metrics are emitted with {config, interface} labels. |
version | string (nullable) | Version of the configuration (e.g., "0.1.0"). |
description | string (nullable) | Human-readable description of what this configuration does. |
name | string | Required. Name of configuration |
docs | boolean (nullable) | Enable or disable auto-generated API documentation for this config's HTTP interfaces. Defaults to enabled (omit or set true). Set to false to exclude from docs. |
interfaces | Map<string, Interface> | Required. Map of interface definitions. Keys are interface names (used as routes), values contain the interface configuration with actions and settings. |
global | GlobalConfig (nullable) | Global configuration shared across all interfaces including variables, secrets, databases, templates, and HTTP defaults. |
network | NetworkPolicy (nullable) | Config-wide network access-control policy (IP/geo/ASN/rate-limit). Applies to every interface as a baseline; each interface inherits and tightens it via its own network block… |
Each section below documents a named type referenced from this structure. This reference is generated from the live config schema (https://api.airpipe.io/config/schema).