SocialPulse
Clientyour app / script
POST /tenant/auth/login
APIapi.yourdomain.com
every response
{
  data: { ... },
  meta: {
    generated_at,
    filters_applied
  }
}

Quickstart

Sign in, make your first request, and understand the response envelope every SocialPulse endpoint shares.

1. Sign in

Every workspace is provisioned by invitation — there's no public self-signup. Once your account exists, sign in with your work email and password to receive a bearer token.

curl -X POST https://api.yourdomain.com/api/v1/tenant/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "you@yourcompany.com", "password": "••••••••"}'

2. Use the access token

A successful login returns an access_token, its tenant_id and role, and a csrf_token. For server-to-server or script access, send the access token as a bearer header on every request.

curl https://api.yourdomain.com/api/v1/scorecard \
  -H "Authorization: Bearer <access_token>"

3. Read the response envelope

Every endpoint returns the same two-key shape: data holds the actual payload, meta carries request-level context like when it was generated and which filters were applied. This is consistent whether the payload is a single object, a list, or an analytics summary.

{
  "data": { "...": "endpoint-specific payload" },
  "meta": {
    "generated_at": "2026-08-24T15:27:03.219846Z",
    "filters_applied": {}
  }
}

4. Filter like the dashboard does

Analytics endpoints share one filter query shape across the whole API — the same filters your team applies in the dashboard's filter bar work identically over the API: date range, sources, topics, sentiment, intent, emotion, language, region, author, and brand, each as a plain query parameter (comma-separated for multi-value fields, e.g. ?topics=network,pricing).