What is an API?
Application Programming Interfaces (APIs) are documented interfaces through which software, applications, or systems can exchange data or functionalities. The API provides data or a functionality in a machine-readable, documented format, making it possible for some other software, application or system to use it programmatically. For example, a route guide application can use a public transport API to receive information on when a specific bus will arrive at the stop and display this information to its user.
In this operating model, the terms API, application programming interface and technical interface referred to in the Public Information Management Act mean the same thing. It should be noted that rather than referring to an interface intended for end users, APIs are always used by some other software, application, application component or system.
Why use APIs for data sharing?
Sharing data through APIs is in many ways advisable and useful, especially if the volume of the data is very large and the dataset is updated frequently or in real time, in other words comprises dynamic data. This includes train timetables or weather data. However, it is worth remembering that file sharing is also useful especially for those persons and parties who are unable to use APIs. File distribution may also require fewer resources from the data distributor than the implementation and maintenance of a new API, especially if the organisation does not otherwise make use of APIs.
APIs can be a web-based, such as REST, SOAP or GraphQL, or they can be based on databases or other protocols. The essential point is that the API provides data in a machine-readable, documented format, making it possible for some other software, application or system to use it programmatically. Providing the data through web-based interfaces is a good idea if this is possible and consistent with the purpose of use.
Web-based APIs can be used in both internal and external APIs, and a wide range of information security controls can be implemented in them. The file format to be shared depends on the communication protocol. For example, web-based APIs usually use a HTTP-based communication protocol or architecture, such as REST. APIs are also highly suitable for sharing statistical data residing in a database. For example, see the datasets in Statistics Finland's open databases (in Finnish).
It is important to take APIs into account as part of the organisation's other information management and operating processes, as well as its goals for knowledge management. It is particularly essential for the organisation to determine which types of datasets are offered or used through APIs internally and externally, and which datasets should be accessible through APIs. Internal access and use can be implemented through internal APIs. To provide for external access and use, partner APIs or public APIs can be used, depending on the classification of the data. Please note that if the data cannot be provided as open data, sharing it may require using the Suomi.fi Data Exchange Layer.
Using the national API principles in the design and development of your APIs is advisable. The public administration API principles provide support and instructions for public administration actors in the development, management and file formats of APIs. Among other things, the API principles provide support for specifying the APIs, assigning of responsibilities, promotion of interoperability, procurement, testing and implementation of APIs. When designing the API, it is important to specify how changes to the life cycle plan or service level of the API are managed.
Additional information and support material for API development, management and file formats: