Construction
Create one client with createSkedcast(). It supports three auth modes — a cookie session (first-party browser), an OAuth bearer token, or a Developer API key — all over an injectable fetch.
import { createSkedcast } from "@skedcast/sdk";
const sk = createSkedcast({
baseUrl: "https://api.skedcast.com/v1",
apiKey: process.env.SKEDCAST_API_KEY, // sent as Authorization: Bearer sked_…
});
const { data } = await sk.clients.list({ limit: 10 });Resources & errors
Every resource exposes typed methods (sk.posts.list(), sk.analytics.overview(), …) returning { data } (single) or { data, page } (list). Non-2xx responses throw a typed SkedcastApiError carrying status, code, category, detail, and correlationId, plus predicates like err.isRateLimited and err.isForbidden.
import { SkedcastApiError } from "@skedcast/sdk";
try {
await sk.posts.create({ clientId, content, targets, schedule });
} catch (err) {
if (err instanceof SkedcastApiError && err.isRateLimited) {
await wait(err.retryAfterSeconds ?? 1);
} else throw err;
}FAQ
- Can I install @skedcast/sdk from npm today?
- Not yet — it's a first-party package right now. Build against the REST API and OpenAPI spec in the meantime; the public npm release is planned.