List Webhook Public Keys
Retrieves a paginated list of public keys used by Kiwify to cryptographically sign all outgoing webhook event payloads. These keys are essential for verifying the authenticity and integrity of received webhooks. Supports cursor-based pagination for efficient data retrieval.
Webhook Delivery Headers
Every webhook POST includes:
| Header | Description |
|---|---|
Content-Type | Always application/json |
x-kiwify-digital-signature | Base64url Ed25519 signature (no padding) |
x-kiwify-timestamp | Unix timestamp in milliseconds used in the signed message |
Signature Verification
- Reconstruct the signed message:
{url_path}:POST:{raw_body}:{timestamp} - SHA-256 hash the message bytes
- Verify the signature with the active public key from this endpoint (EdDSA-Ed25519)
- Reject timestamps older than 5 minutes
See the Webhook Headers & Verification guide for a full walkthrough with code examples.
Authorizations
UUID of the service account (e.g., 550e8400-e29b-41d4-a716-446655440000)
Unix timestamp in milliseconds (e.g., 1704636800000). Must be within 5 minutes of server time.
Must be 'service-account' for service account authentication
EdDSA signature of the request in base64 format. Signs: uri:method:body:timestamp
Query Parameters
Maximum number of results per page (1-100, default: 20).
x >= 0Pagination cursor in format "timestamp_micros:id".
