Describe the bug
Webhook event channel.subscription.gifts sends expiration dates that are 1 day earlier than they actually are,
e.g., event's expires_at states 2026-05-09 13:35:59 UTC, but the real expiration is 2026-05-10 13:35:59 UTC
Webhook event channel.subscription.new sends expiration dates that are 3 day later than they actually are,
e.g., event's expires_at states 2026-04-29 11:07:16 UTC, but the real expiration is 2026-04-26 11:07:16 UTC
To Reproduce
Subscribe to channel.subscription.gifts and channel.subscription.new event.
Expected behavior
I expect the channel.subscription.gifts and channel.subscription.new event payload to include the correct expiry date
Additional context
I'm building a database of subscribers for a certain streamer and at one point, for a day there was an inconsistency between the sub goal below stream and amount of active subs in the database. The next day the inconsistency disappeared.
When I was investigating the issue I noticed that my gifted sub on the channel, according to the database, is supposed to expire at 2026-05-09 13:35:59, but my subscriptions dashboard on kick website says it expires at 2026-05-10 13:35:59, and the difference between the sub counts of database and sub goal was equal to the amout of gifted subs that were supposed to expire the previous day, at least according to the webhook, but they actually didn't.
Until now I verified 183 gifted subs in total, and all were affected by this issue.
I also went to check the other subscription events, and all the renewed subs expired on correct dates, thus it seems like the channel.subscription.renewal event states correct expiry dates.
But with the channel.subscription.new event, even though I was only able to verify 7 subs in total, they all expired 3 days earlier than the expires_at given by webhook.
Aside from the main issues I disclosed I also have a question. It seems like sub goals on kick don't include cancelled subs even though they are still active, is this intended?
Describe the bug
Webhook event
channel.subscription.giftssends expiration dates that are 1 day earlier than they actually are,e.g., event's
expires_atstates 2026-05-09 13:35:59 UTC, but the real expiration is 2026-05-10 13:35:59 UTCWebhook event
channel.subscription.newsends expiration dates that are 3 day later than they actually are,e.g., event's
expires_atstates 2026-04-29 11:07:16 UTC, but the real expiration is 2026-04-26 11:07:16 UTCTo Reproduce
Subscribe to
channel.subscription.giftsandchannel.subscription.newevent.Expected behavior
I expect the
channel.subscription.giftsandchannel.subscription.newevent payload to include the correct expiry dateAdditional context
I'm building a database of subscribers for a certain streamer and at one point, for a day there was an inconsistency between the sub goal below stream and amount of active subs in the database. The next day the inconsistency disappeared.
When I was investigating the issue I noticed that my gifted sub on the channel, according to the database, is supposed to expire at 2026-05-09 13:35:59, but my subscriptions dashboard on kick website says it expires at 2026-05-10 13:35:59, and the difference between the sub counts of database and sub goal was equal to the amout of gifted subs that were supposed to expire the previous day, at least according to the webhook, but they actually didn't.
Until now I verified 183 gifted subs in total, and all were affected by this issue.
I also went to check the other subscription events, and all the renewed subs expired on correct dates, thus it seems like the
channel.subscription.renewalevent states correct expiry dates.But with the
channel.subscription.newevent, even though I was only able to verify 7 subs in total, they all expired 3 days earlier than theexpires_atgiven by webhook.Aside from the main issues I disclosed I also have a question. It seems like sub goals on kick don't include cancelled subs even though they are still active, is this intended?