Skip to main content
Set a non-empty PUSHCTL_TOKEN. Set PUSHCTL_URL only when using a different service origin. Clear cached configuration after changing environment values.
Create a token with Server send or Full access. The request requires notifications:send.
The notifiable route returned null, an empty string, or an empty array. Confirm routeNotificationForPushctl returns external user IDs.
The notification must define toPushctl(object $notifiable): PushctlMessage and include PushctlChannel::class in via.
Increase PUSHCTL_TIMEOUT from its 10-second default and queue the notification. Also check outbound HTTPS connectivity.
Set a stable idempotencyKey on the message before dispatching queued work.
Check recipient count and message limits: at least one and at most 500 recipients, a title/body/data value, valid URLs, TTL, and platform option types.
HTTP failures are rethrown by Laravel’s HTTP client. Catch or let your queue worker retry according to the failure policy for your application.