The REDCAMEL Approach for API Design
Explore the REDCAMEL approach for API design that guides you through defining requirements, making design decisions, modeling endpoints, and evaluating non-functional needs including latency. Learn to apply this framework to build clear and efficient APIs tailored to product requirements and real-world scenarios.
Designing an API requires a thorough analysis of user requirements and the overall system workflow. No universal algorithm produces an optimal API. The REDCAMEL approach provides a structured framework for this process, broken into four phases.
Identifying the requirements allows us to make different design decisions, such as architectural styles, data formats, protocols and their versions, and so on. In this course, we devise an approach called
Requirements (RE)
The requirements phase identifies functional and non-functional requirements, prerequisite concepts, and the API’s scope. It includes:
Introduction or motivation: Briefly defines the problem and what motivates it.
Functional requirements: Identifies essential API functionality addressed in the API model phase.
Non-functional requirements: Captures requirements that are crucial for smooth API operation.
Prerequisites: Lists concepts learners should understand before proceeding.
Chapter structure: Provides an overview of subsequent lessons.
Design considerations (DC)
With requirements established, the design-considerations phase makes technical decisions about service interactions and client communication:
Design overview and workflow: Presents the system overview and workflow for the target API.
...