Retrieve leadership calendar project data (monthly or annual view)
GET /task/v1/calendar/leadership
Operation id: getLeadershipCalendarData
Description
Retrieves leadership calendar project data for Monthly (M) or Annual (A) views. Corresponds to legacy: POST /service/execute/getLeadershipCalendarData.
Always-injected from session: domainId and authToken are resolved and injected. ServiceRouterUtil also auto-injects pulseAuthToken from authToken if absent.
Typed value parsing: Since GET query params are strings, the service layer parses:
- Comma-separated arrays → typed
List(e.g.exec_level=1,2→List<Integer>) show_only_my_projects,show_field_projects→ parsed toBooleanmonth_no,year→ parsed toInteger
Note on absent boolean params: The legacy frontend sets these from filter state that can be undefined. When undefined, the key is simply absent. The headless API handles absent keys gracefully — they are not included in the param map.
Response Fields — leadership_data
| Field | Type | Description |
|---|---|---|
leadership_calender_project_data[] | Array | Leadership project items for the selected period. Each: project_id, project_title, project_type, start_date (Integer yyyyMMdd), end_date, span, priority, legend_id |
leadership_categories[] | Array | Available project categories. Each: id, name |
leadership_admin_legend_details[] | Array | Legend/color definitions. Each: id, name, color |
notes | Object | User notes for the period, keyed by date |
monthly_notes | Object | Monthly notes for the period |
Error Scenarios
| Scenario | HTTP | Error Code | Message |
|---|---|---|---|
Missing / invalid X-reflexis-csrf-token-X | 401 | E202 | User session is invalid |
Missing cal_type | 400 | E144 | cal_type is mandatory |
Missing month_no | 400 | E145 | month_no is mandatory |
Missing year | 400 | E146 | year is mandatory |
| No data / service exception | 200 | E404 | No data found |
| Unexpected server-side error | 500 | E302 | Internal server error |
Error Codes Reference
| Code | Description |
|---|---|
E144 | cal_type is mandatory |
E145 | month_no is mandatory |
E146 | year is mandatory |
E202 | User session is invalid |
E302 | Internal server error |
E404 | No data found |
Tags: MyWorkCalendar
Parameters
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
assignments | string | No | Comma-separated department IDs to filter by. Parsed to List<String> server-side. |
cal_type | string | Yes | Required (→ E144 if missing). Calendar view type: - M = Monthly view - A = Annual / Year-at-glance view |
exec_level | string | No | Comma-separated execution level integers to filter by (e.g. 1,2). Parsed to List<Integer> server-side. |
legend_type | string | No | Comma-separated legend type IDs to filter by. Parsed to List<String> server-side. |
month_no | integer | Yes | Required (→ E145 if missing). Month number 1–12. Parsed to Integer server-side. |
priority | string | No | Comma-separated priority numbers to filter by (e.g. 1,3). Parsed to List<Integer> server-side. |
project_title | string | No | Project title search string (partial match). |
project_type_id | string | No | Comma-separated project type IDs to filter by (e.g. TYPE_A,TYPE_B). Parsed to List<String> server-side. |
show_field_projects | string | No | Default: absent (not sent). Include field/sub-projects in results. Parsed to Boolean server-side. |
show_only_my_projects | string | No | Default: absent (not sent). Filter to show only the user's own created projects. Parsed to Boolean server-side. When absent (key not in map), the service handles the missing key gracefully — equivalent to false. |
view_unit | string | No | Comma-separated unit IDs to scope the leadership view. |
year | integer | Yes | Required (→ E146 if missing). Four-digit year (e.g. 2026). Parsed to Integer server-side. |
Security
- AuthTokenHeader (apiKey)
- Session authentication token validated server-side against the user session store.
Responses
200 — Success — {status: OK, leadership_data: {...}}.
No data (service exception) → {status: ER, error_code: E404, response: "No data found"}.
Content type: application/json
400 — E144 — cal_type is mandatory.
E145 — month_no is mandatory. E146 — year is mandatory.
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, leadership_data: {...}}.
No data (service exception) → {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",
"leadership_data": {
"leadership_calender_project_data": [
{
"project_id": "4290692",
"project_title": "Q1 Store Refresh",
"project_type": "310",
"start_date": 20260401,
"end_date": 20260407,
"span": "START_END_DATE",
"priority": 2,
"legend_id": "LEGEND_1"
}
],
"leadership_categories": [
{
"id": "CAT_1",
"name": "Operations"
}
],
"leadership_admin_legend_details": [
{
"id": "LEGEND_1",
"name": "High Priority",
"color": "#FF0000"
}
],
"notes": {},
"monthly_notes": {}
}
}
400 — E144 — cal_type is mandatory.
E145 — month_no is mandatory. E146 — year is mandatory.
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"
}