Browse the docs

API reference

Feed

The workspace's timeline of posts, with their comments and reactions.

List posts

GET/v1/feed

Posts in the workspace, newest first, with reaction and comment counts and what each post is about. Page back by passing the at of the last post you hold as before.

Requires feed.read

Query parameters

  • beforeISO date

    Only posts created before this time; an invalid date is ignored.

  • limitinteger

    1 to 50; defaults to 40.

Request
curl "https://atrix.dev/api/v1/feed" \
  -H "Authorization: Bearer $ATRIX_TOKEN"
Response
{
  "items": [
    {
      "id": "cm3kc8h2j0010qz8fb3c4d5e6",
      "body": "Checkout redesign is live for 10% of visitors.",
      "at": "2026-10-27T09:12:00.000Z",
      "author": {
        "id": "cm3k8w1zz0004qz8fa1b2c3d4",
        "name": "Sara Khan",
        "image": null
      },
      "project": "Storefront",
      "postKind": "UPDATE",
      "about": {
        "kind": "project",
        "id": "storefront",
        "label": "Storefront"
      },
      "reactions": 3,
      "replies": 1
    }
  ]
}

Create a post

POST/v1/feed

Posts an update to the feed, optionally filed against a product. Posting notifies people, so treat it as something colleagues read.

Requires feed.post

Body

  • bodystringrequired

    The post text, up to 4000 characters.

  • projectIdstring

    A product in this workspace the post is about.

Request
curl -X POST "https://atrix.dev/api/v1/feed" \
  -H "Authorization: Bearer $ATRIX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "body": "…" }'
Response
{
  "ok": true,
  "postId": "cm3kc8h2j0010qz8fb3c4d5e6",
  "href": "/dashboard/activity#post-cm3kc8h2j0010qz8fb3c4d5e6"
}

Get a post

GET/v1/feed/{id}

One post with parsed blocks, its attachment, per-emoji reactions and up to 100 comments in thread. yours says whether the caller wrote it; 404 when the post is not in this workspace.

Requires feed.read

Path parameters

  • idstringrequired

    The post's id.

Request
curl "https://atrix.dev/api/v1/feed/ID" \
  -H "Authorization: Bearer $ATRIX_TOKEN"
Response
{
  "id": "cm3kc8h2j0010qz8fb3c4d5e6",
  "body": "Checkout redesign is live for 10% of visitors.",
  "blocks": [
    {
      "type": "paragraph",
      "children": [
        {
          "type": "text",
          "text": "Checkout redesign is live for 10% of visitors."
        }
      ]
    }
  ],
  "at": "2026-10-27T09:12:00.000Z",
  "author": {
    "id": "cm3k8w1zz0004qz8fa1b2c3d4",
    "name": "Sara Khan",
    "image": null
  },
  "project": "Storefront",
  "postKind": "UPDATE",
  "about": {
    "kind": "project",
    "id": "storefront",
    "label": "Storefront",
    "detail": "Building",
    "open": 14
  },
  "attachment": null,
  "reactions": 3,
  "reactionList": [
    {
      "emoji": "🔥",
      "count": 2,
      "mine": true
    },
    {
      "emoji": "👍",
      "count": 1,
      "mine": false
    }
  ],
  "mine": false,
  "yours": false,
  "replies": 1,
  "thread": [
    {
      "id": "cm3kc9k4m0012qz8fd5e6f7g8",
      "body": "Nice, watching conversion today.",
      "at": "2026-10-27T09:20:31.000Z",
      "author": {
        "id": "cm3k8v0yy0003qz8f9z8y7x6w",
        "name": "Omar Ali",
        "image": null
      }
    }
  ]
}

Comment on a post

POST/v1/feed/{id}/comments

Adds a comment from the caller to the post's thread.

Requires feed.post

Path parameters

  • idstringrequired

    The post's id.

Body

  • bodystringrequired

    The comment, 1 to 2000 characters.

Request
curl -X POST "https://atrix.dev/api/v1/feed/ID/comments" \
  -H "Authorization: Bearer $ATRIX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "body": "…" }'
Response
{
  "ok": true
}

Toggle a reaction

POST/v1/feed/{id}/reactions

Adds the caller's reaction to the post, or removes it if they already reacted with that emoji.

Requires feed.post

Path parameters

  • idstringrequired

    The post's id.

Body

  • emojienumrequired

    One of the feed's reactions.

    👍🔥👀🎉🤔

Request
curl -X POST "https://atrix.dev/api/v1/feed/ID/reactions" \
  -H "Authorization: Bearer $ATRIX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "emoji": "👍" }'
Response
{
  "ok": true
}