Happy Deepavali! May the festival of lights brighten your days πŸͺ”
// integrations

FHX apps, better together

FHX Kenangan, Pesta Duel and MajlisKita each work on their own, and they connect to each other. Here is what connects to what, how accounts are linked, and the APIs we offer.

The platforms

FHX Kenangan

Guests send photos, videos and wishes from their phone. Private gallery and a big-screen display.

fhxlabs.com/product/kenangan

Pesta Duel

Scan-to-join crowd games: phones become controllers, the big screen shows the race, draw or quiz.

pestaduel.fhxlabs.com

MajlisKita

Event management: registration, tickets, check-in, sessions, speakers and vendors.

majliskita.fhxlabs.com

What connects to what

From β†’ toWhat you getStatus
MajlisKita β†’ KenanganEach event gets a Kenangan event: the guest QR on e-tickets and the attendee portal, the gallery in the organiser console, the big-screen display on the host screen.Live with an API key
Planned via linked accounts
MajlisKita β†’ Pesta DuelOpen a Pesta Duel event for a MajlisKita event, bring registered attendees in as players, see winners and prize claims back in MajlisKita.Planned
Pesta Duel β†’ KenanganA "Kongsi kenangan" QR between games and on the podium, and the Kenangan display between rounds.Live with an API key
Planned via linked accounts

Accounts: separate, and linked by email

Linked accounts (FHX Connect) are Planned. Until then, connect apps with a Kenangan API key.

APIs

All APIs use JSON. Errors are { "error": "…" } with an HTTP status code.

FHX Kenangan Live

Base URL https://fhxlabs.com/api/kenangan. These routes can be called from any website.

WhoAuthRoutes
GuestsnoneGET /events/:code Β· POST /events/:code/media (photo or video as the raw body) Β· POST /events/:code/wishes
Big screendisplay link tokenGET /display/:code?t=…
Your apporganiser API key
Authorization: Bearer kn_…
GET /v1/event Β· GET /v1/items?type=&since=&limit= Β· PATCH /v1/event (open/close) Β· DELETE /v1/items/:id

Limits: photos up to 15 MB, videos up to 50 MB and 60 seconds, and the limits of the event's package (Event Pass: 1,000 photos, 100 videos, 1,000 wishes).

const KENANGAN = 'https://fhxlabs.com/api/kenangan';
const res = await fetch(`${KENANGAN}/v1/items?limit=50`, {
  headers: { Authorization: `Bearer ${apiKey}` },
});
const { items } = await res.json();
// items[0] β†’ { id, type: 'image', name, at, url, downloadUrl }

Pesta Duel Planned

Base URL https://pestaduel.fhxlabs.com/api/v1, for linked accounts: list and create events, import players, read winners and prize claims, attach a Kenangan event.

MajlisKita Planned

Base URL https://majliskita.fhxlabs.com/api/v1, for linked accounts: list events. Webhooks for registrations and check-ins later.

FHX Connect: account linking Planned

The same linking flow on every platform: sign in on the other app, which checks that the email is the same, then you approve. Built on OAuth 2.0 (authorization code with PKCE). Linked apps get a revocable link token and one-time login links.

Get started

  1. Ask us for a Kenangan event on one of the plans.
  2. In the Kenangan gallery, open the event and click Generate key under "Organiser API key". It is shown once.
  3. Call GET /v1/event with the key. Show guestUrl as a QR code and open displayUrl on the big screen.
  4. Keep the key on your server. If it leaks, replace it in the gallery.

Building an integration? βœ‰οΈ hello@fhxlabs.com