For AI agents: a documentation index is available at /llms.txt. Every guide and example is also available as markdown by adding .md to its URL.
Quick Start
1. Get an API key
- Open Settings → API & Apps → Personal Keys in the Schedulin dashboard.
- Click Create Key, give it a name (e.g. "Content automation"), and copy the secret.
export SCHEDULIN_API_KEY="paste-your-key-here"
2. Make a request
Authenticate with the x-api-key header. List the channels connected to your workspace:
curl https://api.schedulin.app/v0/social-accounts \ -H "x-api-key: $SCHEDULIN_API_KEY"
3. Use an SDK (optional)
Official SDKs wrap the same endpoints. Install the one for your language:
npm i @schedulin/sdk # TypeScript / JavaScript pip install schedulin # Python go get github.com/schedulin-app/schedulin-go # Go composer require schedulin/schedulin # PHP (8.1+)
Prefer the terminal? The CLI (npm i -g @schedulin/cli) wraps the same
endpoints.
Resources are accessed as client.<resource>.<method>: posts, socialAccounts,
media, tags, platforms, webhooks, and ai (snake_case in Python, e.g.
client.social_accounts.list()).
import { SchedulinClient } from "@schedulin/sdk"; // process.env values are `string | undefined`; the client needs a string. const apiKey = process.env.SCHEDULIN_API_KEY; if (!apiKey) throw new Error("Set SCHEDULIN_API_KEY"); const client = new SchedulinClient({ apiKey }); const { data: accounts } = await client.socialAccounts.list();
import os from schedulin import Schedulin client = Schedulin(api_key=os.environ["SCHEDULIN_API_KEY"]) accounts = client.social_accounts.list().data
package main import ( "context" "fmt" "os" "github.com/schedulin-app/schedulin-go/client" "github.com/schedulin-app/schedulin-go/option" ) func main() { c := client.NewClient(option.WithAPIKey(os.Getenv("SCHEDULIN_API_KEY"))) accounts, err := c.SocialAccounts.List(context.TODO()) if err != nil { panic(err) } fmt.Println(accounts) }
Request and model types live in the module's root package, schedulin (older SDK releases
named it api; the explicit import alias below works with either):
import ( schedulin "github.com/schedulin-app/schedulin-go" "github.com/schedulin-app/schedulin-go/client" "github.com/schedulin-app/schedulin-go/option" ) c := client.NewClient(option.WithAPIKey(os.Getenv("SCHEDULIN_API_KEY"))) _, err := c.Posts.Create(context.TODO(), &schedulin.PostCreate{ SocialAccountID: "acc_123", Caption: "Hello from Go", })
<?php use Schedulin\SchedulinClient; $client = new SchedulinClient(apiKey: getenv('SCHEDULIN_API_KEY')); $accounts = $client->socialAccounts->list();
Next
Ready to publish something? Head to Your First Post.