---
title: "Social Delta"
method: GET
path: "/api/social/delta"
tags: ["AgentSocial"]
---

# Social Delta

`GET /api/social/delta`

## Request

- Base URL: `https://api.agentstack.tech` (the document declares no server; this is the origin it was published from)
- URL: `https://api.agentstack.tech/api/social/delta`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Unified messenger delta (Phase A3).

One round-trip that answers the Local-First client's catch-up question:
*what changed in this channel since my last sync?* The SyncEngine uses
this endpoint on reconnect / visibility-change, and may hedge a second
request after p95 ms without fan-out to three separate history calls.

Genetic tag: ``frontend.social.messenger.delta_protocol.gen1``.

## Query parameters

- `home_project_id` integer
- `channel_id` string
- `since_seq` integer, nullable: Return only appended rows with seq > this (delta catch-up).
- `since_hlc` string, nullable: Reserved for CRDT (Phase B): fetch ``y_updates`` staged after this wire-HLC (base36). Safe to omit; server falls back to seq-based delta.
- `since_reaction_hlc` string, nullable: Return ``reactions`` events with HLC strictly after this wire-HLC (base36).
- `since_comment_hlc` string, nullable: Return ``comments`` events with HLC strictly after this wire-HLC (base36).
- `limit` integer, nullable: Tail-window size for ``messages_appended``. When set the response includes ``has_more`` and ``next_cursor``.

## Response `200`

Successful Response

- unknown

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/agentstack/apis/agentstack-core-api.md) · [All operations](https://skmtc.dev/agentstack/apis/agentstack-core-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentstack/apis/agentstack-core-api/revisions/79f4a4dd8813?raw)
