Quickstart

Five minutes to your first authenticated request. Works in Node, Bun, Deno, or the browser.

1. Create an API key

Open dashboard / API keys and click Create key. Give it a recognizable name like "Production backend". You'll see the full key once — copy it to your password manager or environment file:

# .env.local
YORKYY_API_KEY=yk_live_...

2. Install the SDK (optional)

Skip this if you'll call the REST API directly. Otherwise:

npm install @yorkyy/sdk
# or
pnpm add @yorkyy/sdk
# or
bun add @yorkyy/sdk

3. Make a request

With the SDK:

import { Yorkyy } from "@yorkyy/sdk";

const yorkyy = new Yorkyy({ apiKey: process.env.YORKYY_API_KEY! });

const me = await yorkyy.me();
console.log(`Authenticated as ${me.email}`);

const forms = await yorkyy.forms.list();
for (const form of forms) {
  console.log(form.title, form.public_id);
}

Or with plain fetch:

const res = await fetch("https://yorkyy.com/api/v1/forms", {
  headers: { Authorization: `Bearer ${process.env.YORKYY_API_KEY}` },
});
const { data } = await res.json();
console.log(data);

4. Read submissions

const form = forms[0];
const { data } = await yorkyy.forms.submissions(form.id, { limit: 50 });

for (const submission of data) {
  console.log(submission.id, submission.data, submission.created_at);
}

5. Wire up webhooks (optional)

For real-time push instead of pull, add a webhook channel under dashboard / Channels. yorkyy will POST a signed JSON payload to your endpoint each time a form is submitted. See webhook docs for signature verification.


Next steps