Definition
An Application Programming Interface (API) is a set of rules, protocols, and tools that allows different software applications to communicate with each other. It acts as an intermediary layer that allows the transfer of data between different systems, services, and libraries. APIs enable organisations to open their application data and functionality to internal branches, business partners, third-party developers, and other key internal and external stakeholders.
Purpose
API capability is realised through:
- The use and deployment of system-specific APIs provided by technology platform suppliers to allow direct system interface and system-to-system interoperability.
- The use of API gateways, both proprietary and open source, that allow the connection of single or multiple APIs in addition to providing routing, monitoring, and security and access control functions.
- The development and release of system-specific APIs by platform owners, typically Commonwealth entities responsible for platform development and maintenance. Supply of theses APIs
Objective
The objectives of this Australian Government Architecture (AGA) content are to:
- enable interoperability between Commonwealth entities
- facilitate sharing of non-sensitive data, where suitable and in accordance with Information Asset Management guidelines, to individuals and organisations who might use it to the benefit of the Commonwealth
- consolidate and standardise API solutions with aligned functions to increase efficiency and reduce the complexity of government service delivery
- establish and implement consistent standards or designs where entity solutions require API use
- ensure that new solutions that require the use of APIs draw efficiency from preceding investments, implementations, and learnings
- recognise and protect the Commonwealth’s investment in the development of APIs as a valuable ICT asset
- promote decoupling of business systems and processes to ensure agility when upgrading or modifying an entity’s ICT environment
- encourage adoption, where suitable, of low-code to no-code solutions that allow the development of APIs through a human centred interface rather than programmatically
- maximise the potential for reuse across government when implementing new systems that need APIs
- reduce implementation risk through the reuse of proven designs within government
- leverage whole-of-government (WofG) purchasing arrangements for the supply of technology supplier-specific APIs.
Whole-of-Government Applicability
API solutions contribute to the seamless delivery of government services by leveraging:
- a cross-agency shared API services portal that provides API development standards (api.gov.au)
- reuse of API Designs identified on the AGA website
- replication of proven API development approaches
- low-code and no-code opportunities to assist APS skills development, removing a layer of design development complexity and utilising available analyst expertise
- mobility of APS employees to support knowledge sharing and multi-skilling
- reuse of commercial engagements for API supply, including WofG procurement arrangements
- reuse of lessons learned from preceding API development and release activities
- large volumes of non-sensitive data held by Commonwealth entities that may be analysed by interested external individuals or organisations to provide benefit to the community.
Policy Elements
-
Utilise api.gov.au as a central resource
api.gov.au is maintained for whole-of-government API development and distribution. It includes templates and provides visibility of the new API releases. The site provides guidance on what is expected as the minimum standard for API development and maintains a repository on which APIs should be published where it is secure to do so.
-
Develop a comprehensive understanding of requirements
Analysis and assessment of specific needs, and determination of both functional and non-functional requirements for an API solution, ensures selected solutions are fit-for purpose as well as traceable in their coverage of entity needs.
-
Understand the evolving API technology environment
Maintain an awareness of current and emerging API development best practices to inform decision making on the development and design of API approaches.
-
Lower development and maintenance complexity
Use of a low-code/no-code development approach over customised APIs can provide numerous benefits, where it is an option to do so.
-
Determine an API release, fair use, and distribution strategy
API owners have discretion over how, and to whom, they release APIs that facilitate interfacing with their systems. A transparent approach should be taken regarding availability for release, conditions of use and the distribution mechanism.
-
Adhere to reuse principles
Entities must prioritise the reuse of existing APIs, patterns, or knowledge. Where it is necessary to design new solutions, entities must develop them with a focus on future reuse. Focus on continual improvement of processes, features, data, security, technology, skills, and cost, to maximise functionality, reduce risk, and minimise accumulation of technical debt.