Definition: An API contract is a non-functional requirement that specifies the rules and guidelines for how an application programming interface (API) should behave. It defines the expected behavior of the API, including the input and output formats, error handling, security, and performance. The API contract ensures that the API is consistent and predictable, making it easier for developers to use and integrate with other systems. It also helps to ensure that the API is reliable, scalable, and maintainable over time.
Source: TOGAF
Source reference: https://pubs.opengroup.org/architecture/togaf9-doc/arch/chap03.html
Additional information: According to the TOGAF specification, an API contract is a non-functional requirement that defines the terms and conditions for using an application programming interface (API). It specifies the rules and guidelines that must be followed by both the API provider and the API consumer to ensure that the API functions as intended and meets the required quality attributes.
The API contract includes details such as the API's input and output parameters, error handling procedures, security requirements, performance expectations, and other technical specifications. It also outlines the expected behavior of the API under different scenarios and usage patterns.
The API contract is a critical component of the API design process, as it helps to ensure that the API is reliable, scalable, and maintainable. It also helps to minimize the risk of errors and inconsistencies in the API implementation, which can lead to security vulnerabilities, performance issues, and other problems.
To create an effective API contract, it is important to involve all stakeholders, including the API provider, API consumer, and any other relevant parties. The contract should be clear, concise, and easy to understand, and should be regularly reviewed and updated as needed to reflect changes in the API or its usage patterns.
Example: One example of an IT non-functional requirement for an API contract could be that the API must have a clearly defined and documented interface that specifies the expected inputs, outputs, and behavior of the API. This interface should be consistent and stable over time, so that clients can rely on it and build their own applications around it. Additionally, the API should be designed to be scalable and performant, so that it can handle large volumes of requests and respond quickly to user actions. Finally, the API should be secure and protected against unauthorized access, with appropriate authentication and authorization mechanisms in place to ensure that only authorized users can access the API and its data.
LOST view: Digital Solution Non-Functional Requirements Catalogue view
Identifier: http://data.europa.eu/dr8/egovera/APIContractRequirement
EIRA traceability: eira:DigitalSolutionNonFunctionalRequirementRequirement
ABB name: egovera:APIContractRequirement
EIRA concept: eira:ArchitectureBuildingBlock
Last modification: 2023-05-16
dct:identifier: http://data.europa.eu/dr8/egovera/APIcontractRequirement
dct:title: API contract Non-Functional Requirement
|
|
dct:modified | 2024-01-28 |
dct:identifier | http://data.europa.eu/dr8/egovera/APIcontractRequirement |
dct:title | API contract Non-Functional Requirement |
skos:example | One example of an IT non-functional requirement for an API contract could be that the API must have a clearly defined and documented interface that specifies the expected inputs, outputs, and behavior of the API. This interface should be consistent and stable over time, so that clients can rely on it and build their own applications around it. Additionally, the API should be designed to be scalable and performant, so that it can handle large volumes of requests and respond quickly to user actions. Finally, the API should be secure and protected against unauthorized access, with appropriate authentication and authorization mechanisms in place to ensure that only authorized users can access the API and its data. |
skos:definition | An API contract is a non-functional requirement that specifies the rules and guidelines for how an application programming interface (API) should behave. It defines the expected behavior of the API, including the input and output formats, error handling, security, and performance. The API contract ensures that the API is consistent and predictable, making it easier for developers to use and integrate with other systems. It also helps to ensure that the API is reliable, scalable, and maintainable over time. |
eira:concept | eira:ArchitectureBuildingBlock |
eira:definitionSource | TOGAF |
eira:definitionSourceReference | https://pubs.opengroup.org/architecture/togaf9-doc/arch/chap03.html |
skos:note | According to the TOGAF specification, an API contract is a non-functional requirement that defines the terms and conditions for using an application programming interface (API). It specifies the rules and guidelines that must be followed by both the API provider and the API consumer to ensure that the API functions as intended and meets the required quality attributes.
The API contract includes details such as the API's input and output parameters, error handling procedures, security requirements, performance expectations, and other technical specifications. It also outlines the expected behavior of the API under different scenarios and usage patterns.
The API contract is a critical component of the API design process, as it helps to ensure that the API is reliable, scalable, and maintainable. It also helps to minimize the risk of errors and inconsistencies in the API implementation, which can lead to security vulnerabilities, performance issues, and other problems.
To create an effective API contract, it is important to involve all stakeholders, including the API provider, API consumer, and any other relevant parties. The contract should be clear, concise, and easy to understand, and should be regularly reviewed and updated as needed to reflect changes in the API or its usage patterns. |
eira:PURI | http://data.europa.eu/dr8/APIContractRequirement |
dct:type | eira:APIContractRequirement |
eira:view | Digital Solution Non-Functional Requirements Catalogue view |
eira:eifLayer | N/A |
skos:broader | http://data.europa.eu/dr8/DigitalSolutionNonFunctionalRequirementRequirement |