Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Configuration Language

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 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.