java-calling-endpointslisted
Install: claude install-skill MuHamza30/paypal-api-plugin
# Calling endpoints on an APIMatic Java SDK
Operations are methods on a **controller you get from the client**, not on the client itself:
```java
import {rootPackage}.{Api}Client;
import {rootPackage}.{controllerPackage}.{Controller};
import {rootPackage}.exceptions.ApiException;
{Api}Client client = new {Api}Client.Builder()./* ... */.build();
{Controller} controller = client.get{Controller}();
{ReturnType} result = controller.{operation}(/* ... */);
```
Controllers live in `<root>/<controllerPackage>/`, one class per API group. **The package name and the
class suffix are both named per SDK** — `controllers`/`Controller` by default, and either can be
something else. The suffix may also be absent entirely, so the accessor may be
`getPetsController()`, `getPetsApi()` or `getPets()`. **Take the package from the `import` block at the top of
`{Api}Client.java` and the accessor from its `get...()` methods**; `doc/client.md` lists them all.
**This SDK ships no controller interfaces**, so each group emits a single `final` class and
no interface: `{Controller}.java` *is* the implementation, and it is the file to open for an exact
signature. The client implements `Configuration` directly.
## Two method shapes: blocking and `...Async()`
The **blocking** form is always generated:
```java
public {ReturnType} {operation}({params}) throws ApiException, IOException
```
When the SDK was generated in asynchronous mode, each operation also gets a twin:
```java
public CompletableFutu