FIX Monitor API

Note

Version: v1
Base URL: https://next.itrslab.com/fixmonitor/api

The FIX Monitor API provides endpoints for managing session schedules and holiday calendars in the FIX Monitor system. This API allows you to configure and maintain scheduling information for FIX sessions, including daily and weekly recurrence patterns, and manage holiday calendars that affect session schedules.

Calendars Copied

The Calendars endpoints allow you to manage holiday calendars that can be associated with session schedules to exclude specific dates from normal scheduling.

Get Holiday Calendars Copied

Retrieves one or all holiday calendars from the system.

Endpoint: GET /v1/holiday-calendars

Parameters Copied

Parameter Type Location Required Description
name string query No Holiday calendar name to retrieve a specific calendar

Example Request Copied

GET /v1/holiday-calendars?name=TestCalendar

Example Response Copied

{
  "calendars": {
    "calendars": [
      {
        "name": "TestCalendar",
        "timezone": "UTC",
        "dates": [
          {
            "year": 2024,
            "month": 1,
            "day": 1
          },
          {
            "year": 2024,
            "month": 12,
            "day": 25
          }
        ]
      }
    ]
  }
}

Create/Update Holiday Calendars Copied

Creates or updates specified holiday calendars. Pre-existing calendars with names not matching any of the provided calendars remain in place.

Endpoint: POST /v1/holiday-calendars

Request Body Copied

Field Type Required Description
calendars object Yes The calendars to add/replace (keyed on calendar name)
calendars.calendars array Yes Array of holiday calendar objects
calendars.calendars[].name string Yes Calendar name. Must be unique
calendars.calendars[].dates array Yes Array of date objects
calendars.calendars[].dates[].year integer Yes The calendar year
calendars.calendars[].dates[].month integer Yes The calendar month
calendars.calendars[].dates[].day integer Yes The calendar day

Example Request Copied

{
  "calendars": {
    "calendars": [
      {
        "name": "TestCalendar",
        "dates": [
          {
            "year": 2024,
            "month": 1,
            "day": 1
          }
        ]
      }
    ]
  }
}

Example Response Copied

{}

Delete Holiday Calendar Copied

Deletes a holiday calendar by name. Note that an attempt to clear a calendar referenced by a session schedule will fail.

Endpoint: DELETE /v1/holiday-calendars

Parameters Copied

Parameter Type Location Required Description
name string query No Name of holiday calendar to delete

Example Request Copied

DELETE /v1/holiday-calendars?name=TestCalendar

Example Response Copied

{}

Schedules Copied

The Schedules endpoints allow you to manage session schedules, including default schedules and session-specific schedules.

Get Default Session Schedule Copied

Returns the default session schedule used by sessions when no specific schedule is set.

Endpoint: GET /v1/session-schedule-default

Example Request Copied

GET /v1/session-schedule-default

Example Response Copied

{
  "schedule": {
    "events": {
      "timezone": "UTC",
      "dailyEvents": {
        "logonTime": {
          "hour": 8,
          "minute": 0,
          "second": 0
        },
        "logoutTime": {
          "hour": 17,
          "minute": 0,
          "second": 0
        },
        "recurrence": {
          "weekdays": {}
        }
      }
    },
    "isDefaultSchedule": true
  }
}

Get Session Schedules Copied

Retrieves one or all session schedules from the system.

Endpoint: GET /v1/session-schedules

Parameters Copied

Parameter Type Location Required Description
id string query No SessionId to retrieve schedule for a specific session

Example Request Copied

GET /v1/session-schedules?id=SESSION123

Example Response Copied

{
  "schedules": {
    "schedules": [
      {
        "id": "SESSION123",
        "sessionAddress": {
          "senderCompId": "SENDER123",
          "targetCompId": "TARGET123"
        },
        "schedule": {
          "events": {
            "timezone": "America/New_York",
            "dailyEvents": {
              "logonTime": {
                "hour": 9,
                "minute": 0,
                "second": 0
              },
              "logoutTime": {
                "hour": 16,
                "minute": 0,
                "second": 0
              },
              "endOfDayTime": {
                "hour": 16,
                "minute": 30,
                "second": 0
              },
              "recurrence": {
                "weekdays": {}
              }
            }
          },
          "holidayCalendarName": "NYSE_HOLIDAYS",
          "isDefaultSchedule": false
        }
      }
    ]
  }
}

Create/Update Session Schedules Copied

Creates or updates specified session schedules. Pre-existing schedules with sessionIds not matching any of the provided schedules remain in place.

Endpoint: POST /v1/session-schedules

Request Body Copied

Field Type Required Description
schedules object Yes The schedules to add/replace (keyed on sessionId)
schedules.schedules array Yes Array of session schedule objects
schedules.schedules[].id string Yes The unique sessionId
schedules.schedules[].sessionAddress object Yes Must contain unique SenderCompID and TargetCompID combination
schedules.schedules[].sessionAddress.senderCompId string Yes Sender Company ID
schedules.schedules[].sessionAddress.targetCompId string Yes Target Company ID
schedules.schedules[].schedule object Yes The complete schedule for a session
schedules.schedules[].schedule.events object Yes The set of expected events
schedules.schedules[].schedule.events.timezone string Yes Valid JVM timezone (e.g., “UTC”, “America/New_York”)
schedules.schedules[].schedule.holidayCalendarName string No Optional holiday calendar to associate
schedules.schedules[].schedule.isDefaultSchedule boolean Yes Whether this is the default schedule

