Amba

Feeds

Feed rules that transform engagement events into feed items, plus a moderation view of the raw feed.

Feed rules map a source event to a feed action with an optional target type. When the event fires on the engagement pipeline, the rule generates a feed_items row that downstream readers (friends' feeds, group feeds) join against.

Source: apps/api/src/routes/admin/feeds.ts.

Endpoints

MethodPathDescription
POST/admin/projects/:projectId/feeds/rulesCreate a rule.
GET/admin/projects/:projectId/feeds/rulesList rules.
PATCH/admin/projects/:projectId/feeds/rules/:ruleIdPartial update.
DELETE/admin/projects/:projectId/feeds/rules/:ruleIdDelete.
GET/admin/projects/:projectId/feeds/itemsPaginated feed items with actor info; optional ?action= filter.
DELETE/admin/projects/:projectId/feeds/items/:itemIdHard-delete a feed item.

POST /admin/projects/:projectId/feeds/rules

Request (CreateFeedRuleInput)

FieldTypeRequired
source_eventstringyes
actionstringyes
target_typestringno

Response 201

{
  "data": {
    "id": "…",
    "source_event": "workout_completed",
    "action": "shared_workout",
    "target_type": "workout",
    "is_active": true
  }
}

Try it:

POST/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules
developer auth
curl -X POST 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X POST '${BASE_URL}/admin/projects/{projectId}/feeds/rules' \
  -H 'Authorization: Bearer ${DEV_TOKEN}' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET /admin/projects/:projectId/feeds/rules

{ "data": [{ "id": "…", "source_event": "…", "action": "…" }] }

Try it:

GET/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules
developer auth
curl -X GET 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X GET '${BASE_URL}/admin/projects/{projectId}/feeds/rules' \
  -H 'Authorization: Bearer ${DEV_TOKEN}'

PATCH /admin/projects/:projectId/feeds/rules/:ruleId

Allowed fields: source_event, action, target_type, is_active.

Try it:

PATCH/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules/%7B%7BruleId%7D%7D
developer auth
curl -X PATCH 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules/%7B%7BruleId%7D%7D'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X PATCH '${BASE_URL}/admin/projects/{projectId}/feeds/rules/{ruleId}' \
  -H 'Authorization: Bearer ${DEV_TOKEN}' \
  -H 'Content-Type: application/json' \
  -d '{}'

DELETE /admin/projects/:projectId/feeds/rules/:ruleId

{ "data": { "deleted": true } }

Try it:

DELETE/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules/%7B%7BruleId%7D%7D
developer auth
curl -X DELETE 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/feeds/rules/%7B%7BruleId%7D%7D'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X DELETE '${BASE_URL}/admin/projects/{projectId}/feeds/rules/{ruleId}' \
  -H 'Authorization: Bearer ${DEV_TOKEN}'

GET /admin/projects/:projectId/feeds/items

Query

ParamDefaultDescription
limit50
offset0
actionFilter by action value.

Response 200

{
  "data": [
    {
      "id": "…",
      "actor_id": "…",
      "action": "…",
      "target_id": "…",
      "created_at": "…",
      "actor": { "id": "…", "display_name": "…", "avatar_url": "…" }
    }
  ],
  "total": 1234,
  "offset": 0,
  "limit": 50
}

Try it:

GET/admin/projects/%7B%7BprojectId%7D%7D/feeds/items
developer auth
curl -X GET 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/feeds/items'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X GET '${BASE_URL}/admin/projects/{projectId}/feeds/items' \
  -H 'Authorization: Bearer ${DEV_TOKEN}'

DELETE /admin/projects/:projectId/feeds/items/:itemId

{ "data": { "deleted": true } }

Try it:

DELETE/admin/projects/%7B%7BprojectId%7D%7D/feeds/items/%7B%7BitemId%7D%7D
developer auth
curl -X DELETE 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/feeds/items/%7B%7BitemId%7D%7D'
Loading auth… Configure auth in the settings drawer (top-right) to run this request.

Curl:

curl -X DELETE '${BASE_URL}/admin/projects/{projectId}/feeds/items/{itemId}' \
  -H 'Authorization: Bearer ${DEV_TOKEN}'