https://hec.huntress.io/services/collector as the destination.GET https://app.stackyapper.dev/api/audit-export/feed?after=CURSOR.
For the first request, omit after. Process every event before saving
next_cursor; follow has_more to retrieve additional pages. Poll once per minute
normally, and never faster than once every five seconds. Rotating or revoking the
token invalidates the previous credential.event_id.expired_through value as the acknowledge_expired_through query parameter,
keeping the existing after cursor. Expired events
cannot be recovered through log delivery.| Event | Default mode | Allowed modes |
| Identity & access changed | Immediate | Immediate, Daily, Off |
| Admin role granted | Immediate | Immediate, Daily, Off |
| Destructive tool executed | Daily | Immediate, Daily, Off |
| Tool calls denied | Immediate | Immediate, Daily, Off |
| Access from a new country | Immediate | Immediate, Daily, Off |
| New network during a destructive call | Immediate | Immediate, Daily, Off |
| New network, known country | Daily | Immediate, Daily, Off |
| New AI client connected | Daily | Immediate, Daily, Off |
| Weekly security digest | Weekly | Weekly, Off |
| Section | Default |
| Needs you now | Included |
| Access changes | Included |
| Alert delivery | Included |
| New access | Included |
| Notable tool activity | Included |
| Denied and failed calls | Included |
| Dormant authorizations | Not included |
| Evidence | Included |
/24 or IPv6 /48 prefix./24 or /48 prefix with
prefixes seen in recent audit history, so Do not store turns that one alert
off. Choose a setting consistent with your organization's privacy and
investigation requirements.| Sent when | |
| Workspace invitation | An owner or admin invites someone |
| Recipient confirmation | An address is added as a notification recipient |
| Test notification | An admin sends a test |
| Access request received | You request an approval-gated app |
| Access approved | A reviewer approves that request |
| AI client access request needs review | A member requests access to an AI client (sent to the routed reviewers) |
| Your AI client access request | An admin approves or blocks that request (sent to the requester) |
| Billing access notice | A paid subscription's payment is overdue: grace available, grace ending, paid access suspended, or access recovered (sent to workspace owners and the billing email) |
| Issue resolved | Actionable feedback you submitted through stackyapper_feedback has a verified resolution |
noreply@stackyapper.dev or support@stackyapper.dev. Allow
both if your filtering quarantines unfamiliar senders. If a partner has set up its
own email delivery for your workspace, such as its own SMTP server, some email
can come from the partner's address instead. Invoices, receipts, and payment reminders come from Stripe, not
from Stackyapper.version: 1, event: "ai_client.access_requested",
requestId, revision, eventId, client, requester, justification, and reviewUrl.X-Stackyapper-Signature against the hex-encoded HMAC-SHA256 of
X-Stackyapper-Timestamp + "." + rawRequestBody, using your signing secret.
Reject stale timestamps and deduplicate eventId in your receiver. Each event ID
combines the request ID and revision, so a reopened request has a new ID. The
webhook contains no approval credential; decisions require an authenticated
admin in the portal.