Method for controlling runtime access to the application programming interfaces (APIs), the method being carried out at a computer system, the computer system including a development environment for developing executable code that includes application programming interfaces (APIs), the executable code for running in a runtime environment that can dynamically request access to the application program interfaces (APIs), the runtime environment providing dynamic access requests with a default visibility into application program interfaces (APIs) based on application program interface type, the API type being selected from a group comprising internal, private and public, the method comprising: accessing a set of application programming interfaces (APIs) combined in a library, the set of application programming interfaces (APIs) including one or more public application programming interfaces (APIs) and one or more non-public application programming interfaces (APIs); identifying an application programming interface from among the set of application programming interfaces (APIs) for which the default visibility provided to dynamic access requests is to be altered; altering the default visibility into the application programming interface to an altered visibility by applying an attribute different from the API type, to the application programming interface, the attribute indicating to the runtime environment at runtime that dynamic access requests are to be provided the altered visibility into the application programming interface; calculating the visibility into the application programming interface based on the API type and the applied attribute; and providing a dynamic call with visibility into the application programming interface in accordance with the calculated visibility; wherein identifying an application programming interface comprises identifying a public application programming interface, the default visibility for the public application programming interface allowing dynamic access to the public application programming interface; and wherein altering the default visibility of the application programming interface comprises applying an attribute different from the API type to the public application programming interface, the attribute altering the default visibility for the public application programming interface to prevent dynamic access to the public application programming interface. accessing a set of application programming interfaces (APIs) combined in a library, the set of application programming interfaces (APIs) including one or more public application programming interfaces (APIs) and one or more non-public application programming interfaces (APIs); identifying an application programming interface from among the set of application programming interfaces (APIs) for which the default visibility provided to dynamic access requests is to be altered; altering the default visibility into the application programming interface to an altered visibility by applying an attribute different from the API type, to the application programming interface, the attribute indicating to the runtime environment at runtime that dynamic access requests are to be provided the altered visibility into the application programming interface; calculating the visibility into the application programming interface based on the API type and the applied attribute; and providing a dynamic call with visibility into the application programming interface in accordance with the calculated visibility; wherein identifying an application programming interface comprises identifying a public application programming interface, the default visibility for the public application programming interface allowing dynamic access to the public application programming interface; and wherein altering the default visibility of the application programming interface comprises applying an attribute different from the API type to the public application programming interface, the attribute altering the default visibility for the public application programming interface to prevent dynamic access to the public application programming interface.