Skip to content
REST API

Watchlist Endpoint

List, add, and remove personal or team watchlist items.
GET    https://api.elexess.com/functions/v1/watchlist
POST   https://api.elexess.com/functions/v1/watchlist
DELETE https://api.elexess.com/functions/v1/watchlist

Authentication

  • GET: JWT or team API token (el_live_*)
  • POST/DELETE: JWT only

GET Query Parameters

  • scope (string, optional): all (default), personal, team
  • team_id (number, optional): team override for team scope (JWT only)
  • q (string, optional): free-text search across MPN, manufacturer, team part number, note
  • limit (number, optional): page size (default 50, max 100)
  • offset (number, optional): pagination offset (default 0)

POST Body

{
  "part_id": 12345,
  "scope": "team",
  "team_id": 7
}

DELETE Body

{
  "part_id": 12345,
  "scope": "team",
  "team_id": 7
}

GET Response

{
  "count": 1,
  "limit": 50,
  "offset": 0,
  "rows": [
    {
      "id": 20,
      "scope": "team",
      "part_id": 12345,
      "team_id": 7,
      "created_at": "2026-02-26T15:10:00.000Z",
      "part": {
        "id": 12345,
        "manufacturer_part_number": "LM358",
        "manufacturer": { "id": 19, "name": "Texas Instruments" },
        "risk": {
          "risk_level": "medium",
          "risk_score": 47,
          "global_stock": 190020,
          "trend_direction": "up",
          "trend_score_delta": 3
        }
      },
      "team_items": [
        {
          "id": 31,
          "item_number": "ERP-4588",
          "description": null,
          "note": "Preferred source set by sourcing",
          "approval_status": "approved",
          "updated_at": "2026-10-08T09:12:44Z"
        }
      ]
    }
  ]
}

team_items lists the team's items that use each watched part, preferred first. The deprecated team_part field was removed on 2026-10-24. The q filter matches item numbers and notes.

POST / DELETE Response

{ "success": true }

Error Responses

  • 400: invalid scope or payload
  • 401: missing or invalid auth token
  • 403: write attempted with API token
  • 500: internal error