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
-
Understand the evolving API technology environment
The development approach and design decision should be informed by an understanding of current and emerging API development best practice.
-
Develop a comprehensive understanding of non-functional requirements and considerations
Before commencing any technology investigation, entities should analyse and assess their specific needs and determine requirements for their API solution.
-
Utilise api.gov.au as a central resource
api.gov.au is maintained for Whole of Government (WofG) API development and distribution, providing guidance, related templates, and visibility of new API releases. The site provides guidance on what is already expected as the minimum standard for API development and maintains a repository that should be published where suitable.
-
Adhere to reuse principles
Analyse the current API technology environment against your requirements, identifying gaps and opportunities for reuse. Ensure the ongoing viability of API solutions through continual improvement of processes, and features, data, security, technology, skills, and cost.
-
Lower development and maintenance complexity of API solutions
Low-code/no-code documented process and business rules logic that may be utilised across the development of multiple API channels and interfaces.
-
Determine an appropriate 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 to availability for release, conditions of use and the distribution mechanism, is encouraged.
-
Ensure the sustainability of API solutions
Continual improvement of processes, and features, data, security, technology, skills, and cost should remain a focus to maximise functionality, reduce risk, and minimise accumulation of technical debt.