# New Endpoints

As part of the continuous development of Apono’s Public API, we are introducing new Admin and End User endpoints.

## Why Should You Try It Out?

We’ve released new API endpoints designed to bring greater alignment with Apono’s platform capabilities. These improvements make it easier to automate access management and use Apono.

### Key Improvements

#### Access Management

Access Flows

* Support for advanced access flows with richer logic for requestors, approvers, and new settings aligned with what’s available in Apono’s UI, so you can replicate complex access governance policies entirely via API.

Access Scopes

* Access Scopes Support: Define and use access scopes directly within bundles and access flows, allowing you to save and use dynamic, reusable groups of resources.

RBAC User Roles Representation

* User roles in API responses now match Apono’s native role-based access control (RBAC) model, helping you to enforce role-based access and approval policies programmatically.

Apono Group Management

* Query, create, delete, and search Apono groups, removing the need for manual group setup or user assignment in your access flows.

End-User Access Requests

* Enable self-service access request workflows by giving admins the ability to extend access capabilities to their end users. This allows you to build internal tools or automation that enable users to independently request, manage, and track access.

#### Improved Usability

Flexible Name-Based Filtering

* Use GET requests to filter objects based on names
* Filter expressions now support: `contains`, `starts with`, and `ends with` for all name fields. This enables more intuitive searches, like name=\*prod\* to look for all prod instances.

Name-Based Object Creation

* Apono’s objects (like Access Flows and Bundles) can now be created using object names instead of IDs, simplifying scripting and automation by eliminating the need for extra lookups.

Human-Readable API Responses

* API responses now include both IDs and corresponding names. This makes responses easier to interpret, debug, and integrate into tools without additional lookups.

Better Documentation

* Comprehensive documentation accompanies all new endpoints, making implementation and troubleshooting faster and easier.

## How to Identify New Endpoints

You can identify new endpoints by the following characteristics:

* Versioning: Paths include higher version numbers (e.g., /v2, /v3, /v4) reflecting new functionality.
* Path Prefixes: Look for new path prefixes like: `/admin/` and `/user/`

### List of New Endpoints

Access Flows:

