A configuration language is a formal, usually declarative notation for describing how software and infrastructure should be set up — covering formats like YAML, TOML, JSON, and HCL — favoring readability and predictability over general-purpose programming.
Configuration Language
Configuration Language refers to the formal, usually declarative notations used to describe how software and infrastructure should be set up, rather than to compute a result. Formats like YAML, TOML, JSON, and HCL let people state the desired end state — ports, routes, resources, policies — in a way that is both human-readable and machine-parseable. They are a kind of domain-specific language, trading the power of a general-purpose language for predictability and safety.
- Declarative by design - You describe the desired state, and a tool reconciles the system to match it.
- Human- and machine-readable - Readable enough for a person to review in a pull request, structured enough for tooling to validate.
- Bounded expressiveness - Deliberately less powerful than a programming language, which makes configuration easier to reason about and diff.
- Schema-checkable - Well-formed config can be validated against a schema before it is ever applied.
Configuration languages are how API infrastructure actually gets operated — gateways, CI/CD pipelines, and deployment manifests are all declared in them, and API definitions themselves live in YAML and JSON. The same declarative, schema-checkable shape is what makes an OpenAPI document reviewable and governable in a pipeline. That reviewability matters even more as agents start generating and modifying configuration, because bounded, validatable notation is far safer to hand to a machine than arbitrary code.