. . . . .. .. .: . . .. . . .:.. .. .. .. . .. .+... . .. .::..: .. ... ..............:.+. . .. . .:..::::---=. ..:---:. . .=--=-:.-::..=:-:. . .. ..... . . .-. . .:==-----+=-:. :--:.=.-..... . .-===::---:-:::::. ..::-:--:. . .:.=.::--.. . ..... ..:-=== ===.-:: .::::..:: .:.... ..:==-=+=+=-=-=::.+.:.... .:-:::.. ...+... .:.:::-=++::.. .=.. . .. ..-...:..::+====.++=-:+::.... .::::---=::.. ..:::-=+==-+X+===-:.:-+=--::=:: ..::.:. .:..:+::=:::--=+XX+---:...::.... .. ..:.+....:--.::-:---=+X++++==-:::::......::==++--:..:==--=-=--==+X==++=---+-=+==--::. .:::: :-::::--+=--=+XXXXX++=---:=-:.:....=.... .. ..::::-=-::=++==+XX.XX+X+----==.--::.:-=+X+X+===-=X+===----== XXXX++++==++++++==-:....:::.==-=--==XXX=XXXX-X:++==-++=:::--:::::....= ...:.-::-====-.-=++:+XXXXXX+==-==++=----- =XXXXXXXXXXXXX++=---:==+X.XX.+XXXXXX+X+XX++++-:.::--=X++:X =XXXXX++.XX++X++X+++--::--:-::::.:. .-..::.-=====-=-=++:+XXXXXX+==-==++=----- =XXXXXXXXXXXXX++=---:==+X.XX.+XXXXXX+X+XX++++-:.::--=X++:X =XXXXX++.XX++X++X+++--::--:-::::.:.

Categories

Organise your feeds with categories.
View
epuraı

Categories API

Categories are named spaces that hold your saved feeds. You can list them, rename them, or get them from your workspace.


GET/api/v1/categories

List all categories

Returns all of your categories and how many feeds are inside each one.

Request

GET/api/v1/categories
curl https://repurai.com/api/v1/categories \
  -H "Authorization: Bearer [API_Key]"

Response

success

{
  "data": [
    {
      "id": "b3c8f77e-cd66...",
      "name": "Youtube",
      "createdAt": "2025-12-24T18:31:02.411Z",
      "updatedAt": "2025-12-24T18:31:02.411Z",
      "feedCount": 9
    }
  ]
}

GET/api/v1/categories/:id

Get a category

Returns a single category with all the feeds inside it.

Feed fields

FieldDescription
idThe feed's unique ID.
lastFetchedAtWhen the feed was last checked for new posts.
categoryIdThe category ID this feed belongs to.
titleThe feed's display name.
userlinkThe feed source website homepage URL.
descriptionA short description of the feed.
faviconURL of the feed's favicon.
isLockedtrue when your current plan no longer opens this feed. Its posts answer 403 until you upgrade.

Request

GET/api/v1/categories/:id
curl https://repurai.com/api/v1/categories/[categoryId] \
  -H "Authorization: Bearer [API_Key]"

Response

success

{
  "data": {
    "id": "b3c8f77e-cd66...",
    "name": "Youtube",
    "createdAt": "2025-12-24T18:31:02.411Z",
    "updatedAt": "2025-12-24T18:31:02.411Z",
    "feeds": [
      {
        "id": "2b3528dc-d64b...",
        "lastFetchedAt": "2026-05-19T13:06:49.016Z",
        "categoryId": "b3c8f77e-cd66...",
        "title": "AI Engineer",
        "userlink": "https://www.youtube.com/@aiDotEngineer",
        "description": "Discover insights and updates from this source.",
        "favicon": "https://t1.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=https://www.youtube.com/@aiDotEngineer&size=256",
        "isLocked": false
      }
    ]
  }
}

PATCH/api/v1/categories/:id

Rename a category

Changes the display name of a category.

Required body

  • Name
    name
    Type
    string
    Description

    The new name for the category.

Request

PATCH/api/v1/categories/:id
curl -X PATCH https://repurai.com/api/v1/categories/[categoryId] \
  -H "Authorization: Bearer [API_Key]" \
  -H "Content-Type: application/json" \
  -d '{"name": "API Test Category Renamed"}'

Response

success

{
  "success": true,
  "message": "Category renamed successfully",
  "data": {
    "id": "b3c8f77e-cd66...",
    "name": "API Test Category Renamed"
  }
}