Retrieve calendar / Gantt feed data (CALENDAR, STORE_PROJECTS, STORE_WALK_CAL)

GET /task/v1/calendar

Operation id: getCalendarData

Description

Retrieves calendar or Gantt feed data for the authenticated user. Corresponds to legacy: POST /service/rtm/getCalendarData.


Source Types

source_idRAR?Response ShapeSortingNotes
CALENDARNofeed_details[] (40+ fields)YesStandard feed data
STORE_PROJECTSYesproject_data[]YesRequires active_projects, local_projects
STORE_SUGGESTED_DATE_PROJECTSYesproject_data[]Yeslocal_projects defaults "N"
STORE_WALK_CALNoproject_data[] (6 fields)NoStore walk data; simpler items

Session-Derived Parameters (Always Injected — Not Overridable)

paramMap KeySourceDescription
domainIdsession.getDomainId()Tenant domain — always overwritten
authTokenRequest headerAuth token — always overwritten
loginAuthTokenRequest headerSame as authToken — always overwritten
userIdsession.getUserId()User identifier — always overwritten
profileIdsession.getProfileId()Profile — always overwritten
deptIdsession.getDeptId()Department — always overwritten
storeIdsession.getUnitId()Unit ID (mapped as storeId) — always overwritten
timeZoneLongsession.getTimeZoneLong()Timezone — always overwritten

Session-Defaulted Parameters (Client Can Override)

paramMap KeyQuery ParamDefaultNotes
homeDeptIdhome_dept_idsession.getHomeDeptId()Affects confidential project filtering
viewTypeview_typesession.getCurrentView()SV triggers store-scoped feed query
cutOffTimecut_off_time"0"
returnTypereturn_type"CAL"
calLayoutcal_layout"M"Overridden by system filter if filter_id used

selected_dates is not a request parameter — it is derived server-side by iterating all dates between from_date and to_date in yyyyMMdd format.


p_ Prefix Parameters

The p_ prefixed params use a non-standard mixed-case mapping (p_sort_column_1 p_SortColumn1) used in the downstream template substitution. They cannot be produced by standard camelCase conversion and are mapped explicitly.

Query ParamInternal KeyDescription
p_requestor_levelp_RequestorLevelRequestor org level
p_sort_column_1p_SortColumn1Primary sort column name
p_sort_column_order_1p_SortColumnOrder11=asc, -1=desc
p_sort_column_2p_SortColumn2Secondary sort column
p_sort_column_order_2p_SortColumnOrder2Sort direction
p_sort_column_3p_SortColumn3Tertiary sort column
p_sort_column_order_3p_SortColumnOrder3Sort direction

System Filter / RAR Handling

When filter_id is present and parseable, FilterService.getSystemFilter() loads MwFilterConfig. Three paths follow:

  • RAR source + filtersetRARParameters() injects filter params, calLayout overridden from filter.
  • Non-RAR filter with routerServiceRouterUtil.authenticateAndExecute() routes externally.
  • No filterRTMUpdateService.getCalendarData() called directly with template substitution.

Error Scenarios

ScenarioHTTPError CodeMessage
Missing / invalid X-reflexis-csrf-token-X401E202User session is invalid
Missing source_id400E140source_id is mandatory
Missing from_date400E142from_date is mandatory
Missing to_date400E143to_date is mandatory
from_date is after to_date400E147from_date must not be after to_date
No data found200E404No data found
Unexpected server-side error500E302Internal server error

Error Codes Reference

CodeDescription
E140source_id is mandatory
E142from_date is mandatory
E143to_date is mandatory
E147from_date must not be after to_date
E202User session is invalid
E302Internal server error
E404No data found

Tags: MyWorkCalendar

Parameters

Query parameters

