Developers

Fix API errors

What each API error means and how to fix it.

← Back to Developers

When Shoal can't do what a request asks, it answers with a number (the status) and a message like {"error": "No event with that id in your organization."}. Nothing from a failed request is saved, so fix the problem and send it again.

401: the key wasn't accepted

  1. Check the header is named Authorization and its value is the word Bearer, one space, then the key, with no quote marks or extra spaces around the key.
  2. Make sure you copied the whole key. If you can't find it, create a new key; Shoal never shows an old one again.
  3. The key may have been deleted on the API page. Create a new one.

404: not found

  1. "No event with that id in your organization" means the event id is wrong or belongs to another organization. Copy it again from the address bar (only the part after /events/).
  2. Check the web address for typos. It should start with https://shoalevents.com/api/v1/.

400: something in the request needs fixing

The message says what to fix, and when you send several people it names which one, counting from 1. Common ones:

  1. "Attendee 3 needs a valid email": the third person's email is missing or mistyped.
  2. "Attendee 5 repeats pat@example.com": the same email appears twice in one request. Remove one.
  3. "has unknown fields": a field name is misspelled. Names are lowercase with underscores, like first_name.
  4. "answers a question this event doesn't have": a question's name doesn't match the event's registration form. Copy it exactly from the Form & Fields screen.
  5. "names a track this event doesn't have": create the track on the Tracks tab under Agenda first (or send it to the tracks address), or fix the spelling.
  6. "Send a JSON body like {"attendees": [ ... ]}": the list of people must be inside "attendees": [ ], and the Content-Type header must be application/json. Other addresses ask for their own list name, such as "tracks" or "sponsors".
  7. "Event dates lock 5 days before the event starts": starts_at, ends_at and timezone can't be changed from 5 days before the event begins (or after it). Write to support from Help if a date really has to move.
  8. "another of your events already uses the web address": send a different slug when creating an event.

429: too many requests

Each key can make 300 requests a minute. Wait a minute and try again. Sending people in batches (up to 500 per request) instead of one at a time avoids this.

500: something went wrong on our side

Try again in a minute. If it keeps happening, contact support from Help with the time it happened and what you were sending (never your key).

It worked, but nobody got an email

That's on purpose: the API never emails anyone. Send invitations or tickets from the event's Attendees screen when you're ready.

Plan Your Next Event on Shoal

Your first 2 events of up to 50 people are free if you create them before January 1, 2027. Set up in an afternoon.