A couple weeks back I took a week off to relax and recharge after a really busy start to the year.
The week started off great! I spent time with family and friends on the first day and everything was peachy.
The next day, I had a Zoom call that I couldn't get out of (I don't usually take work calls during a vacation), but I wasn't going to let that get me down... I planned to power through the call and then get back to my vacation as swiftly as possible.
Little did I know that during that call, my day was about to take an unpleasant turn...
About half way through the meeting, I started seeing warning alerts from my error monitoring (Honebadger) in my Thread Creator Slack channel. I ignored the first one because I really didn’t want to be that guy who is doing other things instead of paying attention to the meeting.
The messages kept coming though, and so I was eventually forced to take a look.
Low and behold, my Twitter API access had been suspended, basically rendering my entire product useless.
Thread Creator is a tool that allows you to create, organize and schedule Twitter threads.
Not only could users not send out their Twitter threads. New users couldn’t sign up (I only offer login via Twitter).
Luckily, the meeting ended earlier than expected, and so I took a deep breath and set to work on figuring out what was going on.
The error message that was being returned from the API wasn’t super informative so I decided to login to the developer portal to see if there was any additional information available.
The only information I could find was the following message:
This App has violated Twitter Rules and policies. As a result, certain functions will be limited. An email has been sent to [my email address] with details. For assistance, submit a support ticket.
I hadn’t received any email, so I proceeded to submit a support ticket. The confirmation page said it may take a couple of days before this would be looked at.
Meanwhile, hundreds of users were completely stranded and unable to get their threads published.
I quickly realised that the only way this was going to get fixed was if I widened the net and sought help from as many people and avenues as possible.
I created a new topic in the Developer Forum, messaged friends, reached out to fellow makers on Makerlog and DM’d various folks who work at Twitter who I thought could help.
Over 24 hours went by and nothing changed, the API suspension remained in place.
The next day, more than 24 hours after the suspension, I had basically resigned myself to waiting for Twitter Support to get back to me, and I decided to try to put my concern aside and enjoy my vacation.
About 6 hours later (30+ hours since suspension) I received a DM reply from someone who works at Twitter. They mentioned that they had asked the team to look into this and that someone from Support should be reaching out shortly.
WHOOHOOO! 🎉 There might just be a chance...
I immediately checked my email and found a response from Support with a somewhat limited explanation of what had happened.
One of my users had "@ mentioned" too many users in a thread they had created.
I guess I could see how that might be seen as "spammy behaviour"...
The email went on to state that I should respond with how I plan to mitigate this issue.
I replied that I would absolutely put extra protections in place, and I also politely suggested that in future, it would be nice to have a warning or some advanced notice about a potential suspension, instead of just an immediate cut off of services.
Within 30 minutes I received a reply letting me know that the suspension had been lifted. I breathed a deep sigh of relief and went on with my day (we had plans with some friends).
I'm pretty sure that this problem would still be ongoing had that amazing person from Twitter not pushed it to the top of the support team’s list.
I won’t mention who they are, as I’m sure they will become inundated with requests for help, but I’m extremely grateful that they helped me out! 🙌
I definitely learned a couple things through this process and I have three suggestions for anyone thinking of building something on top of a third party API.
I am documenting and sharing my journey building self-funded startups, every step of the way on Twitter, so follow me over there for more.