The Engine API is the API served by Docker Engine. It allows you to control every aspect of Docker from within your own applications, build tools to manage and monitor applications running on Docker, and even use it to build apps on Docker itself.
It is the API the Docker client uses to communicate with the Engine, so everything the Docker client can do can be done with the API. For example:
Running and managing containers
Managing Swarm nodes and services
Reading logs and metrics
Creating and managing Swarms
Pulling and managing images
Managing networks and volumes
The API can be accessed with any HTTP client, but we also provide SDKs in Python and Go to make it easier to use from programming languages.
As an example, the docker run command can be easily implemented in various programming languages and by hitting the API directly with curl: