OfficeX Developer Platform

Anonymous Workspaces for Your App

Get started in 2 minutes

Anonymous OfficeX is designed for whitelabel with zero dependencies.

The /quickstart endpoint is the easiest way to get started. It will create a new organization, auth credentials & magic login links.

You can reuse your same User IDs and sync anything with your database schema.

Try it in codepen live, or read the "Get Started" guide for full details.

rocket-launchGet Started terminalRun in Codepen

index.js
// try this in browser js console
const logins = await (
    await fetch(`https://officex.otterpad.cc/v1/factory/quickstart`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        org_name: "Anonymous Org",
        members: [
          { name: "friend1" }, 
          { name: "friend2" }
        ],
      }),
    })
  ).json();
  console.log(logins); 

iFrame

Anonymous OfficeX can work clientside offline without servers. It's also easy to sync with cloud anytime.

iFrames can be controlled via iframe.postMessage() to upload files, navigate routes & more. The REST API can also be used to control remotely.

Try it in codepen live, or read the guide for full details (youtube video available)

playWatch Tutorial terminalRun in Codepen

<iframe
  id="officex-iframe"
  src="https://officex.app"
  sandbox="allow-same-origin allow-scripts allow-downloads allow-popups"
></iframe>
<script>
  const iframeElement = document.getElementById("officex-iframe");
  iframeElement.onload = () => {
    const data = { injected: logins };
    iframeElement.contentWindow.postMessage(
      { type: "OFFICEX_INIT", data, tracer: "my-tracer" },
      "https://officex.app"
    );
  };
</script>

REST API

Anonymous OfficeX can work clientside offline without servers. It's also easy to sync with cloud anytime.

iFrames can be controlled via iframe.postMessage() to upload files, navigate routes & more

book-openAPI Reference terminalRun in Postman

# Simplified for demo, see API reference

POST /directory/action
POST /groups/invite
POST /permits/create
POST /webhooks/create
POST /organization/search
POST /organization/archive

Typescript Types

Anonymous OfficeX can work clientside offline without servers. It's also easy to sync with cloud anytime.

inbox-inNpm Package terminalRun in Codepen

// Simplified for demo, see API reference
import { 
  IRequestCreateContact, 
  IResponseCreateContact 
} from "@officexapp/types";

const payload: IRequestCreateContact = {
  name: string;
  avatar?: string;
  email?: string;
  is_placeholder?: boolean;
}

const result: IResponseCreateContact = await fetch(
  "/contacts/create", 
  { body }
)

Anonymous Workspace

Product Demo | Built for Whitelabel


Learn More

Recommended to start with Core Concepts


Join the developer community

Join our Discord community or create your first PR in just a few steps.

discord

Discord community

Join our Discord community to post questions, get help, and share resources with like-minded developers.

github

GitHub

Our product is 100% open source and built by developers just like you. Head to our GitHub repository to learn how to submit your first PR.

Last updated