Skip to main content

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

FieldTypeDescription
expose_metricsboolean (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.
versionstring (nullable)Version of the configuration (e.g., "0.1.0").
descriptionstring (nullable)Human-readable description of what this configuration does.
namestringRequired. Name of configuration
docsboolean (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.
interfacesMap<string, Interface>Required. Map of interface definitions. Keys are interface names (used as routes), values contain the interface configuration with actions and settings.
globalGlobalConfig (nullable)Global configuration shared across all interfaces including variables, secrets, databases, templates, and HTTP defaults.
networkNetworkPolicy (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).