Comment list (full paginated or MSG two-phase load)

GET /task/v1/comments/list

Operation id: getCommentList

Description

Retrieves the full paginated comment list for the authenticated user.

Always-injected from session (not overridable): domain_id, user_id, store_id, dept_id, profile_id, time_zone_long.

Two paths:

  • on_load_call=MSG — two-phase load: returns feed summaries + count_data[] per cluster. skip_records is absent from the response.
  • Default (flat paginated) — pages through comments via skip_records/no_records. count_data is absent.

⚠️ If feed_status contains A but msg_status is blank → service returns null → E404.

Requires ROS_UNIT_DOMAIN line-of-sight authorization.

Tags: MyWorkComments

Parameters

Query parameters

NameTypeRequiredDescription
cluster_idstringNoFilter by cluster; -1 or absent = all clusters (general messages)
cut_off_timeinteger (int64)NoLegacy cutoff timestamp — forwarded but has no effect on the query
feed_keyintegerNoFeed/project key — forwarded but NOT used by getCommentList (thread scoping is cluster_id only)
feed_statusstringNoCSV lifecycle filter — A=Active feeds, I=Inactive/closed. When A is present, msg_status must also be provided.
feed_titlestringNoFilter by feed title text
feed_type_idstringNoFilter by feed type ID
message_typestringNoFeed/message type token (default PROJECTEXTRACT)
msg_statusstringNoCSV active-status filter — N=Unread, R=Read. Required when feed_status contains A.
msg_textstringNoServer-side text filter on comment body
no_recordsintegerNoDAO page size; 0=all records (flat paginated path only)
on_load_callstringNoSend MSG for the initial two-phase load; omit or send any other value for flat paginated path
selected_datesstringNoComma-separated start/end dates in yyyyMMdd (e.g. 20240115,20240120). Service uses first as fromDate and last as toDate.
skip_recordsintegerNoDAO pagination offset (flat paginated path only)
unit_categorystringNoC=Corporate, S=Store; defaults to session unit category if omitted
view_typestringNoSV=Store View, MV=My Work View, DV=Dept View. Session fallback only when key is entirely absent (sending view_type= preserves empty string).

Security

  • AuthTokenHeader (apiKey)
    • Session authentication token validated server-side against the user session store.

Responses

200 — Success — comment_data_list[], last_fetch_time, optionally skip_records and count_data[].

Response shape depends on the path:

Flat paginated path (default):

  • comment_data_list[] — individual comment/message objects (shape below)
  • last_fetch_time — epoch ms; always present
  • skip_records — echoes the no_records page-size value (NOT the offset); absent for MSG path

on_load_call=MSG path:

  • comment_data_list[] — feed/project summary objects (different shape)
  • count_data[] — per-cluster unread summary; each: feed_key, cluster_id, count, unread (Boolean), unread_msg_data[]

comment_data_list[*] fields (flat path): domain_id, feed_key, cluster_id, msg_id, msg_parent_id, msg_main_id, store_id, user_id, profile_id, dept_id, reason_code, reason_text, assign_store, assign_profile, assign_dept, assign_user, comment (HTML), plain_comment, link, attachment_names, message_status (N/R/C/F), message_type, creation_time (Long), last_update_time (Long), key_description, internal (Y/N), display_date, last_update_date, creator_id, created_by, show_reply (Boolean), show_unread (Boolean), attributes (optional Object)

No data → E404.

Content type: application/json

401 — Missing or invalid X-reflexis-csrf-token-X session token

Content type: application/json

500E302 — Internal server error.

E312 — Refresh interval exceeded (list/latest only).

Content type: application/json

Response models

200 — Success — comment_data_list[], last_fetch_time, optionally skip_records and count_data[].

Response shape depends on the path:

Flat paginated path (default):

  • comment_data_list[] — individual comment/message objects (shape below)
  • last_fetch_time — epoch ms; always present
  • skip_records — echoes the no_records page-size value (NOT the offset); absent for MSG path

on_load_call=MSG path:

  • comment_data_list[] — feed/project summary objects (different shape)
  • count_data[] — per-cluster unread summary; each: feed_key, cluster_id, count, unread (Boolean), unread_msg_data[]

comment_data_list[*] fields (flat path): domain_id, feed_key, cluster_id, msg_id, msg_parent_id, msg_main_id, store_id, user_id, profile_id, dept_id, reason_code, reason_text, assign_store, assign_profile, assign_dept, assign_user, comment (HTML), plain_comment, link, attachment_names, message_status (N/R/C/F), message_type, creation_time (Long), last_update_time (Long), key_description, internal (Y/N), display_date, last_update_date, creator_id, created_by, show_reply (Boolean), show_unread (Boolean), attributes (optional Object)

No data → E404.

Content type: application/json

Schema

JSON object (structure varies by endpoint).

{
  "type": "object",
  "description": "JSON object (structure varies by endpoint)."
}

Example:

{
  "status": "OK",
  "comment_data_list": [
    {
      "feed_key": 42465943,
      "cluster_id": "4286147",
      "msg_id": 101,
      "msg_parent_id": 0,
      "msg_main_id": 100,
      "store_id": "UNIT_01",
      "user_id": "SYSADMIN",
      "comment": "<p>Please review the schedule update.</p>",
      "plain_comment": "Please review the schedule update.",
      "message_status": "N",
      "creation_time": 1705312800000,
      "show_reply": true,
      "show_unread": true
    }
  ],
  "last_fetch_time": 1705312800000,
  "skip_records": 20
}

401 — Missing or invalid X-reflexis-csrf-token-X session token

Content type: application/json

Schema

PropertyTypeRequiredDescription
statusstringYesAlways "ER" for error responses
errorCodestringYesApplication-level error code (e.g. E202, E105, E404)
responsestringYesHuman-readable error message
{
  "type": "object",
  "example": {
    "status": "ER",
    "errorCode": "E202",
    "response": "User session is invalid"
  },
  "required": [
    "status",
    "errorCode",
    "response"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "Always \"ER\" for error responses",
      "enum": [
        "ER"
      ]
    },
    "errorCode": {
      "type": "string",
      "description": "Application-level error code (e.g. E202, E105, E404)"
    },
    "response": {
      "type": "string",
      "description": "Human-readable error message"
    }
  }
}

Example:

{
  "status": "ER",
  "errorCode": "E202",
  "response": "User session is invalid"
}

500E302 — Internal server error.

E312 — Refresh interval exceeded (list/latest only).

Content type: application/json

Schema

PropertyTypeRequiredDescription
statusstringYesAlways "ER" for error responses
errorCodestringYesApplication-level error code (e.g. E202, E105, E404)
responsestringYesHuman-readable error message
{
  "type": "object",
  "example": {
    "status": "ER",
    "errorCode": "E202",
    "response": "User session is invalid"
  },
  "required": [
    "status",
    "errorCode",
    "response"
  ],
  "properties": {
    "status": {
      "type": "string",
      "description": "Always \"ER\" for error responses",
      "enum": [
        "ER"
      ]
    },
    "errorCode": {
      "type": "string",
      "description": "Application-level error code (e.g. E202, E105, E404)"
    },
    "response": {
      "type": "string",
      "description": "Human-readable error message"
    }
  }
}