Getting started
Start here
Make your first successful call in five minutes. Pick the key you were given; everything after that follows from it.
Which key do you have?
Partner key
wsk_live_partner_…You run a product that manages many businesses. One key creates your client orgs and, with the X-Tenant-Id header, acts on each of them.
Org key
wsk_live_org_…You are integrating one business. The key is already scoped to it; no tenant header needed.
Developer quickstart →Don't have a key yet? Write to hello@wasparks.com with your company name and what you plan to build.
Your first call
Every request sends your key as a bearer token. Confirm it works by reading your own org:
# partner key: name the org you are acting on
curl https://connect.social.wasparks.com/v1/org \
-H "Authorization: Bearer $WASPARKS_KEY" \
-H "X-Tenant-Id: acme-001"
const res = await fetch("https://connect.social.wasparks.com/v1/org", {
headers: { Authorization: `Bearer ${process.env.WASPARKS_KEY}`, "X-Tenant-Id": "acme-001" },
});
const org = await res.json();
import os, requests
r = requests.get(
"https://connect.social.wasparks.com/v1/org",
headers={"Authorization": f"Bearer {os.environ['WASPARKS_KEY']}", "X-Tenant-Id": "acme-001"},
)
org = r.json()A 200 with the org's name means you are in. With an org key, drop the X-Tenant-Id header.
{
"id": "0192a7c1-5d2e-7a10-9c4b-2f6e8d1a3b01",
"name": "Acme Coffee",
"status": "ACTIVE",
"timezone": "Europe/Amsterdam",
"plan": { "code": "growth", "name": "Growth", "limits": { "social_accounts": 10, "posts_per_month": 500 } },
"usage": [{ "limit": "social_accounts", "used": 3, "max": 10 }]
}If you get 401 invalid_api_key, check the key and that it is sent as Authorization: Bearer <key>. If you get 400 tenant_required, you used a partner key without X-Tenant-Id. More in Authentication and Error codes.
The flow in four steps
- Connect a social account Create a connect session, send the user to the consent URL, then pick the Pages and Instagram accounts they approved. Connect guide →
- Check capabilities Each account says what it can do (
publish,comments,messaging…). Check before you call a feature; an unsupported one returns400 unsupported_for_platform. Concepts → - Publish Upload media, create a post with
account_ids, and read each target until it showsPUBLISHEDwith a permalink. Publish guide → - Listen Register a webhook once and receive comments, messages and publish results as signed events. Webhooks guide →
Warning Instagram comment management is not available yet. Instagram accounts report comments: false, and the Instagram comment endpoints return 400 unsupported_for_platform. When it is released, accounts connected before then need a one-time reconnect. Details in Platform notes.
Where to go next
The API reference lists every endpoint with request and response schemas, generated code samples, and a live "try it" client that calls the real API with your key. It is generated from the running service, so it is always current. You can also download the Postman collection: put your partner key in the partner_key variable and run the Quickstart folder in order.
Next: Concepts