Glossary · Automation software engineering and architecture
Application programming interface (API)
Also known as: API, Programming interface
German: Programmierschnittstelle (API)
In software engineering, an application programming interface (API) is a defined set of functions, data structures, messages or endpoints through which one software component offers services to other components, together with the rules for using them. In industrial automation, APIs connect control software, engineering tools, MES, cloud services and custom applications.
- Software engineering
In one sentence
An API is a defined set of functions, data structures or endpoints through which a software component offers services to others.
Example
An engineering tool offers a scripting API that lets a build server open a PLC project, import generated code and compile it without manual interaction.
Explained in context
Context cards connect this term with others to answer one question. Also in British English and German.
How it applies
- Engineering: An API defines what a component promises to its callers. Stable APIs let teams develop and update components independently; unstable ones couple release cycles.
- Integration: In plants, APIs appear as function libraries in a controller, REST or OPC UA interfaces on edge devices and SDKs for vision systems or robots. Each has its own versioning and security rules.
- Documentation: API reference documentation should cover every call with parameters, units, value ranges, return values, errors, preconditions and side effects, plus the Interface version it applies to. Examples and change logs are as important as the reference itself, and deprecated calls should be marked with their Deprecation path.
API vs. protocol
An API describes how software calls a service; a Protocol (communication) describes the messages exchanged over a connection. Many industrial APIs are built on top of a protocol, but an API change does not necessarily change the protocol, and the other way around.
For AI services, see AI API.