Retrieve feeds — list, count, or list-latest (unified endpoint)
GET /task/v1/feeds/{retrieve-type}
Operation id: retrieveFeedsByType
Description
Unified endpoint for three feed retrieval modes controlled by retrieve-type path variable.
Session-derived values (domain_id, user_id, unit_id, dept_id, profile_id, time_zone_long, lang_code) are always resolved from the auth token and cannot be overridden by query parameters. Query params are auto-converted from snake_case to camelCase. All response keys are returned in snake_case.
Retrieve Types
| Value | Description |
|---|---|
list | Paginated feed list with cursor-based pagination. Supports projections, sorting, all filters. |
count | Aggregated priority/total counts for a date range. Requires start_date + end_date. |
list-latest | Incremental delta since a given timestamp for polling. Supports projections but NOT pagination. |
Parameter Applicability Matrix
Legend: ✅ = accepted/used | REQ = required | — = not applicable (silently ignored)
| Parameter | list | count | list-latest | Default |
|---|---|---|---|---|
projections | ✅ | — | ✅ | all default fields |
limit | ✅ | — | — | 20 |
starting_after | ✅ | — | — | null |
ending_before | ✅ | — | — | null |
start_date | — | REQ | — | — |
end_date | — | REQ | — | — |
today_from | — | — | ✅ | 0 |
from_time | — | — | ✅ | 0 |
feed_keys | — | — | ✅ | null |
selected_dates | ✅ | — | ✅ | null |
cut_off_time | ✅ | ✅ | — | 0 |
pin | ✅ | ✅ | ✅ | -1 |
favorite | ✅ | ✅ | ✅ | -1 |
follow | ✅ | ✅ | ✅ | -1 |
message_type | ✅ | ✅ | ✅ | null |
status | ✅ | ✅ | ✅ | null |
priority | ✅ | ✅ | ✅ | null |
feed_title | ✅ | ✅ | ✅ | null |
acknowledge_flag | ✅ | ✅ | ✅ | -1 |
promote_to_note_flag | ✅ | ✅ | ✅ | -1 |
com_attr_val | ✅ | ✅ | ✅ | null |
msg_attr_val | ✅ | ✅ | ✅ | null |
view_type | ✅ | ✅ | ✅ | MV |
task_view | ✅ | ✅ | ✅ | P |
return_type | ✅ | ✅ | — | null |
feed_type_id | ✅ | ✅ | ✅ | null |
tags | ✅ | ✅ | ✅ | null |
sort_by | ✅ | — | — | null |
sort_order | ✅ | — | — | null |
return_format | ✅ | — | — | J |
filter_id | ✅ | — | ✅ | null |
week_dates | ✅ | — | ✅ | null |
Cursor-Based Pagination (list only)
- Initial request: No cursor params —
GET /task/v1/feeds/list?status=N&limit=20 - Response includes:
has_more,next_cursor(base64 opaque),previous_cursor,last_fetch_time - Next page (forward):
?...&starting_after=<next_cursor value> - Previous page (backward):
?...&ending_before=<previous_cursor value>
Rules:
- Use only one of
starting_afterorending_beforeper request — providing both → E112 - Cursors are opaque strings — do not parse or construct them manually
limitis clamped to 1–100: values below 1 default to 20, values above 100 cap at 100has_more: falsemeans no further pages in the requested direction
Projections — Default Fields
When projections is omitted, the following 35 fields are returned for each feed object. feed_key is always included regardless of what is requested.
feed_key, feed_title, message_type, status, priority, feed_type, feed_type_id, cluster_id, cluster_child_id, start_date_time, end_date_time, display_launch_date, create_dtm, last_updated_time, task_count, overdue_task_count, pin, favorite_flag, acknowledged_flag, is_confidential, has_survey, title_css, panel_config, assign_to_desc, has_comments, enable_comment, future_feed, show_why_url, has_action, enable_action, show_how_url, has_history, has_user_notes, has_actions, has_contents, has_key_attributes
Projections — Additional Available Fields
These fields are not in the default set but can be explicitly requested:
transaction_key, feed_owner, feed_type_id_desc, ext_link_info, dept_id, end_date_utc, display_start_date, last_action_time_in_millis, profile_id, display_date, has_predecessor, show_acknowledge, last_updated_time_in_millis, event_date, additional_attributes, show_claim, promote_to_note_flag, update_all_mul_asg_task_attr, flag, is_edited, allow_future_quick_links, thread_flag, acknowledge_flag, txn_dtm, lock_status, start_date_utc, unit_id, last_action_time, action_taken_flag, time_to_act, feed_description, feed_params, event_end_date, watch_flag, follow, user_id, feed_task_count, display_end_date
Note:
filter_idoverrides the standard query path — when provided, the system uses theMwFilterConfigfor data retrieval instead of applying the filter params above.
Error Scenarios
| Scenario | HTTP | Error Code | Message |
|---|---|---|---|
Missing / invalid X-reflexis-csrf-token-X | 401 | E202 | User session is invalid |
Invalid retrieve-type value | 400 | E111 | Invalid retrieve-type. Allowed values: list, count, list-latest |
Both starting_after and ending_before provided | 400 | E112 | Cannot use both starting_after and ending_before simultaneously. |
Missing start_date for count | 400 | E114 | start_date is required for count. |
Missing end_date for count | 400 | E115 | end_date is required for count. |
Refresh interval exceeded (list-latest) | 400 | E116 | Refresh interval exceeded maximum allowed limit. |
| No data found | 200 | E404 | No data found |
Error Codes Reference
| Code | Description |
|---|---|
E111 | Invalid retrieve-type path variable |
E112 | Both pagination cursors provided simultaneously |
E114 | Missing start_date for count |
E115 | Missing end_date for count |
E116 | Refresh interval exceeded for list-latest |
E202 | Invalid or expired authentication token |
E404 | No data found for the given filter criteria |
Tags: MyWorkFeeds
Parameters
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
retrieve-type | string | Yes | Retrieve mode: - list — paginated feed list with cursor-based pagination - count — aggregated count by priority (requires start_date/end_date) - list-latest — incremental delta since last fetch timestamp |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
acknowledge_flag | integer | No | Acknowledge filter: -1=all, 0=not acknowledged, 1=acknowledged |
com_attr_val | string | No | Communication attribute value filter |
cut_off_time | integer (int64) | No | Cut-off time in epoch ms (list, count) |
end_date | string | No | End date in YYYYMMDD format. Required for count retrieve-type. |
ending_before | string | No | Backward pagination cursor — use previous_cursor from previous response (list only) |
favorite | integer | No | Favorite filter: -1=all, 0=not favorite, 1=favorite |
feed_keys | string | No | Comma-separated feed keys to check for updates (list-latest only) |
feed_title | string | No | Text search on feed title (URL-encoded values are auto-decoded) |
feed_type_id | string | No | Feed type ID filter (e.g. CL0) |
filter_id | string | No | System filter ID — when provided, uses MwFilterConfig for data retrieval (list, list-latest) |
follow | integer | No | Follow filter: -1=all |
from_time | integer (int64) | No | Epoch ms of last fetch time — validated against max refresh interval (list-latest only) |
limit | integer | No | Max records per page (list only; clamped to 1-100) |
message_type | string | No | Feed message type code (e.g. DOWNLOADFILEMSG, PROJECTEXTRACT, RWS41_ADVERTISE_SHIFT_RES_MANAGER_NOTIFICATIONS) |
msg_attr_val | string | No | Message attribute value filter |
pin | integer | No | Pin filter: -1=all, 0=not pinned, 1=pinned |
priority | string | No | Comma-separated priority integers (e.g. 4 or 1,2,3) |
projections | string | No | Comma-separated field names to include in each feed object (list, list-latest). Default set includes 35+ core fields. feed_key is always included. Additional available fields: transaction_key, feed_owner, ext_link_info, dept_id, end_date_utc, additional_attributes, watch_flag, feed_params, etc. |
promote_to_note_flag | integer | No | Promote-to-note filter: -1=all |
return_format | string | No | Return format (list only): J=JSON |
return_type | string | No | Return type filter (e.g. CALENDAR) |
selected_dates | string | No | Comma-separated dates in YYYYMMDD format (e.g. 20260309,20260324). Applies to list, list-latest. |
sort_by | string | No | Comma-separated sort columns (list only): profileId, endDateTime, priority, startDateTime, feedTitle, feedTypeId |
sort_order | string | No | Comma-separated sort directions matching sort_by (list only): A=ascending, D=descending |
start_date | string | No | Start date in YYYYMMDD format. Required for count retrieve-type. |
starting_after | string | No | Forward pagination cursor — use next_cursor from previous response (list only) |
status | string | No | Comma-separated status codes: N=New, R=Reviewed, P=In Progress, O=Overdue, C=Completed, F=Force-closed, E=Expired |
tags | string | No | Tags filter |
task_view | string | No | Display view: P=Project View, T=Task View |
today_from | integer (int64) | No | Epoch ms for today reference point (list-latest only) |
view_type | string | No | View type: MV=My View, DV=Department View, SV=Store View |
week_dates | string | No | Comma-separated week dates in YYYYMMDD format (e.g. 20260322,20260323,...,20260328) |
Security
- AuthTokenHeader (apiKey)
- Session authentication token validated server-side against the user session store.
Responses
200 — list → {feed_details[], previous_cursor, next_cursor, has_more, last_fetch_time} — or E404 no data.
count → {count_data: {priorities[], total}}. list-latest → {feed_list_latest[], status}.
Content type: application/json
400 — - E111 — invalid retrieve-type
- E112 — both starting_after and ending_before provided
- E114 — missing start_date for count
- E115 — missing end_date for count
- E116 — refresh interval exceeded for list-latest
Content type: application/json
401 — Missing or invalid X-reflexis-csrf-token-X session token
Content type: application/json
500 — Unexpected server-side error
Content type: application/json
Response models
200 — list → {feed_details[], previous_cursor, next_cursor, has_more, last_fetch_time} — or E404 no data.
count → {count_data: {priorities[], total}}. list-latest → {feed_list_latest[], status}.
Content type: application/json
Schema
JSON object (structure varies by endpoint).
{
"type": "object",
"description": "JSON object (structure varies by endpoint)."
}
Example:
{
"status": "OK",
"feed_details": [],
"previous_cursor": null,
"next_cursor": "eyJza2lwIjoyMH0=",
"has_more": true,
"last_fetch_time": 1774373200310
}
400 — - E111 — invalid retrieve-type
- E112 — both starting_after and ending_before provided
- E114 — missing start_date for count
- E115 — missing end_date for count
- E116 — refresh interval exceeded for list-latest
Content type: application/json
Schema
| Property | Type | Required | Description |
|---|---|---|---|
status | string | Yes | Always "ER" for error responses |
errorCode | string | Yes | Application-level error code (e.g. E202, E105, E404) |
response | string | Yes | Human-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"
}
}
}
401 — Missing or invalid X-reflexis-csrf-token-X session token
Content type: application/json
Schema
| Property | Type | Required | Description |
|---|---|---|---|
status | string | Yes | Always "ER" for error responses |
errorCode | string | Yes | Application-level error code (e.g. E202, E105, E404) |
response | string | Yes | Human-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"
}
500 — Unexpected server-side error
Content type: application/json
Schema
| Property | Type | Required | Description |
|---|---|---|---|
status | string | Yes | Always "ER" for error responses |
errorCode | string | Yes | Application-level error code (e.g. E202, E105, E404) |
response | string | Yes | Human-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": "E302",
"response": "Internal server error"
}