---
title: "Get Ops Digest Social"
method: GET
path: "/ops/digest/social"
tags: ["ops", "ops"]
---

# Get Ops Digest Social

`GET /ops/digest/social`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/ops/digest/social`
- Auth: none declared

Social-only slice of the digest — the CMO loop's input substrate.

Returns the ``social`` block from /ops/digest plus the relevant cost
and PostHog totals needed to reason about per-channel ROI. The
autonomous-CMO board agent reads this endpoint on its scheduled
cycle (initial cadence: 12h, configurable via cron schedule on the
Railway cmo-cron service).

Shape::

    {
      "as_of_utc": "...",
      "window": "7d",
      "social": {
        "supply": {                       # from content_outbox.sqlite
          "configured": true,
          "window_days": 7,
          "channels": {
            "x":        {"queued":..., "published":..., "failed":..., ...},
            "linkedin": {...}, "reddit": {...}, "devto": {...},
            "bluesky":  {...}
          },
          "totals": {"queued":..., "published":..., "failed":...,
                     "rejected_editorial":..., "publish_rate": 0.xx}
        },
        "demand": {                       # from PostHog UTM breakdown
          "configured": true,
          "by_source": {"x": {"verify_button_click": N, ...}, ...}
        }
      },
      "cost": {...}
    }

Auth: Bearer token from ``ETYMOLT_OPS_DIGEST_TOKEN`` (same gate as
the parent /ops/digest endpoint).

## Query parameters

- `window` integer

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names.md) · [All operations](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/llms.txt) · [OpenAPI document](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/revisions/7228ffa1efa7?raw)
