A method for provisioning part of a multi-part application programming interface, API, to a client device (210, 212, 304, 306), wherein functionalities of the multi-part API are separated into at least two groups, the at least two groups comprising: a) a first group comprising one or more interface functionalities implemented in a client library (206, 312) distributed with an application installed on the client device, wherein the client library (206, 312) is configured to execute on the client device, and wherein the one or more interface functionalities are for interfacing with the multi-part API and comprise code operable to call the multi-part API; and b) a second group comprising one or more implementation functionalities for the application that are implemented in a platform implementation package (110, 208, 316), wherein the platform implementation package is an application package and is separate from the client library, and the one or more implementation functionalities being functionalities not provided by the client library and comprising suitable code operable to implement one or more features of the multi-part API; and wherein the one or more implementation functionalities implemented in the platform implementation package are configured to be requested by the application via the client library; the method comprising: communicating, by the client device and to a computing system (202, 302), a request for an update to the platform implementation package of the multi-part API; receiving, by the client device and from the computing system, the update to the platform implementation package; installing the update to the platform implementation package on the client device; and providing, by the updated platform implementation package, an implementation functionality for the application. a) a first group comprising one or more interface functionalities implemented in a client library (206, 312) distributed with an application installed on the client device, wherein the client library (206, 312) is configured to execute on the client device, and wherein the one or more interface functionalities are for interfacing with the multi-part API and comprise code operable to call the multi-part API; and b) a second group comprising one or more implementation functionalities for the application that are implemented in a platform implementation package (110, 208, 316), wherein the platform implementation package is an application package and is separate from the client library, and the one or more implementation functionalities being functionalities not provided by the client library and comprising suitable code operable to implement one or more features of the multi-part API; and wherein the one or more implementation functionalities implemented in the platform implementation package are configured to be requested by the application via the client library; the method comprising: communicating, by the client device and to a computing system (202, 302), a request for an update to the platform implementation package of the multi-part API; receiving, by the client device and from the computing system, the update to the platform implementation package; communicating, by the client device and to a computing system (202, 302), a request for an update to the platform implementation package of the multi-part API; receiving, by the client device and from the computing system, the update to the platform implementation package; installing the update to the platform implementation package on the client device; and providing, by the updated platform implementation package, an implementation functionality for the application.