Subscriptions (webhooks)
The subscription service provides an interface for third-party auditing tools to subscribe to and consume PingOne audit activity events. The service listens for translated audit activities as the source of events and transmits messages about these events to the subscribing audit application.
Use only IPv4 addresses for webhooks. IPv6 addresses are not fully-supported.
For more information about subscriptions (webhooks), refer to Webhooks in the PingOne Admin Guide.
|
If the webhook target is offline, PingOne continues to retry and queue up all matching events. If the webhook target is down for longer than 7 days, PingOne starts to lose events. The webhook continues to retry the current event until a 200 response is returned. It doesn’t move on to the next event until a 200 response has returned or the event has expired from Kafka. |
|
This service includes a property to designate whether to verify TLS certificates that establish the Secure Sockets Layer (SSL) protocol to the HTTP endpoint. For certificate verification, the following behaviors apply:
For more information about certificates, refer to Certificate management. |
Subscriptions data model
| Property | Type | Require? | Mutable? | Description |
|---|---|---|---|---|
|
Date |
N/A |
Read-only |
The date and time at which the subscription resource was created (ISO 8601 format). |
|
Boolean |
Required |
Mutable |
Indicates whether a created or updated subscription should be active or suspended. A suspended state ( |
|
String |
Required |
Immutable |
The environment resource’s unique identifier associated with the subscription. |
|
String[] |
Required |
Mutable |
A non-empty array that specifies the list of audit events that should be matched for the subscription. Refer to Audit Reporting Events for valid audit events. |
|
String[] |
Optional |
Mutable |
The list of applications (by ID) whose events are monitored by the subscription (maximum of 10 IDs in the array). If a list of applications is not provided, events are monitored for all applications in the environment. |
|
String[] |
Optional |
Mutable |
The list of populations (by ID) whose events are monitored by the subscription (maximum of 10 IDs in the array). This property matches events for users in the specified populations, as opposed to events generated in which the user in one of the populations is the actor. |
|
String[] |
Optional |
Mutable |
The tags that events must have to be monitored by the subscription. If tags are not specified, all events are monitored. Currently, the available tags are: * |
|
Boolean |
Optional |
Mutable |
Whether the IP address of an actor should be present in the |
|
Boolean |
Optional |
Mutable |
Whether the User-Agent HTTP header of an event should be present in the |
|
String |
Required |
Mutable |
One of the supported subscription formats. Options are: * * * |
|
String[] |
Required |
Mutable |
The headers applied to the outbound request (for example: |
|
String |
Required |
Mutable |
A string that specifies a valid HTTPS URL to which event messages are sent. |
|
String |
N/A |
Read-only |
The resource’s unique identifier. |
|
String[] |
Required |
Mutable |
The subscription name. |
|
String |
Optional |
Mutable |
The ID of a key to be used for outbound mutual TLS (mTLS) authentication. This key is used as a client credential to authenticate the webhook. The key must have a |
|
Date |
N/A |
Read-only |
The date and time at which the subscription resource was last updated (ISO 8601 format). |
|
Boolean |
Required |
Mutable |
Indicates whether a certificates should be verified. If this property’s value is set to |
Subscription Events
You can subscribe to any of the audit events listed in Audit Reporting Events.
The audit events triggered by your subscription requests are also in the Audit Report Events list: SUBSCRIPTION.CREATED, SUBSCRIPTION.UPDATED, and SUBSCRIPTION.DELETED.
Response codes
| Code | Message |
|---|---|
200 |
Successful operation. |
201 |
Successfully created. |
204 |
Successfully removed. No content. |
400 |
The request could not be completed. |
401 |
You do not have access to this resource. |
403 |
The request could not be completed. You do not have access to this resource. |
404 |
The requested resource was not found. |