NameTypeRequiredDescription
active_projectsstringNoActive projects flag. Applies to STORE_PROJECTS only. Y=active only, N=all/inactive.
cal_filter_exc_levelstringNoExecutor org level filter for calendar data.
cal_filter_org_levelstringNoOrg level filter for calendar data.
cal_filter_unitstringNoUnit filter for calendar data.
cal_layoutstringNoDefault: M. Calendar layout: - M = Month view - W = Week view - D = Day view - P = Pinboard view May be overridden by MwFilterConfig when filter_id is used.
cut_off_timestringNoDefault: '0'. Cut-off time value forwarded to the service.
favoritestringNoFavorite filter flag. Send "1" to show only favorited feeds. Internally maps to p_Favourite="A" when value is "1".
feed_titlestringNoFeed title search string. The service further URL-encodes it internally via URLEncoder.encode(title, "UTF-8"). Send the title as-is.
feed_type_idstringNoFeed type identifier filter.
filter_idstringNoSystem filter ID. When present and parseable, loads MwFilterConfig and triggers either RAR parameter injection or ServiceRouterUtil external routing. After output is produced, adds layout, calendarType, and selectedDates (computed via FeedProcessService.getDateRange()) to the response.
from_datestringYesRequired. Range start date in yyyyMMdd format (e.g. 20260315). Must not be after to_date (lexicographic comparison) → E147 if violated.
home_dept_idstringNoDefault: session homeDeptId. Comma-separated home department IDs. Affects confidential project visibility — service computes the intersection of deptId and homeDeptId to determine visible confidential projects. Client can override by providing this parameter.
local_projectsstringNoLocal projects flag. Applies to STORE_PROJECTS only. Y=local only, N=non-local only, A=all. Defaults to "N" internally for RAR sources if absent.
message_typestringNoMessage type filter (e.g. PROJECTEXTRACT). Forwarded to downstream service.
p_requestor_levelstringNoRequestor org level for template substitution. Mapped to p_RequestorLevel (non-standard casing — cannot be produced by generic camelCase conversion). Set to "null" if not applicable.
p_sort_column_1stringNoPrimary sort column name for template substitution (maps to p_SortColumn1). E.g. profileId.
p_sort_column_2stringNoSecondary sort column name (maps to p_SortColumn2). E.g. endDateTime.
p_sort_column_3stringNoTertiary sort column name (maps to p_SortColumn3). E.g. priority.
p_sort_column_order_1stringNoSort order for column 1 (maps to p_SortColumnOrder1). 1=ascending, -1=descending.
p_sort_column_order_2stringNoSort order for column 2 (maps to p_SortColumnOrder2). 1=ascending, -1=descending.
p_sort_column_order_3stringNoSort order for column 3 (maps to p_SortColumnOrder3). 1=ascending, -1=descending.
prioritystringNoComma-separated priority number filter (e.g. 1,3,9).
return_typestringNoDefault: CAL. Return type forwarded to the downstream service.
sort_bystringNoComma-separated sort column names for CALENDAR and STORE_PROJECTS sources. Example: profileId,endDateTime,priority,startDateTime,feedTitle,feedTypeId. Not applicable to STORE_WALK_CAL (no sorting supported for walk data).
sort_orderstringNoComma-separated sort directions matching sort_by columns. Values: A (ascending), D (descending). Example: D,D,A,A,D,D.
source_idstringYesRequired. Calendar data source type. Determines the response data shape: - CALENDARfeed_details[] with 40+ fields per feed - STORE_PROJECTSproject_data[] with project-level items - STORE_SUGGESTED_DATE_PROJECTSproject_data[] (suggested-date projects) - STORE_WALK_CALproject_data[] with simpler 6-field items
statusstringNoFeed status filter. Comma-separated status codes. Example: N,R,P,O,C,F,E. Values: N=New, R=Reviewed, P=In Progress, O=Overdue, C=Completed, F=Force-closed, E=Expired.
tagsstringNoTags filter forwarded to the downstream service.
to_datestringYesRequired. Range end date in yyyyMMdd format (e.g. 20260317). Server generates selectedDates from all dates between from_date and to_date.
view_typestringNoDefault: session currentView. View type forwarded to the service. SV (Store View) triggers a store-scoped feed query path. The legacy frontend always sends this; if the headless client omits it, the session value is used.
week_datesstringNoComma-separated current-week date strings in yyyyMMdd format. Example: 20260315,20260316,20260317.

Security

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

Responses

200 — Success — {status: OK, calendar_data: {...}}.

Response shape depends on source_id:

  • CALENDARcalendar_data.feed_details[] (full feed records, 40+ fields) + last_fetch_time
  • STORE_PROJECTS / STORE_SUGGESTED_DATE_PROJECTScalendar_data.project_data[] Each item: project_id, project_title, project_type, project_type_desc, icon, start_date, end_date, priority, is_overdue, is_completed, is_confidential, is_edited, has_survey, has_attachment, assigned_role
  • STORE_WALK_CALcalendar_data.project_data[] Each item: project_id, project_title, project_type, assigned_to, start_date, end_date
  • No data → {status: ER, error_code: E404, response: "No data found"}

Content type: application/json

400E140 — source_id is mandatory.

E142 — from_date is mandatory. E143 — to_date is mandatory. E147 — from_date must not be after to_date.

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 — Success — {status: OK, calendar_data: {...}}.

Response shape depends on source_id:

  • CALENDARcalendar_data.feed_details[] (full feed records, 40+ fields) + last_fetch_time
  • STORE_PROJECTS / STORE_SUGGESTED_DATE_PROJECTScalendar_data.project_data[] Each item: project_id, project_title, project_type, project_type_desc, icon, start_date, end_date, priority, is_overdue, is_completed, is_confidential, is_edited, has_survey, has_attachment, assigned_role
  • STORE_WALK_CALcalendar_data.project_data[] Each item: project_id, project_title, project_type, assigned_to, start_date, end_date
  • No data → {status: ER, error_code: E404, response: "No data found"}

Content type: application/json

Schema

JSON object (structure varies by endpoint).

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

Example:

{
  "status": "OK",
  "calendar_data": {
    "feed_details": [
      {
        "feed_key": 45810367,
        "feed_title": "HO%20Violation%20Project",
        "feed_type": "T",
        "feed_type_id": "V12",
        "status": "O",
        "priority": 1,
        "start_date_time": "2026-03-31 00:00:00",
        "end_date_time": "2026-03-31 23:59:59",
        "cluster_id": "4293672"
      }
    ],
    "last_fetch_time": 1775827383742
  }
}

400E140 — source_id is mandatory.

E142 — from_date is mandatory. E143 — to_date is mandatory. E147 — from_date must not be after to_date.

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"
    }
  }
}

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"
}

500 — Unexpected server-side error

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": "E302",
  "response": "Internal server error"
}