Schedule Events Types Copied

Daily Events:

Weekly Events:

Example Request Copied

{
  "schedules": {
    "schedules": [
      {
        "id": "SESSION123",
        "sessionAddress": {
          "senderCompId": "SENDER123",
          "targetCompId": "TARGET123"
        },
        "schedule": {
          "events": {
            "timezone": "America/New_York",
            "dailyEvents": {
              "logonTime": {
                "hour": 9,
                "minute": 0,
                "second": 0
              },
              "logoutTime": {
                "hour": 16,
                "minute": 0,
                "second": 0
              },
              "recurrence": {
                "weekdays": {}
              }
            }
          },
          "holidayCalendarName": "NYSE_HOLIDAYS",
          "isDefaultSchedule": false
        }
      }
    ]
  }
}

Example Response Copied

{}

Delete Session Schedule Copied

Deletes a session schedule by sessionId.

Endpoint: DELETE /v1/session-schedules

Parameters Copied

Parameter Type Location Required Description
id string query No SessionId of the schedule to delete

Example Request Copied

DELETE /v1/session-schedules?id=SESSION123

Example Response Copied

{}

Data Models Copied

DailyRecurrence_Days Object Copied

Field Type Description
days array of string (Day enum) Specific days on which events recur

DailyRecurrence_Weekdays Object Copied

Empty object that indicates recurrence on weekdays (MONDAY through FRIDAY).

DailyScheduleEvents_DailyRecurrence Object Copied

Contains one of the following recurrence patterns:

Field Type Description
weekdays DailyRecurrence_Weekdays Recurs every weekday (MONDAY - FRIDAY)
days DailyRecurrence_Days Recurs on specific days of the week

Date Object Copied

Field Type Description
year integer The calendar year
month integer The calendar month
day integer The calendar day

DeleteHolidayCalendarResponse Object Copied

Empty response object that indicates successful deletion operation.

DeleteSessionScheduleResponse Object Copied

Empty response object that indicates successful deletion operation.

GetHolidayCalendarsResponse Object Copied

Field Type Description
calendars HolidayCalendars List of holiday calendars

GetSessionDefaultScheduleResponse Object Copied

Field Type Description
schedule Schedule The default session schedule

GetSessionSchedulesResponse Object Copied

Field Type Description
schedules SessionSchedules Array of session schedules

HolidayCalendar Object Copied

Field Type Description
name string Calendar name. Must be unique
timezone string Deprecated timezone field. Ignored as of v2.3.0
dates array of Date The specific dates on this calendar

HolidayCalendars Object Copied

Field Type Description
calendars array of HolidayCalendar Array of holiday calendar objects

PutHolidayCalendarsRequest Object Copied

Field Type Description
calendars HolidayCalendars The calendars to add/replace (keyed on calendar name). Pre-existing calendars with names not matching any of these remain in place

PutHolidayCalendarsResponse Object Copied

Empty response object that indicates successful operation.

PutSessionSchedulesRequest Object Copied

Field Type Description
schedules SessionSchedules The schedules to add/replace (keyed on sessionId). Pre-existing schedules with sessionIds not matching any of these remain in place

PutSessionSchedulesResponse Object Copied

Empty response object that indicates successful operation.

Schedule Object Copied

Field Type Description
events ScheduleEvents The set of expected events for this session
holidayCalendarName string Optional holiday calendar name to associate with this session’s schedule
isDefaultSchedule boolean Mandatory. Whether this is the default schedule

The schedule defines the timing of expected session logon/logout events. Schedules may be used to generate signals representing session non-conformance to an expected schedule and are recommended where possible.

ScheduleEvents Object Copied

Field Type Description
timezone string Mandatory. Valid JVM timezone (e.g., “UTC”, “America/New_York”, “Europe/London”)
dailyEvents ScheduleEvents_DailyScheduleEvents Sessions expected to be logged on/out at specific times on specific days
weeklyEvents ScheduleEvents_WeeklyScheduleEvents Sessions expected to be logged on for the entire week

ScheduleEvents_DailyScheduleEvents Object Copied

Field Type Description
logonTime Time Expected logon time
logoutTime Time Expected logout time
endOfDayTime Time End of day processing time
recurrence DailyScheduleEvents_DailyRecurrence The recurrence of days in each week

ScheduleEvents_WeeklyScheduleEvents Object Copied

Field Type Description
logonDay string (Day enum) Day of week for logon
logonTime Time Time for logon
logoutDay string (Day enum) Day of week for logout
logoutTime Time Time for logout
endOfWeekDay string (Day enum) End of week day
endOfWeekTime Time End of week time

SessionAddress Object Copied

Field Type Description
senderCompId string Sender Company ID
targetCompId string Target Company ID

SessionSchedule Object Copied

Field Type Description
id string Mandatory. The unique sessionId
sessionAddress SessionAddress Mandatory. Must contain unique combination of SenderCompID and TargetCompID
schedule Schedule Mandatory. The complete schedule for a session

SessionSchedules Object Copied

Field Type Description
schedules array of SessionSchedule Array of session schedule objects

Time Object Copied

Field Type Description
hour integer Hour: 0 - 23
minute integer Minute: 0 - 59
second integer Second: 0 - 59

Enums Copied

Day Enum Values Copied

["ITRS Analytics"] ["ITRS Analytics > API Gateway"] ["User Guide"]

Was this topic helpful?