Webhook Payload Schema Reference

Send Apono access request data to your internal systems with event-triggered HTTP messages

This reference describes each of the properties of the webhook payload schema.

The payload schema defines the structure of the data that you can pass in the webhook payload. Apono uses the Handlebars templating language to format expressions for certain data fields.

{
    "event_type": "AccessRequestCreated",
    "event_time": 1696263265.851898000,
    "data": {
        "id": "123",
        "friendly_id": "AR-123",
        "requester": {
            "id": "user-1",
            "name": "User",
            "email": "user@example.com"
        },
        "justification": "I need access to this",
        "creation_date": 1696263265.852378000,
        "revocation_date": 1696266865.852380000,
        "access_flow": {
            "id": "flow-1",
            "name": "Flow 1"
        },
        "access_bundle": {
            "id": "bundle-1",
            "name": "Bundle 1"
        },
        "access_groups": [
            {
                "integration": {
                    "id": "integration-1",
                    "type": "Postgresql",
                    "name": "prod db"
                },
                "resource_types": [
                    {
                        "id": "postgresql-database",
                        "name": "Database",
                        "display_path": "Postgresql/Database"
                    }
                ],
                "access_units": [
                    {
                        "resource": {
                            "id": "res-1",
                            "name": "DB 1",
                            "path": "prod db/res-1",
                            "type": {
                                "id": "postgresql-database",
                                "name": "Database",
                                "display_path": "Postgresql/Database"
                            }
                        },
                        "permission": {
                            "id": "ReadOnly",
                            "name": "ReadOnly"
                        }
                    },
                    {
                        "resource": {
                            "id": "res-2",
                            "name": "DB 2",
                            "path": "prod db/res-2",
                            "type": {
                                "id": "postgresql-database",
                                "name": "Database",
                                "display_path": "Postgresql/Database"
                            }
                        },
                        "permission": {
                            "id": "ReadOnly",
                            "name": "ReadOnly"
                        }
                    }
                ]
            }
        ],
        "approvals_logical_relation": "AllOf",
        "approvals": [
            {
                "name": "Manager",
                "type": "Manager",
                "status": "Pending"
            },
            {
                "name": "Admins",
                "type": "Group",
                "status": "Approved",
                "approver": {
                    "id": "admin-1",
                    "name": "Admin 1",
                    "email": "admin@example.com"
                }
            }
        ]
    }
}
PropertyDescription

event_type string

Webhook trigger, corresponding to different access request statuses

event_time float

Time of the event occurrence in epoch seconds.milliseconds

data object

Field containing an embedded object with contextual information about the triggering event See data object.

data object

PropertyDescription

id string

Apono request ID

friendly_id string

Human-readable ID that also appears in the Apono UI

requester object

Metadata about the user requesting access See data.requester object

justification string

Reason provided by requester for needing access

creation_date float

Date the access request was created in epoch seconds.milliseconds

revocation_date float

Date the access request was revoked in epoch seconds.milliseconds

access_flow object

Metadata about a related access flow See data.access_flow object

access_bundle object

Metadata about a related access bundle See data.access_bundle object

access_groups object

Metadata about related integrations and resources that the requester wants to access See data.access_groups object

approvals_logical_relation string

Whether the request requires one approver (AnyOf value) or all approvers within a group (AllOf value)

approvals object

Metadata about approved access requests See data.approvals object

\

data.requester object

PropertyDescription

id string

Requester's Apono ID

name string

Requester’s Apono username

email string

Requester’s email address

\

data.access_flow object

PropertyDescription

id string

Apono ID for the access flow

name string

Customer-created name for the access flow

\

data.access_bundle object

PropertyDescription

id string

Apono ID for the access bundle

name string

Customer-created name for the access bundle

\

data.access_groups object

PropertyDescription

integration object

Metadata about the integration that the requester wants to access See data.access_groups.integration object

resource_types object

Metadata about the resource types that the requester wants to access See data.access_groups.resource_types object

access_units object

Metadata about the requested access unit, which is a pairing of a resource and a permission See data.access_groups.access_units object.

\

data.access_groups.integration object

PropertyDescription

id string

Apono ID of the integration

type string

Type of resource the requester wants to access, such as Postgresql

name string

Customer-created resource name

\

data.access_groups.resource_types object

PropertyDescription

id string

Apono ID of the integration

name string

Display name for the resource

display_path string

Logical, hierarchical container for the resource For example, the display path for an AWS bucket resource type might be AWS-account/us-east/bucket/E2

\

data.access_groups.access_units object

PropertyDescription

resource object

Metadata about the resource the requester wants to access See data.access_groups.access_units.resource object

permissions object

Metadata about resource permission granted to the requester See data.access_groups.access_units.permissions object

\

data.access_groups.access_units.resource object

PropertyDescription

id string

Apono ID of the resource

name string

Customer-created name for the resource

path string

Physical path of the resource For example, the path of a database would be database-name/table-name

type object

Metadata about the resource type the requester wants to access See data.access_groups.access_units.resource.type object

\

data.access_groups.access_units.resource.type object

PropertyDescription

id string

Apono ID of the resource type

name string

Name of the resource type

display_path string

Logical, hierarchical container for the resource For example, the display path for an AWS bucket resource type might be AWS-account/us-east/bucket/E2.

\

data.access_groups.access_units.permissions object

PropertyDescription

id string

Apono ID for the permission

name string

Name of the permission granted to the requester, such as ReadOnly

\

data.approvals object

PropertyDescription

name string

Name of the entity approving the request, which could be:

  • A person

  • A group, such as an Okta group

  • A work shift

  • The word Manager

type string

Type of approver Possible values:

  • Person

  • Group, such as an Okta group

  • Shift, such as an on-call shift

  • Manager

status string

Status of the request Possible values:

  • Approved

  • Rejected

  • Pending

approver object

Metadata about the person approving the access request See data.approvals.approver object.

\

data.approvals.approver object

PropertyDescription

id string

Approver's Apono ID

name string

Approver's Apono username

email string

Approver's email address

Last updated