Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Log in to the Apono App or User Portal.
Click the Profile icon in the bottom left corner.
Click Settings and then Personal API Token to view your API tokens.
Click the Add API Token button to generate a new token.
Give the new token a name and click Generate New Token.
Record Your API Tokens in a Safe Place. This is the only time that the unencrypted token is displayed.
When using any Apono API endpoint, you will be asked to authenticate with one of your tokens. Add this to your request header:
--header 'authorization: Bearer <your-api-token>'If you are accessing endpoints under the /user/ path, the end user must generate the authenticated token. These endpoints are designed for actions that reflect the permissions and context of the individual user making the request.
To enable API token generation for end users, please contact Apono Support at [email protected].
This capability must be explicitly enabled for your organization before end users can generate their tokens.
Welcome to the Apono Public API reference! This guide will help you start integrating Apono into your workflows. Using the API, you can easily create Access Flows, add Integrations, create and manage access requests, export activity logs, and more.
All API requests are made over HTTPS and must be authenticated. Responses are returned in JSON format.
Apono’s API uses token-based authentication. To authenticate, include the following header in each request:
Authorization: Bearer <your-api-token>If authentication is not provided or fails, a 401 "Unauthorized" response will be returned.
HTTP/1.1 401 Unauthorized
{
"status": "401",
"code": "Unauthorized"
}You can create and manage your API tokens on the API Tokens page of your Apono app or user portal. Refer to API Authentication for step-by-step instructions on generating your API tokens.
All requests should be made to the following base URL:
https://api.apono.io/api/Include the following headers with all API calls:
Content-Type: application/json
Authorization: Bearer <your-api-token>For teams that want to integrate Apono’s API into internal tools, generate client SDKs, or validate request structures, we provide a full OpenAPI (Swagger) spec.
(You can import this directly into tools like Postman, Insomnia, or Swagger UI.)
Need help? Reach out to us at [email protected]
Identity attribute types define how Apono identifies and evaluates identities in access flows. These types represent built-in identities (like users or groups) or custom attributes integrated from context integrations.
The available types vary depending on your account configuration and connected identity sources. To view the exact list of supported types, run the discovery script below.
import os
import requests
API_URL = "https://api.apono.io/api/admin/v1/attributes"
def get_auth_headers() -> dict:
token = os.getenv("APONO_TOKEN")
if not token:
raise RuntimeError("Missing APONO_TOKEN environment variable")
return {
"Authorization": f"Bearer {token}",
"Accept": "*/*"
}
def fetch_unique_attribute_types() -> set:
headers = get_auth_headers()
attribute_types = set()
next_page_token = None
while True:
params = {}
if next_page_token:
params["page_token"] = next_page_token
response = requests.get(API_URL, headers=headers, params=params)
response.raise_for_status()
data = response.json()
for attribute_item in data.get("items", []):
attr_type = attribute_item.get("type")
if attr_type:
attribute_types.add(attr_type)
next_page_token = data.get("pagination", {}).get("next_page_token")
if not next_page_token:
break
return attribute_types
if __name__ == "__main__":
print(sorted(fetch_unique_attribute_types()))As part of the continuous development of Apono’s Public API, we are introducing new Admin and End User endpoints.
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.
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.
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.
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/
Access Flows:
Bundles:
Access Scopes:
Connectors:
DELETE https://api.apono.io/api/admin/v3/connectors/{id}
Integrations:
Groups:
Users:
Available Access:
Access Request:
Access Session:
100The name of the report. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
OK
GET /api/admin/v1/activity-reports HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"fields": [
"text"
],
"filters": {
"requestor_source_ids": [
"text"
],
"grantee_source_ids": [
"text"
],
"grantee_identity_types": [
"text"
],
"integration_ids": [
"text"
],
"permission_names": [
"text"
],
"resource_ids": [
"text"
],
"resource_types": [
"text"
],
"statuses": [
"text"
],
"trigger_types": [
"text"
],
"access_flow_ids": [
"text"
]
},
"timeframe": {
"absolute": {
"start_date": "2022-03-10T16:15:50Z",
"end_date": "2022-03-10T16:15:50Z"
},
"relative": {
"last": 1,
"unit": "text",
"rounded": true
}
},
"schedule": {
"cron_expression": "text",
"recipients": [
"text"
]
},
"format": "text",
"creation_date": "2022-03-10T16:15:50Z",
"update_date": "2022-03-10T16:15:50Z"
}
],
"pagination": {
"next_page_token": "text"
}
}Display name of the report. Must be unique.
List of fields to include in the report. Possible values: request_id, request_date, request_grant_date, request_revoke_date, requestor_name, requestor_email, grantee_name, grantee_id, grantee_type, integration, resources, resource_type, permissions, approver_names, approver_emails, approver_types, justification, status, approver_reason, resources_status, trigger_type, access_flow, bundle_name.
Format of the report. Possible values: csv, pdf. Default is csv
OK
POST /api/admin/v1/activity-reports HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 542
{
"name": "text",
"fields": [
"text"
],
"filters": {
"requestor_source_ids": [
"text"
],
"grantee_source_ids": [
"text"
],
"grantee_identity_types": [
"text"
],
"integration_ids": [
"text"
],
"permission_names": [
"text"
],
"resource_ids": [
"text"
],
"resource_types": [
"text"
],
"statuses": [
"text"
],
"trigger_types": [
"text"
],
"access_flow_ids": [
"text"
]
},
"timeframe": {
"absolute": {
"start_date": "2022-03-10T16:15:50Z",
"end_date": "2022-03-10T16:15:50Z"
},
"relative": {
"last": 1,
"unit": "text",
"rounded": true
}
},
"schedule": {
"cron_expression": "text",
"recipients": [
"text"
]
},
"format": "text"
}OK
{
"id": "text",
"name": "text",
"fields": [
"text"
],
"filters": {
"requestor_source_ids": [
"text"
],
"grantee_source_ids": [
"text"
],
"grantee_identity_types": [
"text"
],
"integration_ids": [
"text"
],
"permission_names": [
"text"
],
"resource_ids": [
"text"
],
"resource_types": [
"text"
],
"statuses": [
"text"
],
"trigger_types": [
"text"
],
"access_flow_ids": [
"text"
]
},
"timeframe": {
"absolute": {
"start_date": "2022-03-10T16:15:50Z",
"end_date": "2022-03-10T16:15:50Z"
},
"relative": {
"last": 1,
"unit": "text",
"rounded": true
}
},
"schedule": {
"cron_expression": "text",
"recipients": [
"text"
]
},
"format": "text",
"creation_date": "2022-03-10T16:15:50Z",
"update_date": "2022-03-10T16:15:50Z"
}OK
GET /api/admin/v1/activity-reports/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"fields": [
"text"
],
"filters": {
"requestor_source_ids": [
"text"
],
"grantee_source_ids": [
"text"
],
"grantee_identity_types": [
"text"
],
"integration_ids": [
"text"
],
"permission_names": [
"text"
],
"resource_ids": [
"text"
],
"resource_types": [
"text"
],
"statuses": [
"text"
],
"trigger_types": [
"text"
],
"access_flow_ids": [
"text"
]
},
"timeframe": {
"absolute": {
"start_date": "2022-03-10T16:15:50Z",
"end_date": "2022-03-10T16:15:50Z"
},
"relative": {
"last": 1,
"unit": "text",
"rounded": true
}
},
"schedule": {
"cron_expression": "text",
"recipients": [
"text"
]
},
"format": "text",
"creation_date": "2022-03-10T16:15:50Z",
"update_date": "2022-03-10T16:15:50Z"
}Display name of the report. Must be unique.
List of fields to include in the report. Possible values: request_id, request_date, request_grant_date, request_revoke_date, requestor_name, requestor_email, grantee_name, grantee_id, grantee_type, integration, resources, resource_type, permissions, approver_names, approver_emails, approver_types, justification, status, approver_reason, resources_status, trigger_type, access_flow, bundle_name.
Format of the report. Possible values: csv, pdf. Default is csv
OK
PUT /api/admin/v1/activity-reports/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 542
{
"name": "text",
"fields": [
"text"
],
"filters": {
"requestor_source_ids": [
"text"
],
"grantee_source_ids": [
"text"
],
"grantee_identity_types": [
"text"
],
"integration_ids": [
"text"
],
"permission_names": [
"text"
],
"resource_ids": [
"text"
],
"resource_types": [
"text"
],
"statuses": [
"text"
],
"trigger_types": [
"text"
],
"access_flow_ids": [
"text"
]
},
"timeframe": {
"absolute": {
"start_date": "2022-03-10T16:15:50Z",
"end_date": "2022-03-10T16:15:50Z"
},
"relative": {
"last": 1,
"unit": "text",
"rounded": true
}
},
"schedule": {
"cron_expression": "text",
"recipients": [
"text"
]
},
"format": "text"
}OK
{
"id": "text",
"name": "text",
"fields": [
"text"
],
"filters": {
"requestor_source_ids": [
"text"
],
"grantee_source_ids": [
"text"
],
"grantee_identity_types": [
"text"
],
"integration_ids": [
"text"
],
"permission_names": [
"text"
],
"resource_ids": [
"text"
],
"resource_types": [
"text"
],
"statuses": [
"text"
],
"trigger_types": [
"text"
],
"access_flow_ids": [
"text"
]
},
"timeframe": {
"absolute": {
"start_date": "2022-03-10T16:15:50Z",
"end_date": "2022-03-10T16:15:50Z"
},
"relative": {
"last": 1,
"unit": "text",
"rounded": true
}
},
"schedule": {
"cron_expression": "text",
"recipients": [
"text"
]
},
"format": "text",
"creation_date": "2022-03-10T16:15:50Z",
"update_date": "2022-03-10T16:15:50Z"
}OK
DELETE /api/admin/v1/activity-reports/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}100OK
GET /api/admin/v3/connectors HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"status": "text",
"version": "text",
"last_connected": "text",
"is_latest_version": true,
"cloud_provider_type": "text",
"sessions": [
{
"id": "text",
"metadata": {
"cloud_provider_metadata": {
"kubernetes_type": "text",
"kubernetes_version": "text",
"is_kubernetes_admin": true,
"local_deploy": true,
"aws_account_id": "text",
"region": "text",
"availability_zone": "text",
"project_id": "text",
"organization_id": "text",
"zone": "text",
"subscription_id": "text",
"resource_group": "text",
"is_azure_admin": true
},
"connector_version": "text"
},
"last_connected_time": "text"
}
]
}
],
"pagination": {
"next_page_token": "text"
}
}OK
GET /api/admin/v3/connectors/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"status": "text",
"version": "text",
"last_connected": "text",
"is_latest_version": true,
"cloud_provider_type": "text",
"sessions": [
{
"id": "text",
"metadata": {
"cloud_provider_metadata": {
"kubernetes_type": "text",
"kubernetes_version": "text",
"is_kubernetes_admin": true,
"local_deploy": true,
"aws_account_id": "text",
"region": "text",
"availability_zone": "text",
"project_id": "text",
"organization_id": "text",
"zone": "text",
"subscription_id": "text",
"resource_group": "text",
"is_azure_admin": true
},
"connector_version": "text"
},
"last_connected_time": "text"
}
]
}Unique, alphanumeric, user-friendly name used to identify the connector
OK
PUT /api/admin/v3/connectors/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}OK
{
"id": "text",
"name": "text",
"status": "text",
"version": "text",
"last_connected": "text",
"is_latest_version": true,
"cloud_provider_type": "text",
"sessions": [
{
"id": "text",
"metadata": {
"cloud_provider_metadata": {
"kubernetes_type": "text",
"kubernetes_version": "text",
"is_kubernetes_admin": true,
"local_deploy": true,
"aws_account_id": "text",
"region": "text",
"availability_zone": "text",
"project_id": "text",
"organization_id": "text",
"zone": "text",
"subscription_id": "text",
"resource_group": "text",
"is_azure_admin": true
},
"connector_version": "text"
},
"last_connected_time": "text"
}
]
}No Content
DELETE /api/admin/v3/connectors/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
OK
GET /api/v2/connectors HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
[
{
"connector_id": "text",
"last_connected": 1,
"status": "text"
}
]Filter users by first name. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
Filter users by last name. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
100OK
GET /api/admin/v3/users HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"email": "text",
"email_aliases": [
"text"
],
"first_name": "text",
"last_name": "text",
"active": true,
"roles": [
"text"
],
"source_integration_id": "text",
"source_integration_name": "text",
"attributes": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
],
"pagination": {
"next_page_token": "text"
}
}OK
GET /api/admin/v3/users/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"email": "text",
"email_aliases": [
"text"
],
"first_name": "text",
"last_name": "text",
"active": true,
"roles": [
"text"
],
"source_integration_id": "text",
"source_integration_name": "text",
"attributes": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}OK
GET /api/v2/users HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text",
"email": "text",
"first_name": "text",
"last_name": "text",
"active": true
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
GET /api/v2/users/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"email": "text",
"first_name": "text",
"last_name": "text",
"active": true
}100OK
GET /api/user/v1/access-sessions HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"request_ids": [
"text"
],
"integration": {
"id": "text",
"name": "text"
},
"credentials_status": "text",
"can_reset_credentials": true
}
],
"pagination": {
"next_page_token": "text"
}
}OK
GET /api/user/v1/access-sessions/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"request_ids": [
"text"
],
"integration": {
"id": "text",
"name": "text"
},
"credentials_status": "text",
"can_reset_credentials": true
}OK
GET /api/user/v1/access-sessions/{id}/access-details HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"instructions": "text",
"custom_admin_message": "text",
"parameters": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"cli": "text",
"link": {
"url": "text",
"title": "text"
}
}OK
POST /api/user/v1/access-sessions/{id}/reset-credentials HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}Filters available bundles by the specified user, accepts ID or email. Defaults to the authenticated user
100Filter available bundles by name. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
OK
GET /api/user/v1/available-access/bundles HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}Filters available access options by the specified user, accepts ID or email. Defaults to the authenticated user
100OK
GET /api/user/v1/available-access/entitlements HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource": {
"id": "text",
"source_id": "text",
"type": {
"id": "text",
"label": "text"
},
"name": "text"
},
"permission": {
"id": "text",
"source_id": "text",
"name": "text"
}
}
],
"pagination": {
"next_page_token": "text"
}
}100Free text to search values of attributes. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
OK
GET /api/admin/v1/attributes HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"type": "text",
"value": "text",
"source_id": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}100Filter groups by name. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
OK
GET /api/admin/v1/groups HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"source_id": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}Display name of the group
Email addresses to assign as members of the group
OK
POST /api/admin/v1/groups HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41
{
"name": "text",
"members_emails": [
"text"
]
}OK
{
"id": "text",
"name": "text",
"source_id": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}OK
GET /api/admin/v1/groups/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"source_id": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}No Content
DELETE /api/admin/v1/groups/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
100OK
GET /api/admin/v1/groups/{id}/members HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"email": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}Email addresses to assign as members of the group
No Content
PUT /api/admin/v1/groups/{id}/members HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 27
{
"members_emails": [
"text"
]
}No Content
No content
No Content
PUT /api/admin/v1/groups/{id}/members/{email} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
No Content
DELETE /api/admin/v1/groups/{id}/members/{email} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
Display name of the group
OK
PUT /api/admin/v1/groups/{id}/name HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 15
{
"name": "text"
}OK
{
"id": "text",
"name": "text",
"source_id": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}OK
GET /api/v1/access-bundles HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text",
"name": "text",
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
]
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
POST /api/v1/access-bundles HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 225
{
"name": "text",
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
]
}OK
{
"id": "text",
"name": "text",
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
]
}OK
GET /api/v1/access-bundles/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
]
}OK
DELETE /api/v1/access-bundles/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}OK
PATCH /api/v1/access-bundles/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 225
{
"name": "text",
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
]
}OK
{
"id": "text",
"name": "text",
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
]
}100OK
GET /api/admin/v2/access-flows HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"active": true,
"trigger": "text",
"requestors": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
},
"request_for": {
"request_scopes": [
"text"
],
"grantees": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
},
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"bundle": {
"bundle_id": "text",
"bundle_name": "text"
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"approver_policy": {
"approval_mode": "text",
"approver_groups": [
{
"logical_operator": "text",
"approvers": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
]
},
"grant_duration_in_min": 1,
"timeframe": {
"start_time": "text",
"end_time": "text",
"days_of_week": [
"MONDAY"
],
"time_zone": "text"
},
"settings": {
"justification_required": true,
"require_approver_reason": true,
"requestor_cannot_approve_himself": true,
"require_mfa": true,
"labels": [
"text"
]
},
"creation_date": {
"0": "2",
"1": "0",
"2": "2",
"3": "5",
"4": "-",
"5": "1",
"6": "2",
"7": "-",
"8": "0",
"9": "8",
"10": "T",
"11": "0",
"12": "1",
"13": ":",
"14": "2",
"15": "2",
"16": ":",
"17": "0",
"18": "2",
"19": ".",
"20": "8",
"21": "8",
"22": "7",
"23": "Z"
},
"update_date": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}Note: Some fields are only applicable in self-serve access flows and are ignored or not required in automatic access flows. Refer to each field’s description to understand when it applies.
Display name of the access flow
Activity state of the access flow (active or inactive)
Event or action that triggers the access flow
Duration of access granted to the user, in minutes
OK
POST /api/admin/v2/access-flows HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1179
{
"name": "text",
"active": true,
"trigger": "text",
"requestors": {
"logical_operator": "text",
"conditions": [
{
"source_integration_reference": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
},
"request_for": {
"request_scopes": [
"text"
],
"grantees": {
"logical_operator": "text",
"conditions": [
{
"source_integration_reference": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
},
"access_targets": [
{
"integration": {
"integration_reference": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"bundle": {
"bundle_reference": "text"
},
"access_scope": {
"access_scope_reference": "text"
}
}
],
"approver_policy": {
"approval_mode": "text",
"approver_groups": [
{
"logical_operator": "text",
"approvers": [
{
"source_integration_reference": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
]
},
"grant_duration_in_min": 1,
"timeframe": {
"start_time": "text",
"end_time": "text",
"days_of_week": [
"MONDAY"
],
"time_zone": "text"
},
"settings": {
"justification_required": true,
"require_approver_reason": true,
"requestor_cannot_approve_himself": true,
"require_mfa": true,
"labels": [
"text"
]
},
"request_for_others": true
}OK
{
"id": "text",
"name": "text",
"active": true,
"trigger": "text",
"requestors": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
},
"request_for": {
"request_scopes": [
"text"
],
"grantees": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
},
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"bundle": {
"bundle_id": "text",
"bundle_name": "text"
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"approver_policy": {
"approval_mode": "text",
"approver_groups": [
{
"logical_operator": "text",
"approvers": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
]
},
"grant_duration_in_min": 1,
"timeframe": {
"start_time": "text",
"end_time": "text",
"days_of_week": [
"MONDAY"
],
"time_zone": "text"
},
"settings": {
"justification_required": true,
"require_approver_reason": true,
"requestor_cannot_approve_himself": true,
"require_mfa": true,
"labels": [
"text"
]
},
"creation_date": {
"0": "2",
"1": "0",
"2": "2",
"3": "5",
"4": "-",
"5": "1",
"6": "2",
"7": "-",
"8": "0",
"9": "8",
"10": "T",
"11": "0",
"12": "1",
"13": ":",
"14": "2",
"15": "2",
"16": ":",
"17": "0",
"18": "2",
"19": ".",
"20": "8",
"21": "8",
"22": "7",
"23": "Z"
},
"update_date": "text"
}OK
GET /api/admin/v2/access-flows/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"active": true,
"trigger": "text",
"requestors": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
},
"request_for": {
"request_scopes": [
"text"
],
"grantees": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
},
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"bundle": {
"bundle_id": "text",
"bundle_name": "text"
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"approver_policy": {
"approval_mode": "text",
"approver_groups": [
{
"logical_operator": "text",
"approvers": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
]
},
"grant_duration_in_min": 1,
"timeframe": {
"start_time": "text",
"end_time": "text",
"days_of_week": [
"MONDAY"
],
"time_zone": "text"
},
"settings": {
"justification_required": true,
"require_approver_reason": true,
"requestor_cannot_approve_himself": true,
"require_mfa": true,
"labels": [
"text"
]
},
"creation_date": {
"0": "2",
"1": "0",
"2": "2",
"3": "5",
"4": "-",
"5": "1",
"6": "2",
"7": "-",
"8": "0",
"9": "8",
"10": "T",
"11": "0",
"12": "1",
"13": ":",
"14": "2",
"15": "2",
"16": ":",
"17": "0",
"18": "2",
"19": ".",
"20": "8",
"21": "8",
"22": "7",
"23": "Z"
},
"update_date": "text"
}Display name of the access flow
Activity state of the access flow (active or inactive)
Event or action that triggers the access flow
Duration of access granted to the user, in minutes
OK
PUT /api/admin/v2/access-flows/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1179
{
"name": "text",
"active": true,
"trigger": "text",
"requestors": {
"logical_operator": "text",
"conditions": [
{
"source_integration_reference": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
},
"request_for": {
"request_scopes": [
"text"
],
"grantees": {
"logical_operator": "text",
"conditions": [
{
"source_integration_reference": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
},
"access_targets": [
{
"integration": {
"integration_reference": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"bundle": {
"bundle_reference": "text"
},
"access_scope": {
"access_scope_reference": "text"
}
}
],
"approver_policy": {
"approval_mode": "text",
"approver_groups": [
{
"logical_operator": "text",
"approvers": [
{
"source_integration_reference": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
]
},
"grant_duration_in_min": 1,
"timeframe": {
"start_time": "text",
"end_time": "text",
"days_of_week": [
"MONDAY"
],
"time_zone": "text"
},
"settings": {
"justification_required": true,
"require_approver_reason": true,
"requestor_cannot_approve_himself": true,
"require_mfa": true,
"labels": [
"text"
]
},
"request_for_others": true
}OK
{
"id": "text",
"name": "text",
"active": true,
"trigger": "text",
"requestors": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
},
"request_for": {
"request_scopes": [
"text"
],
"grantees": {
"logical_operator": "text",
"conditions": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
},
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"bundle": {
"bundle_id": "text",
"bundle_name": "text"
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"approver_policy": {
"approval_mode": "text",
"approver_groups": [
{
"logical_operator": "text",
"approvers": [
{
"source_integration_id": "text",
"source_integration_name": "text",
"type": "text",
"match_operator": "text",
"values": [
"text"
]
}
]
}
]
},
"grant_duration_in_min": 1,
"timeframe": {
"start_time": "text",
"end_time": "text",
"days_of_week": [
"MONDAY"
],
"time_zone": "text"
},
"settings": {
"justification_required": true,
"require_approver_reason": true,
"requestor_cannot_approve_himself": true,
"require_mfa": true,
"labels": [
"text"
]
},
"creation_date": {
"0": "2",
"1": "0",
"2": "2",
"3": "5",
"4": "-",
"5": "1",
"6": "2",
"7": "-",
"8": "0",
"9": "8",
"10": "T",
"11": "0",
"12": "1",
"13": ":",
"14": "2",
"15": "2",
"16": ":",
"17": "0",
"18": "2",
"19": ".",
"20": "8",
"21": "8",
"22": "7",
"23": "Z"
},
"update_date": "text"
}No Content
DELETE /api/admin/v2/access-flows/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
OK
GET /api/v1/access-flows HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text",
"name": "text",
"active": true,
"trigger": {
"type": "text",
"timeframe": {
"start_of_day_time_in_seconds": 1,
"end_of_day_time_in_seconds": 1,
"days_in_week": [
"MONDAY"
],
"time_zone": "text"
}
},
"grantees": [
{
"id": "text",
"type": "text"
}
],
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
],
"bundle_targets": [
{
"bundle_id": "text"
}
],
"approvers": [
{
"id": "text",
"type": "text"
}
],
"revoke_after_in_sec": 1,
"settings": {
"require_justification_on_request_again": true,
"require_all_approvers": true,
"require_approver_justification": true,
"approver_cannot_approve_himself": true
},
"created_date": "{seconds}.{nanos}"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
POST /api/v1/access-flows HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 700
{
"name": "text",
"active": true,
"trigger": {
"type": "text",
"timeframe": {
"start_of_day_time_in_seconds": 1,
"end_of_day_time_in_seconds": 1,
"days_in_week": [
"MONDAY"
],
"time_zone": "text"
}
},
"grantees": [
{
"id": "text",
"type": "text"
}
],
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
],
"bundle_targets": [
{
"bundle_id": "text"
}
],
"approvers": [
{
"id": "text",
"type": "text"
}
],
"revoke_after_in_sec": 1,
"settings": {
"require_justification_on_request_again": true,
"require_all_approvers": true,
"require_approver_justification": true,
"approver_cannot_approve_himself": true
}
}OK
{
"id": "text",
"name": "text",
"active": true,
"trigger": {
"type": "text",
"timeframe": {
"start_of_day_time_in_seconds": 1,
"end_of_day_time_in_seconds": 1,
"days_in_week": [
"MONDAY"
],
"time_zone": "text"
}
},
"grantees": [
{
"id": "text",
"type": "text"
}
],
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
],
"bundle_targets": [
{
"bundle_id": "text"
}
],
"approvers": [
{
"id": "text",
"type": "text"
}
],
"revoke_after_in_sec": 1,
"settings": {
"require_justification_on_request_again": true,
"require_all_approvers": true,
"require_approver_justification": true,
"approver_cannot_approve_himself": true
},
"created_date": "{seconds}.{nanos}"
}OK
GET /api/v1/access-flows/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"active": true,
"trigger": {
"type": "text",
"timeframe": {
"start_of_day_time_in_seconds": 1,
"end_of_day_time_in_seconds": 1,
"days_in_week": [
"MONDAY"
],
"time_zone": "text"
}
},
"grantees": [
{
"id": "text",
"type": "text"
}
],
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
],
"bundle_targets": [
{
"bundle_id": "text"
}
],
"approvers": [
{
"id": "text",
"type": "text"
}
],
"revoke_after_in_sec": 1,
"settings": {
"require_justification_on_request_again": true,
"require_all_approvers": true,
"require_approver_justification": true,
"approver_cannot_approve_himself": true
},
"created_date": "{seconds}.{nanos}"
}OK
DELETE /api/v1/access-flows/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}OK
PATCH /api/v1/access-flows/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 700
{
"name": "text",
"active": true,
"trigger": {
"type": "text",
"timeframe": {
"start_of_day_time_in_seconds": 1,
"end_of_day_time_in_seconds": 1,
"days_in_week": [
"MONDAY"
],
"time_zone": "text"
}
},
"grantees": [
{
"id": "text",
"type": "text"
}
],
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
],
"bundle_targets": [
{
"bundle_id": "text"
}
],
"approvers": [
{
"id": "text",
"type": "text"
}
],
"revoke_after_in_sec": 1,
"settings": {
"require_justification_on_request_again": true,
"require_all_approvers": true,
"require_approver_justification": true,
"approver_cannot_approve_himself": true
}
}OK
{
"id": "text",
"name": "text",
"active": true,
"trigger": {
"type": "text",
"timeframe": {
"start_of_day_time_in_seconds": 1,
"end_of_day_time_in_seconds": 1,
"days_in_week": [
"MONDAY"
],
"time_zone": "text"
}
},
"grantees": [
{
"id": "text",
"type": "text"
}
],
"integration_targets": [
{
"integration_id": "text",
"resource_type": "text",
"resource_tag_includes": [
{
"name": "text",
"value": "text"
}
],
"resource_tag_excludes": [
{
"name": "text",
"value": "text"
}
],
"permissions": [
"text"
]
}
],
"bundle_targets": [
{
"bundle_id": "text"
}
],
"approvers": [
{
"id": "text",
"type": "text"
}
],
"revoke_after_in_sec": 1,
"settings": {
"require_justification_on_request_again": true,
"require_all_approvers": true,
"require_approver_justification": true,
"approver_cannot_approve_himself": true
},
"created_date": "{seconds}.{nanos}"
}100Filter integrations by name. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
Filter integrations by type. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
OK
GET /api/admin/v4/integrations HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"type": "text",
"category": "text",
"connector_id": "text",
"status": "text",
"last_sync_time": "text",
"integration_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"secret_store_config": {
"aws": {
"region": "text",
"secret_id": "text"
},
"gcp": {
"project": "text",
"secret_id": "text"
},
"kubernetes": {
"namespace": "text",
"name": "text"
},
"azure": {
"vault_url": "text",
"name": "text"
},
"hashicorp_vault": {
"secret_engine": "text",
"path": "text"
},
"apono": {
"parameters": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
},
"connected_resource_types": [
"text"
],
"custom_access_details": "text",
"owner": {
"attribute_type": "text",
"attribute_value": [
"text"
],
"source_integration_id": "text",
"source_integration_name": "text"
},
"owners_mapping": {
"key_name": "text",
"attribute_type": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}
}
],
"pagination": {
"next_page_token": "text"
}
}Unique, alphanumeric, user-friendly name used to identify the integration
Apono-defined identifier for the specific integration type
Unique identifier of the Apono connector
Set of integration-specific connection and management parameters. Refer to the Integration Configuration documentation for specific configuration values.
List of discoverable resource types within the integration
Admin custom instructions (max 400 characters) for accessing the integration’s resources, shown to end users
OK
POST /api/admin/v4/integrations HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 635
{
"name": "text",
"type": "text",
"connector_id": "text",
"integration_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"secret_store_config": {
"aws": {
"region": "text",
"secret_id": "text"
},
"gcp": {
"project": "text",
"secret_id": "text"
},
"kubernetes": {
"namespace": "text",
"name": "text"
},
"azure": {
"vault_url": "text",
"name": "text"
},
"hashicorp_vault": {
"secret_engine": "text",
"path": "text"
}
},
"connected_resource_types": [
"text"
],
"custom_access_details": "text",
"owner": {
"attribute_type": "text",
"attribute_value": [
"text"
],
"source_integration_reference": "text"
},
"owners_mapping": {
"key_name": "text",
"attribute_type": "text",
"source_integration_reference": "text"
}
}OK
{
"id": "text",
"name": "text",
"type": "text",
"category": "text",
"connector_id": "text",
"status": "text",
"last_sync_time": "text",
"integration_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"secret_store_config": {
"aws": {
"region": "text",
"secret_id": "text"
},
"gcp": {
"project": "text",
"secret_id": "text"
},
"kubernetes": {
"namespace": "text",
"name": "text"
},
"azure": {
"vault_url": "text",
"name": "text"
},
"hashicorp_vault": {
"secret_engine": "text",
"path": "text"
},
"apono": {
"parameters": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
},
"connected_resource_types": [
"text"
],
"custom_access_details": "text",
"owner": {
"attribute_type": "text",
"attribute_value": [
"text"
],
"source_integration_id": "text",
"source_integration_name": "text"
},
"owners_mapping": {
"key_name": "text",
"attribute_type": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}
}OK
GET /api/admin/v4/integrations/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"type": "text",
"category": "text",
"connector_id": "text",
"status": "text",
"last_sync_time": "text",
"integration_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"secret_store_config": {
"aws": {
"region": "text",
"secret_id": "text"
},
"gcp": {
"project": "text",
"secret_id": "text"
},
"kubernetes": {
"namespace": "text",
"name": "text"
},
"azure": {
"vault_url": "text",
"name": "text"
},
"hashicorp_vault": {
"secret_engine": "text",
"path": "text"
},
"apono": {
"parameters": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
},
"connected_resource_types": [
"text"
],
"custom_access_details": "text",
"owner": {
"attribute_type": "text",
"attribute_value": [
"text"
],
"source_integration_id": "text",
"source_integration_name": "text"
},
"owners_mapping": {
"key_name": "text",
"attribute_type": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}
}Unique, alphanumeric, user-friendly name used to identify the integration
Unique identifier of the Apono connector
Set of integration-specific connection and management parameters
List of discoverable resource types within the integration
Admin custom instructions (max 400 characters) for accessing the integration’s resources, shown to end users
OK
PUT /api/admin/v4/integrations/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 621
{
"name": "text",
"connector_id": "text",
"integration_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"secret_store_config": {
"aws": {
"region": "text",
"secret_id": "text"
},
"gcp": {
"project": "text",
"secret_id": "text"
},
"kubernetes": {
"namespace": "text",
"name": "text"
},
"azure": {
"vault_url": "text",
"name": "text"
},
"hashicorp_vault": {
"secret_engine": "text",
"path": "text"
}
},
"connected_resource_types": [
"text"
],
"custom_access_details": "text",
"owner": {
"attribute_type": "text",
"attribute_value": [
"text"
],
"source_integration_reference": "text"
},
"owners_mapping": {
"key_name": "text",
"attribute_type": "text",
"source_integration_reference": "text"
}
}OK
{
"id": "text",
"name": "text",
"type": "text",
"category": "text",
"connector_id": "text",
"status": "text",
"last_sync_time": "text",
"integration_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"secret_store_config": {
"aws": {
"region": "text",
"secret_id": "text"
},
"gcp": {
"project": "text",
"secret_id": "text"
},
"kubernetes": {
"namespace": "text",
"name": "text"
},
"azure": {
"vault_url": "text",
"name": "text"
},
"hashicorp_vault": {
"secret_engine": "text",
"path": "text"
},
"apono": {
"parameters": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
},
"connected_resource_types": [
"text"
],
"custom_access_details": "text",
"owner": {
"attribute_type": "text",
"attribute_value": [
"text"
],
"source_integration_id": "text",
"source_integration_name": "text"
},
"owners_mapping": {
"key_name": "text",
"attribute_type": "text",
"source_integration_id": "text",
"source_integration_name": "text"
}
}No Content
DELETE /api/admin/v4/integrations/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
OK
GET /api/v2/integrations HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text",
"name": "text",
"type": "text",
"status": "Initializing",
"details": "text",
"provisioner_id": "text",
"connection": {},
"last_sync_time": 1,
"metadata": {},
"secret_config": {},
"connected_resource_types": [
"text"
],
"custom_access_details": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
POST /api/v2/integrations HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 153
{
"name": "text",
"type": "text",
"provisioner_id": "text",
"metadata": {},
"secret_config": {},
"connected_resource_types": [
"text"
],
"custom_access_details": "text"
}OK
{
"id": "text",
"name": "text",
"type": "text",
"status": "Initializing",
"details": "text",
"provisioner_id": "text",
"connection": {},
"last_sync_time": 1,
"metadata": {},
"secret_config": {},
"connected_resource_types": [
"text"
],
"custom_access_details": "text"
}OK
GET /api/v2/integrations-catalog HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"name": "text",
"type": "text",
"description": "text",
"params": [
{
"id": "text",
"label": "text",
"values": [
"text"
],
"default": "text",
"optional": true
}
],
"requires_secret": true,
"supported_secret_types": [
"text"
]
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
GET /api/v2/integrations-catalog/{type} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"name": "text",
"type": "text",
"description": "text",
"params": [
{
"id": "text",
"label": "text",
"values": [
"text"
],
"default": "text",
"optional": true
}
],
"requires_secret": true,
"supported_secret_types": [
"text"
]
}OK
GET /api/v2/integrations/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"type": "text",
"status": "Initializing",
"details": "text",
"provisioner_id": "text",
"connection": {},
"last_sync_time": 1,
"metadata": {},
"secret_config": {},
"connected_resource_types": [
"text"
],
"custom_access_details": "text"
}OK
PUT /api/v2/integrations/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 139
{
"name": "text",
"provisioner_id": "text",
"metadata": {},
"secret_config": {},
"connected_resource_types": [
"text"
],
"custom_access_details": "text"
}OK
{
"id": "text",
"name": "text",
"type": "text",
"status": "Initializing",
"details": "text",
"provisioner_id": "text",
"connection": {},
"last_sync_time": 1,
"metadata": {},
"secret_config": {},
"connected_resource_types": [
"text"
],
"custom_access_details": "text"
}OK
DELETE /api/v2/integrations/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}OK
POST /api/v2/integrations/{id}/refresh HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}OK
GET /api/v3/integrations/resources/{resource_id}/user-tags HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"resource_id": "text",
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}OK
PUT /api/v3/integrations/resources/{resource_id}/user-tags HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 43
{
"tags": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}OK
{
"message": "text"
}OK
GET /api/v3/integrations/{id}/permissions HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"name": "text",
"id": "text",
"resource_type": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
GET /api/v3/integrations/{id}/resources HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text",
"name": "text",
"type": "text",
"status": {
"status": "Active",
"message": "text"
}
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
GET /api/v3/activity HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"request_id": "text",
"request_date": "text",
"requestor_name": "text",
"requestor_email": "text",
"integration": "text",
"resource_type": "text",
"resources": [
"text"
],
"permissions": [
"text"
],
"justification": "text",
"status": "text",
"trigger_type": "text",
"access_flow": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}100Filter bundles by name. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
OK
GET /api/admin/v2/bundles HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"creation_date": "text",
"update_date": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}Display name of the bundle
OK
POST /api/admin/v2/bundles HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 266
{
"name": "text",
"access_targets": [
{
"integration": {
"integration_reference": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"access_scope": {
"access_scope_reference": "text"
}
}
]
}OK
{
"id": "text",
"name": "text",
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"creation_date": "text",
"update_date": "text"
}OK
GET /api/admin/v2/bundles/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"creation_date": "text",
"update_date": "text"
}Display name of the bundle
OK
PUT /api/admin/v2/bundles/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 266
{
"name": "text",
"access_targets": [
{
"integration": {
"integration_reference": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"access_scope": {
"access_scope_reference": "text"
}
}
]
}OK
{
"id": "text",
"name": "text",
"access_targets": [
{
"integration": {
"integration_id": "text",
"integration_name": "text",
"resource_type": "text",
"permissions": [
"text"
],
"resources_scopes": [
{
"scope_mode": "text",
"type": "text",
"key": "text",
"values": [
"text"
]
}
]
},
"access_scope": {
"access_scope_id": "text",
"access_scope_name": "text"
}
}
],
"creation_date": "text",
"update_date": "text"
}No Content
DELETE /api/admin/v2/bundles/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
1000OK
GET /api/v2/bulk/identities/attributes HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"email": "text",
"attributes": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
PUT /api/v2/bulk/identities/attributes HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 66
[
{
"email": "text",
"attributes": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
]OK
{
"summary": {
"total": 1,
"succeeded": 1,
"failed": 1
},
"results": [
{
"email": "text",
"success": true,
"errors": [
{
"error_code": "text",
"error_details": "text"
}
]
}
]
}OK
DELETE /api/v2/bulk/identities/attributes HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 45
[
{
"email": "text",
"attribute_types": [
"text"
]
}
]OK
{
"summary": {
"total": 1,
"succeeded": 1,
"failed": 1
},
"results": [
{
"email": "text",
"success": true,
"errors": [
{
"error_code": "text",
"error_details": "text"
}
]
}
]
}OK
GET /api/v2/identities HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"type": "text",
"name": "text",
"id": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}100Filter access scopes by name. Supports wildcard () for partial matches - use * for contains, prefix for starts with, *suffix for ends with
OK
GET /api/admin/v1/access-scopes HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"name": "text",
"query": "text",
"creation_date": "text",
"update_date": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}Display name of the access scope
Apono Query Language (AQL) expression that defines filters for cloud resources, integrations, and permissions
OK
POST /api/admin/v1/access-scopes HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 30
{
"name": "text",
"query": "text"
}OK
{
"id": "text",
"name": "text",
"query": "text",
"creation_date": "text",
"update_date": "text"
}OK
GET /api/admin/v1/access-scopes/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"name": "text",
"query": "text",
"creation_date": "text",
"update_date": "text"
}Display name of the access scope
Apono Query Language (AQL) expression that defines filters for cloud resources, integrations, and permissions
OK
PUT /api/admin/v1/access-scopes/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 30
{
"name": "text",
"query": "text"
}OK
{
"id": "text",
"name": "text",
"query": "text",
"creation_date": "text",
"update_date": "text"
}No Content
DELETE /api/admin/v1/access-scopes/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No Content
No content
100Filters access requests by the initiating user. Accepts a user ID or email address. If not provided, returns requests submitted by the authenticated user.
OK
GET /api/user/v4/access-requests HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"status": "text",
"duration_in_sec": 1,
"justification": "text",
"creation_date": "text",
"revocation_date": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"access_groups": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource_types": [
{
"id": "text",
"label": "text"
}
]
}
],
"requestor": {
"id": "text",
"source_id": "text"
},
"grantee": {
"id": "text",
"source_id": "text"
},
"bundle": {
"id": "text",
"name": "text"
}
}
],
"pagination": {
"next_page_token": "text"
}
}Unique identifier or display name of the bundle. Either bundle_reference or entitlements is required
An explanation or reason for the access request
Duration in seconds for which access is requested
The user the access is being requested for. Accepts a user ID or email address. If not provided, access is requested for the authenticated user. Requires the caller to be authorized in the access flow to request access on behalf of the specified user
OK
POST /api/user/v4/access-requests HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 201
{
"bundle_reference": "text",
"entitlements": [
{
"resource_id": "text",
"permission_id": "text"
}
],
"justification": "text",
"duration_in_sec": 1,
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"grantee": "text"
}OK
[
{
"id": "text",
"status": "text",
"duration_in_sec": 1,
"justification": "text",
"creation_date": "text",
"revocation_date": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"access_groups": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource_types": [
{
"id": "text",
"label": "text"
}
]
}
],
"requestor": {
"id": "text",
"source_id": "text"
},
"grantee": {
"id": "text",
"source_id": "text"
},
"bundle": {
"id": "text",
"name": "text"
}
}
]OK
GET /api/user/v4/access-requests/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"status": "text",
"duration_in_sec": 1,
"justification": "text",
"creation_date": "text",
"revocation_date": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"access_groups": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource_types": [
{
"id": "text",
"label": "text"
}
]
}
],
"requestor": {
"id": "text",
"source_id": "text"
},
"grantee": {
"id": "text",
"source_id": "text"
},
"bundle": {
"id": "text",
"name": "text"
}
}100OK
GET /api/user/v4/access-requests/{id}/entitlements HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource": {
"id": "text",
"source_id": "text",
"type": {
"id": "text",
"label": "text"
},
"name": "text"
},
"permission": {
"name": "text"
},
"status": "text"
}
],
"pagination": {
"next_page_token": "text"
}
}An explanation or reason for the access request
OK
POST /api/user/v4/access-requests/{id}/request-again HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 75
{
"justification": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}OK
[
{
"id": "text",
"status": "text",
"duration_in_sec": 1,
"justification": "text",
"creation_date": "text",
"revocation_date": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"access_groups": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource_types": [
{
"id": "text",
"label": "text"
}
]
}
],
"requestor": {
"id": "text",
"source_id": "text"
},
"grantee": {
"id": "text",
"source_id": "text"
},
"bundle": {
"id": "text",
"name": "text"
}
}
]OK
POST /api/user/v4/access-requests/{id}/revoke HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}OK
GET /api/v3/access-requests HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"request_id": "text",
"friendly_request_id": "text",
"user_id": "text",
"status": "PENDING",
"integration_id": "text",
"resource_ids": [
"text"
],
"permissions": [
"text"
],
"justification": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
POST /api/v3/access-requests HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 132
{
"user_id": "text",
"integration_id": "text",
"resource_ids": [
"text"
],
"permissions": [
"text"
],
"justification": "text",
"duration_in_sec": 1
}OK
{
"request_id": "text",
"friendly_request_id": "text",
"user_id": "text",
"status": "PENDING",
"integration_id": "text",
"resource_ids": [
"text"
],
"permissions": [
"text"
],
"justification": "text"
}OK
POST /api/v3/access-requests-bulk/revoke HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 24
{
"request_ids": [
"text"
]
}OK
{
"message": "text"
}OK
GET /api/v3/access-requests/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"request_id": "text",
"friendly_request_id": "text",
"user_id": "text",
"status": "PENDING",
"integration_id": "text",
"resource_ids": [
"text"
],
"permissions": [
"text"
],
"justification": "text"
}OK
GET /api/v3/access-requests/{id}/access-details HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"details": "text"
}OK
POST /api/v3/access-requests/{id}/reset HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"message": "text"
}OK
GET /api/v3/selectable-integrations HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
GET /api/v3/selectable-integrations/{integration_id}/resource-types HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text",
"name": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}OK
GET /api/v3/selectable-integrations/{integration_id}/{resource_type}/permissions HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
"text"
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
},
"allow_multiple": true
}OK
GET /api/v3/selectable-integrations/{integration_id}/{resource_type}/resources HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"data": [
{
"id": "text",
"type": "text",
"name": "text"
}
],
"pagination": {
"total": 1,
"limit": 1,
"offset": 1
}
}Filters results to requests made for the specified user. Accepts a user ID or email address
100Filters results by request status. Supports multiple statuses.
OK
GET /api/user/v1/delegated-access-requests HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"items": [
{
"id": "text",
"status": "text",
"duration_in_sec": 1,
"justification": "text",
"creation_date": "text",
"revocation_date": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"access_groups": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource_types": [
{
"id": "text",
"label": "text"
}
]
}
],
"requestor": {
"id": "text",
"source_id": "text"
},
"grantee": {
"id": "text",
"source_id": "text"
},
"bundle": {
"id": "text",
"name": "text"
}
}
],
"pagination": {
"next_page_token": "text"
}
}OK
GET /api/user/v1/delegated-access-requests/{id} HTTP/1.1
Host: api.apono.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
OK
{
"id": "text",
"status": "text",
"duration_in_sec": 1,
"justification": "text",
"creation_date": "text",
"revocation_date": "text",
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"access_groups": [
{
"integration": {
"id": "text",
"name": "text"
},
"resource_types": [
{
"id": "text",
"label": "text"
}
]
}
],
"requestor": {
"id": "text",
"source_id": "text"
},
"grantee": {
"id": "text",
"source_id": "text"
},
"bundle": {
"id": "text",
"name": "text"
}
}