# Social media API quickstart
URL: https://skedcast.com/developers/quickstart

This social media API quickstart shows how the SkedCast API lets you read your workspace, schedule posts, and connect AI agents programmatically. There are three ways in — the REST API, the TypeScript SDK, and the remote MCP server — all over one base URL and one auth model.

## Social media API quickstart: the three ways in
Every integration talks to the same versioned REST API. Pick the surface that fits your stack:
- REST API — any language, over plain HTTP with an API key. This is the universal contract.
- MCP server — connect an AI agent (Claude and others) to read and publish on your behalf.
- TypeScript SDK — the typed client that powers the SkedCast console (first-party today; a public npm package is coming).

## Base URLs
Surface | URL
REST API | `https://api.skedcast.com/v1`
MCP server | `https://api.skedcast.com/mcp`
OpenAPI spec | `https://skedcast.com/openapi.json`

## 1. Create an API key
In the Agency Console, open Settings → Developer and create an API key (Owner or Manager only). Pick the scopes it needs — a key can never do more than your role allows. The full secret is shown once; copy it now.
Keys look like `sked_live_…` (production) or `sked_test_…` (everywhere else).

## 2. Make your first request
```bash
curl https://api.skedcast.com/v1/agency \
  -H "Authorization: Bearer sked_live_YOUR_KEY"
```

## Response — the single-resource envelope.
```json
{
  "data": {
    "object": "agency",
    "id": "aea6928d-1fae-424d-930d-1a306f3f5cc5",
    "name": "Acme Social",
    "plan": "studio",
    "role": "owner"
  },
  "meta": { "correlationId": "c-74fb602e-…" }
}
```

## 3. List and compose
```bash
# read
curl "https://api.skedcast.com/v1/clients?limit=10" -H "Authorization: Bearer sked_live_YOUR_KEY"

# write (needs the posts.compose scope)
curl -X POST https://api.skedcast.com/v1/posts \
  -H "Authorization: Bearer sked_live_YOUR_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "clientId": "<uuid>", "content": "Hello world", "targets": { "mode": "selection", "accountIds": ["<uuid>"] }, "schedule": { "type": "at", "scheduledAt": "2026-07-01T15:00:00Z" } }'
```

## Next steps
Read Authentication for API keys + OAuth, Scopes for what each grant unlocks, and the API reference for every endpoint. To connect an AI agent, see the MCP guide.

## FAQ
**Q: Do I need the SDK to use the API?**
A: No. The REST API is the universal interface — use curl, Python, Go, or any HTTP client with your API key. The TypeScript SDK is an optional convenience.

**Q: What's the difference between sked_live_ and sked_test_ keys?**
A: The prefix reflects the environment the key was minted in — sked_live_ for production, sked_test_ otherwise. Both authenticate the same way.
