# Permissive APIs

> The degree to which an API accepts loose or lenient input, in tension with strict preconditions.

Record: `lexicon:permissive-apis`
Kind: quality-attribute
Layer: [Contracts Core](https://banes-lab.com/records/layer/contracts-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-permissive-apis

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Interface Overuse](https://banes-lab.com/records/lexicon/interface-overuse.md) and before [Protocol Optimization](https://banes-lab.com/records/lexicon/protocol-optimization.md).

## Category

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/records/lexicon-category/contracts-interfaces-compatibility.md)

## In tension with

- [Preconditions](https://banes-lab.com/records/architecture/preconditions.md)
- [Preconditions / Permissive APIs](https://banes-lab.com/records/tension/permissive-apis-preconditions.md)

## Linked from

- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
