A method of providing Application Programming Interface, API, functions for registered service endpoints in container environments, the method comprising: receiving, at an API registry, an API definition comprising: an endpoint of a first service that is encapsulated in a container that is deployed in a container environment; and one or more API functions; creating, by the API registry, a binding between the one or more API functions and the endpoint of the first service, wherein the binding is a dynamic binding between the IP address and port number of the first service and the one or more API functions that have been made available through the API registry; receiving, by the API registry, a request from a second service to use the first service; and characterized by providing, by the API registry, the one or more API functions to the second service, wherein the one or more API functions are included as part of a client library for the second service, wherein the client library implements the API functions and executes direct calls to the endpoint of the first service; automatically generating a client library for the second service that includes the one or more API functions; wherein the client library comprises code that retries unsuccessful calls to the first service, and wherein the code comprises a counter to limit the number of retries; wherein the client library comprises a function that accesses the API registry to retrieve and/or verify a current IP address and port number of the first service; and deploying the API registry to an Integrated Development Environment, IDE, and a production environment, wherein a service is deployed from the IDE to the production environment, such that the information defining the API can be used by services in development in the IDE as well the service that has been deployed to the production environment. an endpoint of a first service that is encapsulated in a container that is deployed in a container environment; and one or more API functions; creating, by the API registry, a binding between the one or more API functions and the endpoint of the first service, wherein the binding is a dynamic binding between the IP address and port number of the first service and the one or more API functions that have been made available through the API registry; receiving, by the API registry, a request from a second service to use the first service; and characterized by providing, by the API registry, the one or more API functions to the second service, wherein the one or more API functions are included as part of a client library for the second service, wherein the client library implements the API functions and executes direct calls to the endpoint of the first service; automatically generating a client library for the second service that includes the one or more API functions; wherein the client library comprises code that retries unsuccessful calls to the first service, and wherein the code comprises a counter to limit the number of retries; wherein the client library comprises a function that accesses the API registry to retrieve and/or verify a current IP address and port number of the first service; and deploying the API registry to an Integrated Development Environment, IDE, and a production environment, wherein a service is deployed from the IDE to the production environment, such that the information defining the API can be used by services in development in the IDE as well the service that has been deployed to the production environment.