Developers

Rokey for apps and agents

Rokey turns a sentence into an event page, invites and a QR code. This is the same thing without a browser — so your own app, or an AI assistant you already talk to, can make one for you.

An event on Rokey is a Rokey. Times are IST (Asia/Kolkata) unless you say otherwise. Keys are free on every plan.

Get a key

Profile → Settings → API keys → name it after whatever will hold it, and create.

The key is shown once. Only its digest is stored, so a lost key cannot be recovered — revoke it and make another.

Authorization: Bearer rk_live_a1b2c3d4_…
A key acts as you. Anything it does, you did — including mailing your guests. Treat it like a password, keep it server-side, and revoke anything you no longer recognise.

MCP — talk to Rokey from an AI assistant

Rokey runs a remote Model Context Protocol server. Nothing to install and nothing to run — point a client at the URL and give it your key.

https://rokey.in/api/mcp

In Claude

Settings → Connectors → Add custom connector. Paste the URL above, and add the header:

Authorization: Bearer rk_live_…

Then just ask: “make me a Rokey for a rooftop dinner next Saturday at 8pm in Delhi, and invite Ada and Grace.”

Tools

rokey_draft_from_sentenceTurn a sentence into a draft — title, date, venue, mode. Creates nothing.
rokey_createCreate a Rokey. Returns the share link.
rokey_listThe Rokeys you host.
rokey_getOne Rokey in full — guests, RSVPs, the lot.
rokey_inviteSend invites by email or SMS. Sends real messages.destructive

Draft first, then create — it gives a person the chance to check the date before anything is published. rokey_invite is annotated destructive on purpose: messages cannot be unsent, and SMS costs money.

REST

https://rokey.in/api/v1

Create a Rokey

POST /api/v1/rokeys
Authorization: Bearer rk_live_…
Content-Type: application/json

{ "sentence": "rooftop dinner next Saturday at 8pm in Delhi" }

Answers with the links you need to do anything else:

{
  "slug": "rooftop-dinner-next-saturday-at-8pm-in-delhi",
  "url": "https://rokey.in/e/rooftop-dinner-next-saturday-at-8pm-in-delhi",
  "manageUrl": "https://rokey.in/manage/…",
  "reclaimCode": "RH-XXXXXXXX"
}

sentence is the intended path. Explicit fields override whatever the parser decided, and you can send them instead — title and startAt are the minimum without a sentence:

{
  "title": "Sunday Supper Club",
  "description": "Six courses, one long table.",
  "startAt": "2027-03-14T19:30",
  "mode": "IN_PERSON",
  "privacy": "LOW_KEY",
  "priceAmount": 150000,
  "venue": { "name": "The Terrace", "address": "12 Model Town, Chandigarh" },
  "status": "DRAFT"
}

priceAmount is in paise — 150000 is ₹1,500, 0 is free. status is PUBLISHED (the default) or DRAFT. reclaimCode is shown once: it is how you recover the Rokey if you lose access to the account.

List and read

GET /api/v1/rokeys?limit=25
GET /api/v1/rokeys/{slug}

Invite people

POST /api/v1/rokeys/{slug}/invites

{
  "channel": "EMAIL",
  "recipients": [{ "name": "Ada", "contact": "ada@example.com" }]
}

Up to 50 per call, each recipient getting their own link. Email is free on every plan; SMS needs PRO and is billed per message.

Errors

Every failure is the same shape, so you can branch on code and still have something to show a person:

{ "error": { "code": "invalid_request", "message": "Send either `sentence`, or at least `title` and `startAt`." } }
unauthorized401Missing, invalid or revoked key.
not_found404No such Rokey that you host.
invalid_request422The body, or your plan, refused it.
rate_limited429Slow down.

A Rokey you do not host answers 404, not 403. A 403 would confirm that a slug exists to anyone holding any key.

Those four are every code the API raises deliberately. An unhandled fault still answers 5xx, and that one may not carry the envelope — so treat a response you cannot parse as a server error and retry it, rather than reading error.code without checking the status first.

Limits

  • 120 requests per minute per key.
  • 10 Rokeys per 10 minutes.
  • 50 invite recipients per call, 10 invite calls per Rokey per 10 minutes.
  • 10 live keys per account.

Limits are per key rather than per IP — a key is what was issued and what you can revoke.