Skip to content

Principles

Use the URNs within the principles section to define their requirements. Since any IRI will work, you can use other URNs not listed here or URIs to a reference.

Robustness Principle

Also known as Postel's Law.

urn:apidesign.systems:principle:robustness

Minimal Surface Principle

urn:apidesign.systems:principle:minimal-surface

From Adidas API guidelines:

Every API design MUST aim for a minimal API surface without sacrificing on product requirements. API design SHOULD NOT include unnecessary resources, relations, actions or data. API design SHOULD NOT add functionality until deemed necessary (YAGNI principle).

Read more about YAGNI.

Richardson Maturity Model (RMM)

  • urn:apidesign.systems:principle:rmm:level0
  • urn:apidesign.systems:principle:rmm:level1
  • urn:apidesign.systems:principle:rmm:level2
  • urn:apidesign.systems:principle:rmm:level3

Read more about the RMM and also on Martin Fowler's site.

Web API Design Maturity Model (WADM)

Slides

  • urn:apidesign.systems:principle:wadm:level0
  • urn:apidesign.systems:principle:wadm:level1
  • urn:apidesign.systems:principle:wadm:level2
  • urn:apidesign.systems:principle:wadm:level3