There are 2 kinds of Java APIs:
- Optional APIs which are downloaded separately. The specification of such APIs is usually defined as per different companies in the world. (Eclipse, Alljoyn etc).
- The official CORE Java API that is contained in SE (Oracle, OpenJDK), MicroEJ, Android (Google). These java packages are core Java language packages. This means that programmers who use Java language will use them so as to make a good use of the Java programming language.
Core API is a Document object model that is format independent that represents Web APIs. This can be used for representing either Hypermedia or Schema responses, allowing the developer to interact with an API at the layer of any application interface instead of the network interface. Core API have implementations that are available for Open SPI, Core JSON and JSON Hyper-Schema. The core API also contains a Python client library. It has a command line tool that can be used to interact with APIs that expose these formats.