# Chatty Interface

> A defect in which one operation needs many small remote calls.

Record: `architecture:chatty-interface`
Kind: anti-pattern
Layer: [Enforcement Core](https://banes-lab.com/records/layer/enforcement-core.md)
Severity: discouraged
Scope: modularity, contract_compatibility
Canonical: https://banes-lab.com/ontology#architecture-chatty-interface

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Synchronous Chain Trap](https://banes-lab.com/records/architecture/synchronous-chain-trap.md) and before [N Plus One Query](https://banes-lab.com/records/architecture/n-plus-one-query.md).

## Repair

- Refactored by: coarse_grained_endpoint, batch_api, query_projection, data_loader
- Detected by: N_plus_1_API_calls, many_calls_per_screen, loop_contains_remote_call
- Violated by: Require many small remote calls to complete one user or business operation.
- Measured by: remote calls per user operation
- Enforced by: API review, performance tests that bound call counts

## Severity

- [discouraged](https://banes-lab.com/records/vocabulary/severity-discouraged.md)

## Category

- [Anti-patterns](https://banes-lab.com/records/architecture-category/anti-patterns.md)

## Force

- [Contract compatibility](https://banes-lab.com/records/force/contract-compatibility.md)
- [Modularity](https://banes-lab.com/records/force/modularity.md)

## Negated by

- [Uniform Interface](https://banes-lab.com/records/architecture/uniform-interface.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/principles/architecture-category-contracts-interfaces-compatibility.md)
- [Contracts / Interfaces / Compatibility](https://banes-lab.com/ontology/lexicon/lexicon-category-contracts-interfaces-compatibility.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The forces](https://banes-lab.com/ontology/schema/the-forces.md)
