If your eBay connection in Closo kept going yellow every 1-2 weeks and you had to re-link it manually, you're not alone — and it wasn't your fault. There was a quiet bug on our side that affected 100% of eBay-connected sellers. Last week we fixed it. This article explains what happened and what you can expect now.
What was broken
When you first connect eBay to Closo, eBay gives us a 2-hour access token plus an 18-month refresh token. The access token is what we use to read your listings and post new ones. Every hour or so, we're supposed to swap the access token for a fresh one — that's standard OAuth behavior.
The bug: when we saved your tokens, we forgot to also save when the access token would expire. Without an expiry timestamp, our scheduled refresh job had nothing to check against — so it never ran. Two hours later, the access token would silently die, and the next time Closo tried to do anything with eBay, it failed. Closo's monitoring would then mark your eBay connection yellow and ask you to re-link.
This affected every eBay-connected seller from when we first launched eBay support. The fix is small (one field that should have been written wasn't), but the impact was widespread.
What we fixed
Three changes shipped last week:
First, every new eBay connection now records its expiry time correctly. New sellers will never see the bug.
Second, the scheduled refresh job runs every hour and proactively refreshes any eBay connection that will expire within the next 90 minutes. With this, you'd have to be offline for 18 months before your eBay link breaks — and even then, re-linking is fast.
Third, existing connections are being healed automatically. A backfill job runs nightly to detect any eBay rows missing an expiry timestamp and re-derives them from the refresh token. Within 24 hours of this article going live, every existing eBay connection will be healthy.
When to re-connect manually
Almost no one will need to. Two exceptions:
If you still see an 'eBay connection required' badge by this time tomorrow, re-link from Marketplaces. The backfill missed your row for some other reason (uncommon, but possible) — re-linking will fix it.
If you reset your eBay password sometime in the past, eBay may have invalidated your refresh token at the same time. In that case, the backfill can't recover — you'll need to re-link. This is true regardless of our bug fix.
Behind the scenes (optional)
For sellers who like the technical details: eBay uses OAuth 2.0 with refresh tokens. The access token lives 2 hours; the refresh token lives 18 months. Until last week, our database column expires_at was nullable and our save-token code wasn't writing to it. The hourly refresh job had a WHERE expires_at < NOW() + INTERVAL 90 MINUTE clause, which silently filtered out every row where expires_at was NULL. The fix populated the column on writes and ran a backfill against existing rows.
Check my marketplaces