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:
dailyEvents.logonTime
- Expected logon timedailyEvents.logoutTime
- Expected logout timedailyEvents.endOfDayTime
- End of day processing timedailyEvents.recurrence
- Recurrence pattern (weekdays or specific days)
Weekly Events:
weeklyEvents.logonDay
- Day of week for logonweeklyEvents.logonTime
- Time for logonweeklyEvents.logoutDay
- Day of week for logoutweeklyEvents.logoutTime
- Time for logoutweeklyEvents.endOfWeekDay
- End of week dayweeklyEvents.endOfWeekTime
- End of week time
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
UNKNOWN
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY