getCashFlowDealInfo
ChatGPTQuery deal and tranche data from the Deal Library. Use this tool to: Look up deal metadata by deal ID, CUSIP, or ISIN Determine the correct engine type (libraryType) before submitting a cash flow request * Retrieve settlement date, status, product type, collateral type, and credit model info Accepts one or more identifiers and returns matching deal and tranche data. The deal.libraryType field is the Deal Library product classification (for example CDO, RMBS, or other values returned by the service). Cash-flow submission tools such as submitCashFlowJob expect a CashFlow engine type; they are often aligned with libraryType but not guaranteed to be identical—use the metadata returned here to choose engineType when it is unknown. Use this tool before submitCashFlowJob when the engine type is unknown.
getCashFlowJobStatus
ChatGPTCheck the status of a cash flow analysis job and its tasks. Use this tool to: Monitor the progress of a submitted cash flow job Get status of individual tasks within a job Determine when results are ready to retrieve Job statuses include: "processing" - Job is still being processed "completed" - Job finished successfully, results are ready "packaged" - Job finished successfully, results are ready "failed" - Job encountered an error When status is "completed" or "packaged", use getCashFlowResult to retrieve the results for each cashFlowTaskId. When status is "failed", inspect the error details. After correcting any input or configuration issues, you may: Retry the existing job using rerunCashFlowJob, or * Fix inputs and resubmit a new job using submitCashFlowJob.
getCashFlowResult
ChatGPTRetrieve the cash flow analysis result for a specific task. Use this tool to: Get the computed cash flow projections for a task Retrieve scenario-based analysis results * Download completed deal analysis in JSON format Prerequisites: 1. Submit a cash flow job using submitCashFlowJob 2. Check job status using getCashFlowJobStatus 3. When status is "completed" or "packaged", retrieve results for each task
getPricingJobStatus
ChatGPTCheck the status of a pricing analysis job and its tasks. Use this tool to: Monitor the progress of a submitted pricing job Get status of individual pricing tasks within a job Determine when pricing results are ready Job statuses include: "not_started" - Job has not started yet "running" - Job is being processed "completed" - Job finished successfully "packaging" / "packaged" - Results are being prepared or ready "failed" / "launch_failed" / "package_failed" / "submit_task_failed" - Job encountered an error
getPricingResult
ChatGPTRetrieve the formatted pricing result for a specific pricing task. Use this tool to: Get the computed pricing result after a pricing job completes Retrieve detailed pricing analytics for a specific task * Access formatted pricing output for analysis Prerequisites: 1. Submit a pricing job using submitCashFlowPricingJob, submitPreRunPricingJob, or submitRawPricingJob (pick the one that matches your data source) 2. Poll getPricingJobStatus until the job reports a terminal state (for example "completed" or "packaged") 3. Call getPricingResult for each pricingTaskId you need from the status response
reRunCashFlowJob
ChatGPTRe-run a previously submitted cash flow analysis request. Use this tool to: Re-run a cash flow job that has completed or failed Retry a job without needing to resubmit the original request payload Re-execute analysis after upstream data changes Returns a new job submission response with updated task details for tracking the re-run progress. After re-running the job: Use getCashFlowJobStatus to monitor progress When status is "completed" or "packaged", use getCashFlowResult to retrieve results for each cashFlowTaskId If status is "failed", review error details and retry or correct inputs before submitting again
submitCashFlowJob
ChatGPTSubmit a cash flow analysis request. Use this tool to: Submit CDO, CLO, RMBS, CMBS, or ABS deal analysis requests Run scenario-based cash flow projections Queue long-running analysis jobs for asynchronous processing If you know deal identifiers (deal ID, CUSIP, or ISIN) but not the correct engineType for generalAssumptions, call getCashFlowDealInfo first to read libraryType from the Deal Library. Typical flow: 1. Submit the job using submitCashFlowJob. 2. Poll getCashFlowJobStatus until the status is "completed" or "packaged". 3. Call getCashFlowResult for each cashFlowTaskId returned to retrieve projected cash flow outputs. When to use this vs pricing tools: submitCashFlowJob — you only need projected cash flows or scenario analysis (no pricing metrics). Follow with getCashFlowJobStatus → getCashFlowResult. submitCashFlowPricingJob — you need pricing/valuation and will send assumptions in the pricing request (then getPricingJobStatus → getPricingResult). submitPreRunPricingJob — you already ran submitCashFlowJob and want to price those existing cash flow results without recomputing flows. * submitRawPricingJob — you are supplying your own cash flow data that was not produced by submitCashFlowJob. Note: CDOEdge requests cannot be combined with other types and must be submitted separately. Returns a job ID and task details for tracking the analysis progress. Minimal example input (all fields shown are required): ``json { "cashFlowRequest": { "cashflowRequests": [{ "cashflowRequest": { "generalAssumptions": { "runDate": "2026-02-18", "dealId": "BD_17-2", "engineType": "CDO" }, "inputAssumptions": { "defaults": { "rate": 2, "type": "CDR", "vectorName": "" }, "prepayments": { "rate": 10, "type": "CPR", "vectorName": "" }, "loss": { "rate": 30, "vectorName": "", "recovDelayMonths": 6 }, "call": { "callOption": "Maturity", "priceOption": "Par" } } } }] } } ``
submitCashFlowPricingJob
ChatGPTSubmit a pricing request based on user-defined cash flow assumptions. Use this tool to: Submit pricing analysis for CDO, CLO, RMBS, CMBS, or ABS deals with cash flow assumptions Run pricing scenarios based on cash flow projections Queue pricing jobs for asynchronous processing Note: CDOEdge requests cannot be combined with other types and must be submitted separately. Typical flow: 1. Submit the job using submitCashFlowPricingJob with pricingRequest (cash flow assumptions embedded in the pricing payload). 2. Poll getPricingJobStatus until the job reports a terminal state (for example "completed" or "packaged"). 3. Call getPricingResult for each pricingTaskId returned. When to use this vs other tools: submitCashFlowPricingJob — valuation or pricing metrics are required and you can describe the deal via assumptions in this single pricing submission. submitCashFlowJob — you only need projected cash flows or scenario analysis, not pricing outputs (then getCashFlowJobStatus → getCashFlowResult). submitPreRunPricingJob — a submitCashFlowJob already produced the cash flows you want to price; avoid recomputing them. submitRawPricingJob — your cash flows come from an external source and are not tied to a prior submitCashFlowJob. pricingRequest structure: pricingRequests — array of pricing request objects, each containing: - cashflowAssumption: the cash flow assumptions for the deal - generalAssumptions: dealId, engineType (CDO/CLO/RMBS/CMBS/ABS), runDate, cashflowPeriod, tchIds, userData - inputAssumptions: defaults, prepayments, loss, call assumptions - interestRateAssumptions: useMWSARates, useCustomRate, rateShiftFrom, mwsaRateDate - economySettings: default timing, ratings, recovery settings (CDO-specific) - vectors: named vectors for prepayments, defaults, loss, ccc, reinvestments - reinvestments: reinvestment assumptions and pool info - pricingAssumptions: array of tranche pricing configs - userData: label for the pricing task - trancheId: CUSIP or tranche identifier - type: pricing type e.g. "input_price" - inputStep, inputSpan, bookPrice, withDetail indexRates — array of rate sets, each with asOfDate, currency, and indexRate array - Each indexRate has index (e.g. "SOFR", "LIBOR3MO", "SWAP10YR") and rate - Forward curve indices are prefixed with "F-AL-" (e.g. "F-AL-LIBOR3MO") fxRates — FX rate data with asOfDate, fxRates (XML string), and fxRatesJSON
submitPreRunPricingJob
ChatGPTSubmit a pricing request based on pre-run cash flows from a previous submitCashFlowJob. Use this tool to: Run pricing analysis on cash flows that were previously generated via submitCashFlowJob Reference existing cash flow results by their job ID Avoid re-running cash flows when only pricing parameters change Typical flow: 1. Complete a submitCashFlowJob run and note cash flow task IDs from getCashFlowJobStatus / getCashFlowResult as needed. 2. Submit pricing with submitPreRunPricingJob referencing those identifiers, then poll getPricingJobStatus until a terminal state (for example "completed" or "packaged"). 3. Call getPricingResult for each pricingTaskId to retrieve formatted pricing output. When to use this vs other pricing tools: submitPreRunPricingJob — reuse cash flows from a prior submitCashFlowJob when only pricing inputs or parameters change. submitCashFlowPricingJob — supply fresh cash flow assumptions in one request without a separate cash flow job. submitRawPricingJob — supply your own raw cash flow data that did not come from submitCashFlowJob.
submitRawPricingJob
ChatGPTSubmit a pricing request based on user-provided cash flows. Use this tool to: Run pricing analysis using custom cash flows provided directly by the user Price deals using externally generated cash flow data Submit user-defined cash flow scenarios for pricing Typical flow: 1. Submit the job using submitRawPricingJob with user-provided cash flows in pricingRequest. 2. Poll getPricingJobStatus until the job reports a terminal state (for example "completed" or "packaged"). 3. Call getPricingResult for each pricingTaskId returned to retrieve formatted pricing output. When to use this vs other pricing tools: submitRawPricingJob — you already have final cash flow vectors or tables to price and do not need the platform to generate them. submitPreRunPricingJob — cash flows were produced earlier by submitCashFlowJob; you reference those task/job identifiers instead of resubmitting assumptions. submitCashFlowPricingJob — you have deal assumptions and want the service to derive cash flows and pricing together from those assumptions. pricingRequest structure: cashFlow — array of cash flow objects, each containing: - cashFlow: array of period entries with fields like b (balance), i (interest), p (principal), m (period), and date/d (date) - cf_name or cashFlowName: identifier for the cash flow series (prefix with "History_" for historical data) - Historical cash flows use string fields: b, date, i, m, p - Projected cash flows use numeric fields such as a, b, bF, c, dfrI, dueI, i, iA, idx, idxAdj, l, m, p, tP, and date string fields such as d and tD (ISO date strings) pricingInfo — pricing parameters including: - dealId, trancheId, trancheKey: deal and tranche identifiers - settlement: settlement date (YYYY-MM-DD) - couponType: e.g. "float" or "fixed" - calendar: day count convention e.g. "ACT/360" - purchasePrice, bookPrice: pricing values - accruedDays, accruedInterest: accrual details - cashFlowName: must match the projected cashFlowName - scenarioInput, scenarioType: scenario metadata - withAttachedCashflow, withDetail: response toggles