Skip to content
Reading with an AI assistant?View as MarkdownOpen in ClaudeOpen in ChatGPT

Guides

OpenAPI document and client libraries

The machine-readable contract for the /v1 API is an OpenAPI 3.1 document at https://skedcast.com/openapi.json. It covers every operation, the security schemes and the error model. SkedCast does not publish a language-specific package. Call the REST API from any language, or generate a typed client from this document.

Browse docs

5 min read

What's available#

ResourceWhat it isURL
OpenAPI 3.1 documentThe contract for every /v1 operationhttps://skedcast.com/openapi.json
REST APIJSON over HTTPS, from any languagehttps://api.skedcast.com/v1

Generate a client from the document#

Import the document into Postman or Insomnia to explore the API interactively, or point a standard OpenAPI code generator (openapi-generator, openapi-typescript, kiota) at it to produce a typed client in Python, Go, Java or any other supported language. The document declares the security schemes. Generators differ in how they use them, so check that your client sends Authorization: Bearer <key>.

bash
openapi-generator-cli generate \
  -i https://skedcast.com/openapi.json \
  -g python \
  -o ./skedcast-client
Generate a Python client with openapi-generator (as one example).

A typed TypeScript client#

openapi-typescript turns the document into types, and openapi-fetch uses them to type every call, including the required Idempotency-Key header.

bash
npm install openapi-fetch
npm install --save-dev openapi-typescript

npx openapi-typescript https://skedcast.com/openapi.json -o ./skedcast.d.ts
Install both tools and generate the types.
ts
import createClient from "openapi-fetch";

import type { paths } from "./skedcast";

const client = createClient<paths>({
  baseUrl: "https://api.skedcast.com/v1",
  headers: { Authorization: `Bearer ${process.env.SKEDCAST_API_KEY ?? ""}` },
});

const { data, error } = await client.POST("/posts", {
  params: { header: { "Idempotency-Key": crypto.randomUUID() } },
  body: {
    clientId: "<clientId>",
    content: "Hello from a generated client",
    targets: { mode: "selection", accountIds: ["<accountId>"] },
    schedule: { type: "at", scheduledAt: "2030-01-15T15:00:00Z" },
  },
});

if (error !== undefined) {
  throw new Error(`SkedCast refused the post: ${JSON.stringify(error)}`);
}
console.log(data);
Create a post with a typed client.
openapisdkcodegen

FAQ

Does the OpenAPI document match the live API?
It describes the same /v1 operations as the API reference at /developers/api-reference. Import it into Postman, Insomnia or a code generator for a client that matches the API. Regenerate the client when you want new fields.
Is there an official SDK for my language?
SkedCast does not publish language-specific libraries. Call the REST API directly, or generate a typed client from the OpenAPI 3.1 document in any language the generator supports.

Ready to broadcast everywhere?

Sign up free — no credit card. You land on the Free plan, and you can start a one-time 7-day Studio trial from your workspace whenever you are ready. Connect your first accounts, import a batch, and watch one post fan out across every platform.