* GET <https://api.apono.io/api/admin/v2/access-flows>
* POST <https://api.apono.io/api/admin/v2/access-flows>
* GET [https://api.apono.io/api/admin/v2/access-flows/{id](https://api.apono.io/api/admin/v2/access-flows/%7Bid)}
* PUT [https://api.apono.io/api/admin/v2/access-flows/{id](https://api.apono.io/api/admin/v2/access-flows/%7Bid)}
* DELETE [https://api.apono.io/api/admin/v2/access-flows/{id](https://api.apono.io/api/admin/v2/access-flows/%7Bid)}

Bundles:

* GET <https://api.apono.io/api/admin/v2/bundles>
* POST <https://api.apono.io/api/admin/v2/bundles>
* GET [https://api.apono.io/api/admin/v2/bundles/{id](https://api.apono.io/api/admin/v2/bundles/%7Bid)}
* PUT [https://api.apono.io/api/admin/v2/bundles/{id](https://api.apono.io/api/admin/v2/bundles/%7Bid)}
* DELETE [https://api.apono.io/api/admin/v2/bundles/{id](https://api.apono.io/api/admin/v2/bundles/%7Bid)}

Access Scopes:

* GET <https://api.apono.io/api/admin/v1/access-scopes>
* POST <https://api.apono.io/api/admin/v1/access-scopes>
* GET [https://api.apono.io/api/admin/v1/access-scopes/{id](https://api.apono.io/api/admin/v1/access-scopes/%7Bid)}
* PUT [https://api.apono.io/api/admin/v1/access-scopes/{id](https://api.apono.io/api/admin/v1/access-scopes/%7Bid)}
* DELETE [https://api.apono.io/api/admin/v1/access-scopes/{id](https://api.apono.io/api/admin/v1/access-scopes/%7Bid)}

Connectors:

* GET <https://api.apono.io/api/admin/v3/connectors>
* GET [https://api.apono.io/api/admin/v3/connectors/{id](https://api.apono.io/api/admin/v3/connectors/%7Bid)}
* PUT [https://api.apono.io/api/admin/v3/connectors/{id](https://api.apono.io/api/admin/v3/connectors/%7Bid)}
* DELETE <https://api.apono.io/api/admin/v3/connectors/{id}>

Integrations:

* GET <https://api.apono.io/api/admin/v4/integrations>
* POST <https://api.apono.io/api/admin/v4/integrations>
* GET [https://api.apono.io/api/admin/v4/integrations/{id](https://api.apono.io/api/admin/v4/integrations/%7Bid)}
* PUT [https://api.apono.io/api/admin/v4/integrations/{id](https://api.apono.io/api/admin/v4/integrations/%7Bid)}
* DELETE [https://api.apono.io/api/admin/v4/integrations/{id](https://api.apono.io/api/admin/v4/integrations/%7Bid)}

Groups:

* GET <https://api.apono.io/api/admin/v1/groups>
* POST <https://api.apono.io/api/admin/v1/groups>
* GET [https://api.apono.io/api/admin/v1/groups/{id](https://api.apono.io/api/admin/v1/groups/%7Bid)}
* DELETE [https://api.apono.io/api/admin/v1/groups/{id](https://api.apono.io/api/admin/v1/groups/%7Bid)}
* GET [https://api.apono.io/api/admin/v1/groups/{id}/members](https://api.apono.io/api/admin/v1/groups/%7Bid%7D/members)
* PUT [https://api.apono.io/api/admin/v1/groups/{id}/members](https://api.apono.io/api/admin/v1/groups/%7Bid%7D/members)
* PUT [https://api.apono.io/api/admin/v1/groups/{id}/members/{email](https://api.apono.io/api/admin/v1/groups/%7Bid%7D/members/%7Bemail)}
* DELETE [https://api.apono.io/api/admin/v1/groups/{id}/members/{email](https://api.apono.io/api/admin/v1/groups/%7Bid%7D/members/%7Bemail)}
* PUT [https://api.apono.io/api/admin/v1/groups/{id}/name](https://api.apono.io/api/admin/v1/groups/%7Bid%7D/name)

Users:

* GET <https://api.apono.io/api/admin/v3/users>
* GET [https://api.apono.io/api/admin/v3/users/{id](https://api.apono.io/api/admin/v3/users/%7Bid)}

Available Access:

* GET <https://api.apono.io/api/user/v1/available-access/bundles>
* GET <https://api.apono.io/api/user/v1/available-access/entitlements>

Access Request:

* GET <https://api.apono.io/api/user/v4/access-requests>
* POST <https://api.apono.io/api/user/v4/access-requests>
* GET [https://api.apono.io/api/user/v4/access-requests/{id}](https://api.apono.io/api/user/v4/access-requests/%7Bid%7D)
* GET [https://api.apono.io/api/user/v4/access-requests/{id}/entitlements](https://api.apono.io/api/user/v4/access-requests/%7Bid%7D/entitlements)
* POST [https://api.apono.io/api/user/v4/access-requests/{id}/request-again](https://api.apono.io/api/user/v4/access-requests/%7Bid%7D/request-again)
* POST [https://api.apono.io/api/user/v4/access-requests/{id}/revoke](https://api.apono.io/api/user/v4/access-requests/%7Bid%7D/revoke)

Access Session:

* GET <https://api.apono.io/api/user/v1/access-sessions>
* GET [https://api.apono.io/api/user/v1/access-sessions/{id}](https://api.apono.io/api/user/v1/access-sessions/%7Bid%7D)
* GET [https://api.apono.io/api/user/v1/access-sessions/{id}/access-details](https://api.apono.io/api/user/v1/access-sessions/%7Bid%7D/access-details)
* POST [https://api.apono.io/api/user/v1/access-sessions/{id}/reset-credentials](https://api.apono.io/api/user/v1/access-sessions/%7Bid%7D/reset-credentials)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.apono.io/api-reference/new-endpoints.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
