Skip to content

Manager

psengine.risk_history.risk_history_mgr.RiskHistoryMgr

RiskHistoryMgr(rf_token: str = None)

Manages requests for Recorded Future Risk History information.

PARAMETER DESCRIPTION
rf_token

Recorded Future API token.

TYPE: str DEFAULT: None

Source code in psengine/risk_history/risk_history_mgr.py
def __init__(self, rf_token: str = None):
    """Initializes the `RiskHistoryMgr` object.

    Args:
        rf_token (str, optional): Recorded Future API token.
    """
    self.log = logging.getLogger(__name__)
    self.rf_client = RFClient(api_token=rf_token) if rf_token else RFClient()

search

search(
    entities: Union[str, list[str]],
    from_: Optional[str] = None,
    to: Optional[str] = None,
) -> list[RiskHistory]

Search for the risk history of one or more entities.

PARAMETER DESCRIPTION
entities

Entities to search.

TYPE: Union[str, list[str]]

from_

ISO8691 date or relative date like -1d

TYPE: Optional[str] DEFAULT: None

to

ISO8691 date or relative date like -1d

TYPE: Optional[str] DEFAULT: None

Endpoint

/risk/history

RAISES DESCRIPTION
ValidationError

If any supplied parameter is of incorrect type.

RIskHistoryError

If API error occurs.

RETURNS DESCRIPTION
list[RiskHistory]

A list of history information.

Source code in psengine/risk_history/risk_history_mgr.py
@debug_call
@validate_call
@connection_exceptions(ignore_status_code=[], exception_to_raise=RiskHistoryError)
def search(
    self,
    entities: Annotated[Union[str, list[str]], Doc('Entities to search.')],
    from_: Annotated[Optional[str], Doc('ISO8691 date or relative date like -1d')] = None,
    to: Annotated[Optional[str], Doc('ISO8691 date or relative date like -1d')] = None,
) -> Annotated[list[RiskHistory], Doc('A list of history information.')]:
    """Search for the risk history of one or more entities.

    Endpoint:
        `/risk/history`

    Raises:
        ValidationError: If any supplied parameter is of incorrect type.
        RIskHistoryError: If API error occurs.
    """
    data = RiskHistoryIn.model_validate({'entities': entities, 'from': from_, 'to': to})
    attrs = self.rf_client.request('post', EP_RISK_HISTORY, data=data.json()).json()['data']

    return [RiskHistory.model_validate(attr) for attr in attrs]