{
    "openapi":"3.0.0",
    "info":{
        "description":"REST API for Risk Engine",
        "version":"2025.04.01",
        "title":"REST API for Risk Service in Oracle Advanced Risk Manager",
        "contact":{
            "email":"ngssodev_us_grp@oracle.com"
        },
        "x-summary":"REST API for Risk Engine"
    },
    "tags":[
        {
            "name":"Custom User Activity",
            "description":"The operations from the Custom User Activity category."
        },
        {
            "name":"Device",
            "description":"The operations from the Device category."
        },
        {
            "name":"RiskEvaluation",
            "description":"The operations from the RiskEvaluation category."
        },
        {
            "name":"User Session",
            "description":"The operations from the User Session category."
        }
    ],
    "servers":[
        {
            "url":"https://oaainstall-host/risk-analyzer"
        }
    ],
    "security":[
        {
            "Apikey":[
            ]
        }
    ],
    "paths":{
        "/transaction/v1":{
            "post":{
                "tags":[
                    "Custom User Activity"
                ],
                "summary":"Create custom user activity data",
                "description":"Creates new runtime data for custom user activities",
                "operationId":"createTransactions",
                "requestBody":{
                    "$ref":"#/components/requestBodies/TransactionRequests"
                },
                "responses":{
                    "201":{
                        "description":"Created custom user activity response",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"transaction-v1-post",
                "x-filename-id":"transaction-v1-post"
            },
            "put":{
                "tags":[
                    "Custom User Activity"
                ],
                "summary":"Update custom user activitiy data",
                "description":"Updates runtime data for custom user activities",
                "operationId":"updateTransactions",
                "requestBody":{
                    "$ref":"#/components/requestBodies/TransactionRequests"
                },
                "responses":{
                    "200":{
                        "description":"Updated custom user activity response",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponses"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"transaction-v1-put",
                "x-filename-id":"transaction-v1-put"
            }
        },
        "/risk/v1/{requestId}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"requestId",
                    "required":true,
                    "schema":{
                        "type":"string"
                    }
                }
            ],
            "put":{
                "tags":[
                    "RiskEvaluation"
                ],
                "summary":"Deprecated - Process rules",
                "description":"Deprecated:Please use processrulessecurely API.\nRuns rules for a given session (request) and checkpoint. ",
                "operationId":"processRules",
                "requestBody":{
                    "$ref":"#/components/requestBodies/ProcessRiskRequest"
                },
                "responses":{
                    "200":{
                        "description":"Rules processed for the authentication context.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskApiResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskApiResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskApiResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"risk-v1-{requestId}-put",
                "x-filename-id":"risk-v1-requestid-put"
            }
        },
        "/risk/v1/processrulessecurely":{
            "put":{
                "tags":[
                    "RiskEvaluation"
                ],
                "summary":"Process rules",
                "description":"Runs rules for a given session (request) and checkpoint.",
                "operationId":"processRulesSecurely",
                "requestBody":{
                    "$ref":"#/components/requestBodies/ProcessRiskRequest"
                },
                "responses":{
                    "200":{
                        "description":"Rules processed for the authentication context.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskApiResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskApiResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/ProcessRiskApiResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"risk-v1-processrulessecurely-put",
                "x-filename-id":"risk-v1-processrulessecurely-put"
            }
        },
        "/session/v1":{
            "post":{
                "tags":[
                    "User Session"
                ],
                "summary":"Create session",
                "description":"Creates new OARM session for the user authentication request.",
                "operationId":"createSession",
                "requestBody":{
                    "$ref":"#/components/requestBodies/CreateRiskSessionRequest"
                },
                "responses":{
                    "201":{
                        "description":"Create the session for the request.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/CreateSessionResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/CreateSessionResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/CreateSessionResponse"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"session-v1-post",
                "x-filename-id":"session-v1-post"
            }
        },
        "/session/v1/fetchsessionsecurely":{
            "put":{
                "tags":[
                    "User Session"
                ],
                "summary":"Fetch the details of existing session",
                "description":"Session details are fetched for the given request id.",
                "operationId":"getSessionSecurely",
                "requestBody":{
                    "$ref":"#/components/requestBodies/RequestData"
                },
                "responses":{
                    "200":{
                        "description":"Retrieve user session data",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"session-v1-fetchsessionsecurely-put",
                "x-filename-id":"session-v1-fetchsessionsecurely-put"
            }
        },
        "/session/v1/updatesessionsecurely":{
            "put":{
                "tags":[
                    "User Session"
                ],
                "summary":"Update the authentication status of the session",
                "description":"Authentication status reflect the status if user login.",
                "operationId":"updateAuthStatusSecurely",
                "requestBody":{
                    "$ref":"#/components/requestBodies/SessionData"
                },
                "responses":{
                    "200":{
                        "description":"User authentication session status is updated",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"session-v1-updatesessionsecurely-put",
                "x-filename-id":"session-v1-updatesessionsecurely-put"
            }
        },
        "/session/v1/{requestId}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"requestId",
                    "required":true,
                    "schema":{
                        "type":"string"
                    }
                }
            ],
            "put":{
                "tags":[
                    "User Session"
                ],
                "summary":"Deprecated - Update the authentication status of the session",
                "description":"Deprecated: Please use updatesessionsecurely API.\n This API updates authentication status of the user's session",
                "operationId":"updateAuthStatus",
                "requestBody":{
                    "$ref":"#/components/requestBodies/SessionData"
                },
                "responses":{
                    "200":{
                        "description":"User authentication session status is updated",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"session-v1-{requestId}-put",
                "x-filename-id":"session-v1-requestid-put"
            },
            "get":{
                "tags":[
                    "User Session"
                ],
                "summary":"Deprecated - Fetches session details of user's session",
                "description":"Deprecated: Please use fetchsessionsecurely API.\n This API fetches session details for the given request id.",
                "operationId":"getSession",
                "responses":{
                    "200":{
                        "description":"Retrieve user session data",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "400":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/StatusResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"session-v1-{requestId}-get",
                "x-filename-id":"session-v1-requestid-get"
            }
        },
        "/device/v1/{requestId}":{
            "parameters":[
                {
                    "in":"path",
                    "name":"requestId",
                    "required":true,
                    "schema":{
                        "type":"string"
                    }
                }
            ],
            "post":{
                "tags":[
                    "Device"
                ],
                "summary":"Add a new device in user profile",
                "description":"Add new device in user profile. Multiple devices can be added in the single request. Also device can be marked as safe while adding",
                "operationId":"registerDevice",
                "requestBody":{
                    "$ref":"#/components/requestBodies/CreateUserDeviceRequest"
                },
                "responses":{
                    "201":{
                        "description":"User devices are created and added to user profile.",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"device-v1-{requestId}-post",
                "x-filename-id":"device-v1-requestid-post"
            },
            "put":{
                "tags":[
                    "Device"
                ],
                "summary":"Updates user device related to request id",
                "description":"Updates and return user device related to request id",
                "operationId":"updateDevice",
                "requestBody":{
                    "$ref":"#/components/requestBodies/UpdateUserDeviceRequest"
                },
                "responses":{
                    "200":{
                        "description":"Fetch user devices present in the request id ",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"device-v1-{requestId}-put",
                "x-filename-id":"device-v1-requestid-put"
            },
            "get":{
                "tags":[
                    "Device"
                ],
                "summary":"Fetch user device",
                "description":"Fetch user device for the given request id",
                "operationId":"getDevice",
                "responses":{
                    "200":{
                        "description":"User device is fetched",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDevice"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDevice"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDevice"
                                }
                            }
                        }
                    },
                    "401":{
                        "description":"Unauthorized"
                    },
                    "405":{
                        "description":"Invalid input",
                        "content":{
                            "application/json":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "application/xml":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            },
                            "text/plain":{
                                "schema":{
                                    "$ref":"#/components/schemas/UserDeviceApiResponse"
                                }
                            }
                        }
                    },
                    "500":{
                        "description":"Internal server error"
                    },
                    "503":{
                        "description":"Service Unavailable"
                    }
                },
                "x-internal-id":"device-v1-{requestId}-get",
                "x-filename-id":"device-v1-requestid-get"
            }
        }
    },
    "components":{
        "securitySchemes":{
            "Apikey":{
                "type":"http",
                "scheme":"basic"
            }
        },
        "schemas":{
            "CounterRequest":{
                "type":"object",
                "description":"Counter request object for counter related requests",
                "properties":{
                    "challengeType":{
                        "type":"string",
                        "description":"type of challenge for counter request processing"
                    }
                }
            },
            "KeyValPair":{
                "type":"object",
                "description":"Key-value pair which can be used generically.",
                "required":[
                    "key",
                    "value"
                ],
                "properties":{
                    "key":{
                        "type":"string",
                        "description":"Key that can be used to fetch the related value."
                    },
                    "value":{
                        "type":"object",
                        "description":"associated value."
                    }
                }
            },
            "DateTime":{
                "type":"string",
                "format":"date-time",
                "description":"Date time string in the format rfc3339 sec 5.6. https://tools.ietf.org/html/rfc3339#section-5.6 e.g format 2021-08-13T01:29:29.768Z"
            },
            "DateTimeRange":{
                "type":"object",
                "example":"<from>_<to>, where <from> is the start of time range, and <to> is the end of the time range.  '2019-12-31T10:10:00Z+07:00_to2019-12-31T10:11:00Z+07:00' represents 10 am to 11 am PDT on 31st December 2019.",
                "required":[
                    "from|to"
                ],
                "properties":{
                    "from":{
                        "$ref":"#/components/schemas/DateTime"
                    },
                    "to":{
                        "$ref":"#/components/schemas/DateTime"
                    }
                }
            },
            "CookieSet":{
                "type":"object",
                "properties":{
                    "digitalCookie":{
                        "type":"string",
                        "description":"Digital cookie"
                    },
                    "secureCookie":{
                        "type":"string",
                        "description":"secure cookie"
                    },
                    "requestId":{
                        "type":"string",
                        "description":"Request identifier"
                    }
                }
            },
            "CreateUserDeviceRequest":{
                "description":"User device create request",
                "properties":{
                    "markSafe":{
                        "type":"boolean",
                        "description":"mark the device, associated with request id, safe or unsafe based in the true or false value."
                    },
                    "friendlyName":{
                        "type":"string",
                        "description":"friendly name of the device."
                    }
                }
            },
            "UpdateUserDeviceRequest":{
                "description":"User device update request",
                "properties":{
                    "markSafe":{
                        "type":"boolean",
                        "description":"mark the device, associated with request id, safe or unsafe based in the true or false value."
                    }
                }
            },
            "UpdateUserDevicesRequest":{
                "description":"List of user's device to be created.",
                "type":"array",
                "items":{
                    "$ref":"#/components/schemas/UserDevice"
                }
            },
            "UserDevice":{
                "type":"object",
                "description":"Device information for the given user.",
                "properties":{
                    "deviceMapId":{
                        "type":"number",
                        "description":"Unique identifier for this UserDevice."
                    },
                    "userId":{
                        "type":"string",
                        "description":"The extUserId of the VTUser associated with this device."
                    },
                    "isSecure":{
                        "type":"boolean",
                        "description":"True if this device is secure / has been registered by the user."
                    },
                    "friendlyName":{
                        "type":"string",
                        "description":"The user friendly name for this device."
                    }
                }
            },
            "UserDeviceResponse":{
                "type":"object",
                "description":"Device information for the given user.",
                "properties":{
                    "devices":{
                        "description":"List of user owned devices",
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/UserDevice"
                        }
                    },
                    "totalCount":{
                        "type":"number",
                        "description":"total number of devices in the response"
                    },
                    "fromIndex":{
                        "type":"number",
                        "description":"starting number of device."
                    },
                    "apiResponse":{
                        "description":"User device api response",
                        "$ref":"#/components/schemas/UserDeviceApiResponse"
                    }
                }
            },
            "UserDeviceApiResponse":{
                "type":"object",
                "description":"User device API response for status of the rest call",
                "properties":{
                    "success":{
                        "type":"boolean",
                        "description":"status of the operation."
                    },
                    "responseCode":{
                        "type":"string",
                        "description":"status code of the request"
                    },
                    "responseMessage":{
                        "type":"string",
                        "description":"response message related to the response code if needed."
                    }
                }
            },
            "StatusResponse":{
                "type":"object",
                "description":"Status information for API call",
                "properties":{
                    "responseCode":{
                        "type":"string",
                        "description":"status code of the request"
                    },
                    "responseMessage":{
                        "type":"string",
                        "description":"response message related to the response code if needed."
                    },
                    "status":{
                        "type":"boolean",
                        "description":"authentication update request status"
                    },
                    "sessionId":{
                        "type":"string",
                        "description":"session id of the authentcation."
                    },
                    "transactionId":{
                        "type":"number",
                        "description":"transactionId in case of transaction data."
                    },
                    "userData":{
                        "$ref":"#/components/schemas/SessionUserData",
                        "description":"user data used in the session."
                    }
                }
            },
            "StatusResponses":{
                "type":"array",
                "description":"List of status responses",
                "items":{
                    "$ref":"#/components/schemas/StatusResponse"
                }
            },
            "TransactionRequest":{
                "type":"object",
                "description":"Data Object to create a Transaction",
                "required":[
                    "requestId",
                    "contextMap",
                    "status",
                    "transactionKey"
                ],
                "properties":{
                    "requestId":{
                        "type":"string",
                        "description":"request identifier."
                    },
                    "transactionId":{
                        "type":"number",
                        "description":"Transaction identifier, generally used to update the transaction."
                    },
                    "requestTime":{
                        "$ref":"#/components/schemas/DateTime",
                        "description":"time of the request."
                    },
                    "transactionKey":{
                        "type":"string",
                        "description":"Key of the transaction"
                    },
                    "externalTransactionId":{
                        "type":"string",
                        "description":"external transaction id"
                    },
                    "status":{
                        "type":"integer",
                        "description":"status of the transaction."
                    },
                    "analyzePatterns":{
                        "type":"boolean",
                        "description":"true if patterns should be analyzed"
                    },
                    "contextMap":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/KeyValPair"
                        },
                        "description":"context data"
                    }
                }
            },
            "TransactionRequests":{
                "type":"array",
                "items":{
                    "$ref":"#/components/schemas/TransactionRequest"
                },
                "description":"List of runtime data for custom user activity create requests."
            },
            "SessionUserData":{
                "type":"object",
                "description":"user related data",
                "required":[
                    "loginName",
                    "groupName"
                ],
                "properties":{
                    "loginName":{
                        "type":"string",
                        "description":"Login name used for authentication"
                    },
                    "groupName":{
                        "type":"string",
                        "description":"group name"
                    },
                    "userId":{
                        "type":"string",
                        "description":"user identifier."
                    }
                }
            },
            "IPData":{
                "type":"object",
                "description":"IP related data used during authentication",
                "required":[
                    "remoteIP"
                ],
                "properties":{
                    "remoteIP":{
                        "type":"string",
                        "description":"This attribute captures the IP address of the session in String format. (A.B.C.D)"
                    },
                    "remoteHost":{
                        "type":"string",
                        "description":"This attribute captures the remote Host machine name from which the request somes in."
                    },
                    "proxyIP":{
                        "type":"string",
                        "description":"This attribute is the proxy IP address of the session if proxy is present. (in A.B.C.D format)"
                    },
                    "longitude":{
                        "type":"number",
                        "description":"The longitude of the location. Min value is -180 (negative values for western hemisphere) and max value is +180 (positive values for eastern hemispehre)."
                    },
                    "latitude":{
                        "type":"number",
                        "description":"The latitude of the location. Min value is -90 (negative values for sounthern hemisphere) and max value is +90 (positive values for northern hemisphere)"
                    },
                    "locationAccuracy":{
                        "type":"number",
                        "description":"This attribute describes the accuracy of the location information (longitude, latitude pair). This attribute along with location accuracy units will indicate the accuracy. Typical example will be say within 2 meters of the indicated co-ordinates. For this example the value of this attribute will be 2.0 and the value of location accuracy type will be a enumeration pointing to metere."
                    },
                    "locationAccuracyUnits":{
                        "type":"integer",
                        "description":"Required when locationAccuracy is present. This attribute along with locationAccuracy attribute describes the accuracy of the location information (longitude, latitude pair). This attribute along with location accuracy units will indicate the accuracy. Typical example will be say within 2 meters of the indicated co-ordinates. For this example the value of this attribute will be a enumeration pointing to meter and value of locationAccuracy attribute will be 2.0."
                    },
                    "locationAcquireType":{
                        "type":"integer",
                        "description":"Required when locationAccuracy is present. This attribute indicates the type / method by which location was acquired. This is enumeration of the type location.source.type.enum. Some of the possible integer values will correspond to gps, asisted gps, wifi hotspot etc."
                    },
                    "locationAcquireTime":{
                        "$ref":"#/components/schemas/DateTime",
                        "description":"This date-time field is the time at which mobile device acquired the location co-ordinates."
                    }
                }
            },
            "DeviceFingerprintData":{
                "type":"object",
                "description":"Device fingerprint data that is present in the request",
                "properties":{
                    "cookie":{
                        "type":"string",
                        "description":"cookie in the request"
                    },
                    "fingerprint":{
                        "type":"string",
                        "description":"device fingerprint"
                    },
                    "cookieType":{
                        "type":"integer",
                        "description":"cookie type value from the enum configuration vcrypt.fingerprint.type.enum."
                    }
                }
            },
            "DeviceFingerprintDataList":{
                "type":"array",
                "description":"List of the device fingerprint data",
                "items":{
                    "$ref":"#/components/schemas/DeviceFingerprintData"
                }
            },
            "SessionData":{
                "type":"object",
                "description":"Session data present in the request.",
                "required":[
                    "requestId",
                    "authenticationStatus",
                    "clientType"
                ],
                "properties":{
                    "requestId":{
                        "type":"string",
                        "description":"requestId for the request"
                    },
                    "authenticationStatus":{
                        "type":"integer",
                        "description":"authentication status. One of the config value from auth.status.enum."
                    },
                    "registerDevice":{
                        "type":"boolean",
                        "description":"Attribute is flag when true will result in registering the device for the user."
                    },
                    "clientApplication":{
                        "type":"string",
                        "description":"The client application of the user's session."
                    },
                    "clientType":{
                        "type":"integer",
                        "description":"The client type of the user's session. (client.type.enum)"
                    },
                    "clientVersion":{
                        "type":"string",
                        "description":"Version of the client software / browser / device etc."
                    },
                    "analyzePatterns":{
                        "type":"boolean",
                        "description":"Flag to indicate if autolearnin should be at this point."
                    },
                    "externalDeviceId":{
                        "type":"string",
                        "description":"Exiernal device id if client wants to populate."
                    }
                }
            },
            "CreateSessionRequest":{
                "type":"object",
                "description":"Request object for creating the session",
                "properties":{
                    "requestId":{
                        "type":"string",
                        "description":"requestId for the request. If not populated will be generated in the server and returned in the response."
                    },
                    "requestTime":{
                        "$ref":"#/components/schemas/DateTime",
                        "description":"The date-time stamp on the request. (If not populated then will be generated in the server)"
                    },
                    "user":{
                        "$ref":"#/components/schemas/SessionUserData",
                        "description":"User Data associated with this session."
                    },
                    "ip":{
                        "$ref":"#/components/schemas/IPData",
                        "description":"IP Address data assocuated with this session."
                    },
                    "fpList":{
                        "$ref":"#/components/schemas/DeviceFingerprintDataList",
                        "description":"List of device fingerprints."
                    },
                    "sessionData":{
                        "$ref":"#/components/schemas/SessionData",
                        "description":"Session data associated with this session."
                    }
                }
            },
            "CreateSessionResponse":{
                "type":"object",
                "description":"session create response",
                "properties":{
                    "cookieSet":{
                        "$ref":"#/components/schemas/CookieSet"
                    },
                    "statusResponse":{
                        "$ref":"#/components/schemas/StatusResponse"
                    }
                }
            },
            "ProcessFpRequest":{
                "type":"object",
                "description":"Fingerprint of the device contains the information to identify the device. It is a json object."
            },
            "ProcessFpResponse":{
                "type":"object",
                "description":"response of device's fingerprint request. The response is in json format.",
                "properties":{
                    "response":{
                        "type":"object"
                    }
                }
            },
            "ProcessRiskRequest":{
                "type":"object",
                "description":"Process rule request object",
                "required":[
                    "requestId"
                ],
                "properties":{
                    "requestId":{
                        "type":"string",
                        "description":"requestId for the request"
                    },
                    "transactionId":{
                        "type":"number",
                        "description":"User Activity data Identifier created for this session"
                    },
                    "extTransactionId":{
                        "type":"string",
                        "description":"external transaction Id, used only when transactionId is null"
                    },
                    "requestTime":{
                        "$ref":"#/components/schemas/DateTime",
                        "description":"time of the request"
                    },
                    "checkpointList":{
                        "type":"array",
                        "items":{
                            "type":"integer"
                        },
                        "description":"List of checkpoints to be executed. Currently, only one checkpoint per request is supported."
                    },
                    "contextMap":{
                        "type":"array",
                        "description":"additional context for rule evaluation.",
                        "items":{
                            "$ref":"#/components/schemas/KeyValPair"
                        }
                    }
                }
            },
            "ProcessRiskResponse":{
                "type":"object",
                "description":"Reponse object for processed rules",
                "properties":{
                    "apiRespone":{
                        "$ref":"#/components/schemas/ProcessRiskApiResponse",
                        "description":"status of the request"
                    },
                    "allActions":{
                        "type":"array",
                        "items":{
                            "type":"string"
                        },
                        "description":"List of actions."
                    },
                    "result":{
                        "type":"string",
                        "description":"This is the action to be taken. This action is the after applying the processing rule on the list of actions returned by the rule engine"
                    },
                    "score":{
                        "type":"integer",
                        "description":"Method to get the score after running the rules"
                    },
                    "transactionLogId":{
                        "type":"number",
                        "description":"User Activity data Identifier provided in the input."
                    },
                    "resultMap":{
                        "type":"array",
                        "items":{
                            "$ref":"#/components/schemas/KeyValPair"
                        },
                        "description":"Use this to get result of each requested checkpoint. Since there is one checkpoint per rule evaluation request, this field is not used."
                    },
                    "alertMessageList":{
                        "type":"array",
                        "items":{
                            "type":"string"
                        },
                        "description":"List of alerts as per the rules executed"
                    },
                    "runtimeType":{
                        "type":"integer",
                        "description":"runtime type of the rule processed."
                    },
                    "deviceId":{
                        "type":"number",
                        "description":"Returns the associated Device Id."
                    },
                    "statusResponse":{
                        "$ref":"#/components/schemas/StatusResponse",
                        "description":"response of the rule processing request."
                    }
                }
            },
            "ProcessRiskApiResponse":{
                "type":"object",
                "description":"Rule api response for the process rule stating the request status",
                "properties":{
                    "responseCode":{
                        "type":"string",
                        "description":"status code of the request"
                    },
                    "responseMessage":{
                        "type":"string",
                        "description":"response message related to the response code if needed."
                    }
                }
            },
            "SessionResponseUserData":{
                "type":"object",
                "description":"user related data",
                "required":[
                    "loginName",
                    "groupName"
                ],
                "properties":{
                    "loginName":{
                        "type":"string",
                        "description":"Login name used for authentication"
                    },
                    "groupName":{
                        "type":"string",
                        "description":"group name"
                    },
                    "userId":{
                        "type":"string",
                        "description":"user identifier."
                    }
                }
            },
            "SessionRiskUserData":{
                "type":"object",
                "required":[
                    "loginName",
                    "groupName"
                ],
                "description":"User related data. loginName is mandatory parameter. <br> If the client has canonical userId that can uniquely identify the user, in all API calls that take canonical userId, the canonical userId should be provided. If the client does not have canonical userId to identify the user, OARM system will generate the canonical id when user is created. In all  subsequent  API calls for that user, the generated canonical userId should be provided for that user.  <br> If canonical userId is not provided, or a canonical userId that is non-existent in the system is provided, a new user may be created in the system.   User records are discovered in the system based on the provided canonical userId. <br> Canonical userIds can be discovered in OARM system by making a call to user preferences using loginName and groupName.\n",
                "properties":{
                    "loginName":{
                        "type":"string",
                        "description":"Login name used for authentication."
                    },
                    "groupName":{
                        "type":"string",
                        "description":"group name. The combination of loginName and groupName must be unique."
                    },
                    "userId":{
                        "type":"string",
                        "description":"Canonical user identifier. This user id will be the mechanism of identifying user if provided.  If this parameter is not provided, a combination of loginName and groupName will be used to locate the user.\n"
                    }
                }
            },
            "CreateRiskSessionRequest":{
                "type":"object",
                "description":"Request object for creating the session",
                "properties":{
                    "requestId":{
                        "type":"string",
                        "description":"requestId for the request. If not populated will be generated in the server and returned in the response."
                    },
                    "requestTime":{
                        "$ref":"#/components/schemas/DateTime",
                        "description":"The date-time stamp on the request. (If not populated then will be generated in the server)"
                    },
                    "user":{
                        "$ref":"#/components/schemas/SessionRiskUserData",
                        "description":"User Data associated with this session."
                    },
                    "ip":{
                        "$ref":"#/components/schemas/IPData",
                        "description":"IP Address data assocuated with this session."
                    },
                    "fpList":{
                        "$ref":"#/components/schemas/DeviceFingerprintDataList",
                        "description":"List of device fingerprints."
                    },
                    "sessionData":{
                        "$ref":"#/components/schemas/SessionData",
                        "description":"Session data associated with this session."
                    }
                }
            },
            "RequestData":{
                "type":"object",
                "description":"RequestId present in the request body.",
                "required":[
                    "requestId"
                ],
                "properties":{
                    "requestId":{
                        "type":"string",
                        "description":"requestId for the request"
                    }
                }
            }
        },
        "requestBodies":{
            "UpdateUserDevicesRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/UpdateUserDevicesRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/UpdateUserDevicesRequest"
                        }
                    }
                }
            },
            "CreateUserDeviceRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/CreateUserDeviceRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/CreateUserDeviceRequest"
                        }
                    }
                }
            },
            "UpdateUserDeviceRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/UpdateUserDeviceRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/UpdateUserDeviceRequest"
                        }
                    }
                }
            },
            "SessionData":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/SessionData"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/SessionData"
                        }
                    }
                }
            },
            "TransactionRequests":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/TransactionRequests"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/TransactionRequests"
                        }
                    }
                }
            },
            "CreateSessionRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/CreateSessionRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/CreateSessionRequest"
                        }
                    }
                }
            },
            "CounterRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/CounterRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/CounterRequest"
                        }
                    }
                }
            },
            "ProcessRiskRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/ProcessRiskRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/ProcessRiskRequest"
                        }
                    }
                }
            },
            "ProcessFpRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/ProcessFpRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/ProcessFpRequest"
                        }
                    }
                }
            },
            "CreateRiskSessionRequest":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/CreateRiskSessionRequest"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/CreateRiskSessionRequest"
                        }
                    }
                }
            },
            "RequestData":{
                "content":{
                    "application/json":{
                        "schema":{
                            "$ref":"#/components/schemas/RequestData"
                        }
                    },
                    "application/xml":{
                        "schema":{
                            "$ref":"#/components/schemas/RequestData"
                        }
                    }
                }
            }
        }
    }
}