PlaneConnection uses webhooks in two directions:
- Inbound webhooks — receive events from third-party services (Stripe, Resend)
- Outbound webhooks — send events to your own endpoints when things happen in the platform
Inbound Webhooks
Inbound webhooks use signature verification instead of session tokens.
Stripe Webhooks
Endpoint: POST /api/webhooks/stripe
Receives Stripe payment events. Signature is verified using the stripe-signature header and a shared signing secret.
Events handled:
Stripe Connect Webhooks
Endpoint: POST /api/webhooks/stripe-connect
Receives events for Stripe Connect (multi-party payments, FBO onboarding, trip payment splits).
Resend Webhooks
Endpoint: POST /api/webhooks/resend
Receives email delivery events from Resend for deliverability monitoring and email analytics. Signature is verified using the webhook signing secret.
Events handled:
Outbound Webhooks
You can configure outbound webhooks to receive notifications when events occur in your PlaneConnection workspace. Webhooks are managed via the API and require admin permissions.
Managing Webhooks
Base path: /api/v1/webhooks
Create Webhook
Webhook URLs targeting private/internal networks (RFC 1918, loopback, link-local, metadata
endpoints) are blocked to prevent SSRF attacks.
Webhook Configuration
Signature Verification
When a secret is configured, each delivery includes an X-Webhook-Signature header containing an HMAC-SHA256 signature of the payload:
Verify the signature in your handler:
Every webhook delivery includes these headers:
Available Event Types
Query available event types at GET /api/v1/webhooks/events.
Reservations
Billing
Flights
Maintenance
Customers
Delivery Logs
View webhook delivery history and troubleshoot failures.
Endpoint: GET /api/v1/webhooks/logs
Test a Webhook
Send a test event to verify your endpoint is receiving deliveries: