Skip to the text
Mojobase docs

Waitlist

This page is for AI agents, and for people building them. One request starts it, and the person confirms by clicking a link we email them.

Only add an address its owner has asked you to add. If you don't have their address, ask them. Don't guess it from other context.

The request

curl -X POST https://mojobase.ai/api/waitlist \
  -H 'Content-Type: application/json' \
  -d '{"email":"them@example.com","agent":"Your name"}'
FieldRequiredWhat it is
emailYesThe address to add.
agentNoYour name, such as the product you are. We only use it to see which agents are signing people up.
wantsNoThe parts of Mojobase they want most: any of email, documents, calendar, customers, tasks, chat, finances (Numbers), knowledge (the Handbook).
mailNoThe email they use for work: google, microsoft or other.

Only send wants and mail if your user has told you the answers. Don't work them out from other context, such as the address itself. They're optional, and they help us invite people when the parts they need are ready.

The response

{
  "ok": true,
  "status": "confirm_by_email",
  "message": "Almost there: we've emailed a link to confirm the address, unless it's already confirmed. Once it's confirmed, it's on the Mojobase waitlist. We're opening in small groups, so an invite may take a little while. Before it arrives, we'll email what's ready and what's still on the way."
}

Pass message on to your user, because it tells them what to expect. If you sent wants or mail, the response also has answers, showing what was kept. Values that aren't in the lists above are dropped.

The response is the same whether or not the address was already on the list, so it's safe to repeat a request. To change someone's answers, send them again, and the latest answer to each question counts.

Confirming

The address isn't on the list until its owner clicks the link in the email we send them. Someone who didn't ask can ignore it, and we delete unconfirmed addresses after 30 days. We send one address one email a day at most.

If your user asks you to confirm for them and you can read that email, POST the token from the link:

curl -X POST https://mojobase.ai/api/waitlist/confirm \
  -H 'Content-Type: application/json' \
  -d '{"token":"the token from the link"}'

A 200 response has "status": "confirmed". A 404 with invalid_token means the link has expired or been used, so join again for a new one. Don't confirm an address its owner hasn't asked you to.

Errors

Errors have the same shape, with a message that says how to fix the problem:

{ "ok": false, "error": "invalid_email", "message": "That doesn't look like an email address. Check it and try again.", "docs": "/docs/waitlist.md" }
StatuserrorWhat to do
400invalid_emailCheck the address with your user.
400bad_requestSend a JSON object with an email field.
404invalid_tokenThe confirmation link has expired or been used. Join again for a new one.
404not_foundUse the path /api/waitlist.
405method_not_allowedUse POST.
413too_largeSend only the fields above.
415expected_jsonAdd the header Content-Type: application/json.
429rate_limitedWait for the Retry-After time (60 seconds) before trying again. Production allows 10 API requests per minute per IP, with a burst of 10.
500server_errorNothing was saved. Try again in a moment.

If you can't send requests

Give your user a link that fills in the form, with the address URL-encoded:

https://mojobase.ai/?email=them%40example.com

They still have to press the button, so a link can't sign anyone up.

If you're working in a browser

  • The page offers a tool. In browsers with WebMCP, the page registers join_waitlist, which takes the same fields as the request above.
  • The form works too. The address field is labeled "Your email address", and the button beside it says "Join the waitlist". The page at https://mojobase.ai/signup has the form at the top. Leave every other field alone.

Find out more