SDK quickstart

1

Install

bash
npm install @rogeriq/sdk
2

Initialize

ts
import { RogerIQ } from "@rogeriq/sdk";const roger = new RogerIQ({ apiKey: process.env.RIQ_API_KEY!, projectId: process.env.RIQ_PROJECT_ID!,});
3

Call the API

ts
const open = await roger.conversations.list({ status: "open" });await roger.conversations.reply("con_xxx", "Thanks — looking into it.");await roger.agent.respond("con_xxx");

Resource map

roger.…Methods
conversationslist, listAll, get, create, update, reply, resolve, snooze, assign
conversations.messageslist, send
contactslist, listAll, get, upsert, update
kblist, get, create, update, delete, publish, search
agentstatus, getConfig, updateConfig, respond, classify, suggest
widgetgetConfig, updateConfig
integrationslist, browseCatalog, getCatalogItem, getInstallUrl, updateLifecycle, disconnect
formslist, get, create, update, archive, unarchive, submissions
beaconslist, get, create, update, archive, unarchive
webhookslist, get, create, update, delete, test, deliveries, rotateSecret
projectslist, get, create, update, delete

Multi-project

Don't pass projectId to the constructor — bind per-call:

ts
const roger = new RogerIQ({ apiKey: process.env.RIQ_API_KEY! });await roger.project("prj_a").conversations.list();await roger.project("prj_b").kb.search("billing");await roger.org("org_x").projects.list();

Cloudflare Workers

ts
import { RogerIQ } from "@rogeriq/sdk";export default { async fetch(req, env) { const roger = new RogerIQ({ apiKey: env.RIQ_API_KEY, projectId: env.RIQ_PROJECT_ID, }); const conversations = await roger.conversations.list({ status: "open" }); return Response.json(conversations); },};

Configuration

ts
new RogerIQ({ apiKey: "riq_xxx", projectId: "prj_xxx", // optional default orgId: "org_xxx", // optional default apiBase: "https://api.rogeriq.com", // override for staging fetch: customFetch, // override (testing) userAgent: "my-app/1.2", onResponse: (meta) => { if (meta.rateLimit && meta.rateLimit.remaining < 10) { console.warn("approaching rate limit", meta.rateLimit); } },});

What's next

Pagination

listAll() async iterators that auto-walk cursor pages.

Learn More
Errors

RogerIQError with stable codes and request IDs.

Learn More
Webhooks

Verify incoming webhook signatures with Web Crypto.

Learn More
CLI

For shell + AI agent use.

Learn More
Ask a question... ⌘I