---
title: "Get program calendar strategy"
method: GET
path: "/v1/programs/{programId}/calendar-strategies/{programCalendarStrategyId}"
tags: ["Program calendar strategies"]
---

# Get program calendar strategy

`GET /v1/programs/{programId}/calendar-strategies/{programCalendarStrategyId}`

Get a program calendar strategy by its ID.

<b>Note:</b> This endpoint cannot be used to retrieve information about a [fixed due date calendar](https://developers.pismo.io/pismo-docs/docs/fixed-due-date-calendars).

## Path parameters

- `programId` integer, required
- `programCalendarStrategyId` integer, required

## Headers

- `x-cid` string

## Response `202`

OK

- union
  - FIXEDCYCLECLOSINGResponse — Cycle closing date is fixed. Due date is dynamic.
    - `program_calendar_strategy_id` integer — Program calendar strategy ID
    - `program_id` integer — Program ID
    - `created_at` string, date-time — Datetime program calendar strategy was created. Format = YYYY-MM-DDTHH:MM:SS:MM.
    - `updated_at` string, date-time — Datetime program calendar strategy was updated. Format = YYYY-MM-DDTHH:MM:SS:MM
    - `strategy` 'FIXED_CYCLE_CLOSING' — Program calendar strategy
    - `configuration` object
      - `cycle_closing_day` integer — Day of the month for the cycle closing. Must be in the range 1 to 28.
      - `days_between_cycle_closing_and_due_date` integer — Number of days between cycle closing and due date
    - `active` boolean — Is the program calendar strategy active?
  - MONTHLYCYCLECLOSINGResponse — Cycle closes on a fixed day or Nth weekday each month. Due date is derived forward from the close date.
    - `program_calendar_strategy_id` integer — Program calendar strategy ID
    - `program_id` integer — Program ID
    - `created_at` string, date-time — Datetime program calendar strategy was created. Format = YYYY-MM-DDTHH:MM:SS:MM.
    - `updated_at` string, date-time — Datetime program calendar strategy was updated. Format = YYYY-MM-DDTHH:MM:SS:MM
    - `strategy` 'MONTHLY_CYCLE_CLOSING' — Program calendar strategy
    - `configuration` object
      - `cycle_closing_day` integer — Day of the month for the cycle closing. Must be in the range 1 to 28.
      - `nth_specific_weekday` NthSpecificWeekday — Nth specific weekday of the month (e.g. 3rd Friday). Mutually exclusive with fixed day fields.
        - `day_of_week` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required — Day of the week.
        - `week_of_month` integer, required — Week of the month. 1 = first, 2 = second, 3 = third, 4 = fourth, 5 = last.
      - `every_x_months` integer — Interval in months between cycles. Must be between 1 and 12. Defaults to 1.
      - `days_between_cycle_closing_and_due_date` integer — Number of days between cycle closing and due date
    - `active` boolean — Is the program calendar strategy active?
  - MONTHLYDUEDATEResponse — Due date falls on a fixed day or Nth weekday each month. Cycle close is derived backward from the due date.
    - `program_calendar_strategy_id` integer — Program calendar strategy ID
    - `program_id` integer — Program ID
    - `created_at` string, date-time — Datetime program calendar strategy was created. Format = YYYY-MM-DDTHH:MM:SS:MM.
    - `updated_at` string, date-time — Datetime program calendar strategy was updated. Format = YYYY-MM-DDTHH:MM:SS:MM
    - `strategy` 'MONTHLY_DUE_DATE' — Program calendar strategy
    - `configuration` object
      - `due_day` integer — Day of the month for the due date. Must be in the range 1 to 28.
      - `nth_specific_weekday` NthSpecificWeekday — Nth specific weekday of the month (e.g. 3rd Friday). Mutually exclusive with fixed day fields.
        - `day_of_week` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY', required — Day of the week.
        - `week_of_month` integer, required — Week of the month. 1 = first, 2 = second, 3 = third, 4 = fourth, 5 = last.
      - `every_x_months` integer — Interval in months between cycles. Must be between 1 and 12. Defaults to 1.
      - `days_between_cycle_closing_and_due_date` integer — Number of days between cycle closing and due date
    - `active` boolean — Is the program calendar strategy active?
  - WEEKLYCYCLECLOSINGResponse — Cycle closes on a specific weekday every N weeks. Due date is derived forward from the close date.
    - `program_calendar_strategy_id` integer — Program calendar strategy ID
    - `program_id` integer — Program ID
    - `created_at` string, date-time — Datetime program calendar strategy was created. Format = YYYY-MM-DDTHH:MM:SS:MM.
    - `updated_at` string, date-time — Datetime program calendar strategy was updated. Format = YYYY-MM-DDTHH:MM:SS:MM
    - `strategy` 'WEEKLY_CYCLE_CLOSING' — Program calendar strategy
    - `configuration` object
      - `day_of_week` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY' — Day of the week.
      - `every_x_weeks` integer — Interval in weeks between cycles. Must be between 1 and 52. Defaults to 1.
      - `days_between_cycle_closing_and_due_date` integer — Number of days between cycle closing and due date
    - `active` boolean — Is the program calendar strategy active?
  - WEEKLYDUEDATEResponse — Due date falls on a specific weekday every N weeks. Cycle close is derived backward from the due date.
    - `program_calendar_strategy_id` integer — Program calendar strategy ID
    - `program_id` integer — Program ID
    - `created_at` string, date-time — Datetime program calendar strategy was created. Format = YYYY-MM-DDTHH:MM:SS:MM.
    - `updated_at` string, date-time — Datetime program calendar strategy was updated. Format = YYYY-MM-DDTHH:MM:SS:MM
    - `strategy` 'WEEKLY_DUE_DATE' — Program calendar strategy
    - `configuration` object
      - `day_of_week` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY' — Day of the week.
      - `every_x_weeks` integer — Interval in weeks between cycles. Must be between 1 and 52. Defaults to 1.
      - `days_between_cycle_closing_and_due_date` integer — Number of days between cycle closing and due date
    - `active` boolean — Is the program calendar strategy active?
  - DAILYCYCLECLOSINGResponse — Cycle closes every N days. Due date is derived forward from the close date.
    - `program_calendar_strategy_id` integer — Program calendar strategy ID
    - `program_id` integer — Program ID
    - `created_at` string, date-time — Datetime program calendar strategy was created. Format = YYYY-MM-DDTHH:MM:SS:MM.
    - `updated_at` string, date-time — Datetime program calendar strategy was updated. Format = YYYY-MM-DDTHH:MM:SS:MM
    - `strategy` 'DAILY_CYCLE_CLOSING' — Program calendar strategy
    - `configuration` object
      - `every_x_days` integer — Interval in days between cycles. Must be between 1 and 365. Defaults to 1.
      - `days_between_cycle_closing_and_due_date` integer — Number of days between cycle closing and due date
    - `active` boolean — Is the program calendar strategy active?
  - DAILYDUEDATEResponse — Due date falls every N days. Cycle close is derived backward from the due date.
    - `program_calendar_strategy_id` integer — Program calendar strategy ID
    - `program_id` integer — Program ID
    - `created_at` string, date-time — Datetime program calendar strategy was created. Format = YYYY-MM-DDTHH:MM:SS:MM.
    - `updated_at` string, date-time — Datetime program calendar strategy was updated. Format = YYYY-MM-DDTHH:MM:SS:MM
    - `strategy` 'DAILY_DUE_DATE' — Program calendar strategy
    - `configuration` object
      - `every_x_days` integer — Interval in days between cycles. Must be between 1 and 365. Defaults to 1.
      - `days_between_cycle_closing_and_due_date` integer — Number of days between cycle closing and due date
    - `active` boolean — Is the program calendar strategy active?

## Other responses

- `400` — Invalid payload
- `500` — Internal server error

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
