Loans — Originator (11 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
initiate_loan_upload | O | Step 1 of upload flow. Creates a DRAFT deal and returns a pre-signed upload URL (1-hour TTL). Reuses an existing DRAFT for the same loan type. | loan_type (required): Auto, Personal, Mortgage, Student, Business, Credit Card |
complete_loan_upload | O | Step 2 of upload flow. Registers the uploaded file and transitions the deal to IN_REVIEW. | deal_id (required), file_name (required) |
list_loans | O | List all originator loans with pagination. | page (default: 1), limit (default: 10) |
get_loan | O | Retrieve a full deal record including QC results and lifecycle state. | deal_id (required) |
reinitiate_loan_upload | O | Regenerate a fresh upload URL for an existing DRAFT deal when the previous URL has expired. | deal_id (required) |
approve_or_reject_deal | O | Approve or reject a securitization deal. reason is required when rejecting. | deal_id (required), status (required): APPROVED or REJECTED, reason (required for rejection) |
initiate_bulk_loan_upload | O | Start a bulk upload job for multiple loan types at once. Returns a bulk_job_id and a per-loan upload URL list. | loan_types (required): list of loan type strings |
complete_bulk_loan_upload | O | Complete a bulk upload job after all files have been uploaded. | bulk_job_id (required), loans (required): list of {"loan_id": "...", "path": "..."} |
get_bulk_job | O | Get details for a bulk ingest job. | job_id (required) |
regenerate_bulk_loan_upload_urls | O | Regenerate all expired upload URLs for a bulk DRAFT job. | job_id (required) |
get_bulk_job_status | O | Get the status summary of a bulk ingest job. | job_id (required) |
| Status | Meaning |
|---|---|
DRAFT | Upload URL issued, file not yet submitted |
IN_REVIEW | File submitted, under platform review |
QC_COMPLETED | Quality check passed |
APPROVED | Approved for securitization |
REJECTED | Rejected — check reason in response |
Pools — Originator (5 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
list_pools | O | List all securitization pools for the authenticated originator. | — |
get_pool | O | Get full details for a pool. | pool_id (required) |
get_pool_by_deal | O | Find the pool a specific deal belongs to. | deal_id (required) |
get_pool_summary | O | Aggregate pool stats: total balance, loan count, WA coupon, WA LTV, WA FICO, WA DTI, WA seasoning, min/max/avg balance, delinquency breakdown, top-5 geography, vintage distribution. | pool_id (required) |
get_pool_stratification_report | O | Retrieve the stratification report for a pool. Returns a download URL for the report file. | pool_id (required) |
Analytics — Originator (2 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
run_alm_analysis | O | Trigger an async TCT Risk ALM analysis for a deal. Poll get_alm_analysis after it completes. | deal_id (required) |
get_alm_analysis | O | Retrieve ALM results: duration (Macaulay, modified, effective, spread), convexity, key-rate durations, NII sensitivity, EVE analysis, gap analysis, VaR metrics, stress test results. | deal_id (required) |
Selection Criteria — Originator (4 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
trigger_selection_criteria_run | O | Trigger an SC run on the loans in a deal. Returns sc_job_id. | deal_id (required) |
get_sc_results_for_deal | O | Get pass/fail/exception results per loan across all SC runs for a deal. | deal_id (required) |
list_sc_exceptions | O | List all exceptions raised across SC runs for the originator. | — |
get_sc_exception | O | Get full exception details for a specific SC exception file, including loan data and exception history. | exception_file_id (required) |
Documents — Shared (4 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
get_document_upload_url | S | Step 1: Get a pre-signed upload URL for a deal room document. PUT the file to this URL directly — no auth header needed. | file_name (required), document_type (default: W9_FORM) |
complete_document_upload | S | Step 2: Register a document after uploading. file_key is returned from the previous step. | file_name (required), file_key (required), document_type (default: W9_FORM) |
list_deal_documents | S | List all documents for a deal with filtering and pagination. | deal_id (required), page (default: 1), limit (default: 20), document_type: legal, internal, loan_tape, credit_union_export, status: active, archived, all, sort_by: name, type, createdAt, size, sort_order: asc, desc, search |
get_deal_document | S | Get metadata and a download URL for a specific document. | deal_id (required), document_id (required) |
Deals — Investor (7 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
list_investor_deals | I | List available securitization deals with summaries, metrics, and tranche overview. | page (default: 1), limit (default: 20), search, status |
get_investor_deal | I | Get detailed deal information including tranche structure. | deal_id (required) |
get_investor_deal_pool | I | Get anonymized loan-level pool data and aggregate pool statistics. | deal_id (required) |
get_investor_deal_tranches | I | Get tranches with pricing for a deal. | deal_id (required) |
get_investor_deal_documents | I | Get investor-visible deal documents with metadata and download URLs. | deal_id (required) |
get_investor_comparable_deals | I | Get comparable deals for relative value analysis. | deal_id (required) |
get_investor_originator_profile | I | Get an originator’s track record and profile as visible to investors. | originator_id (required) |
Portfolio — Investor (3 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
get_portfolio_summary | I | Aggregate portfolio metrics: total invested, NAV, returns, allocation breakdown. | — |
get_portfolio_positions | I | Current portfolio holdings and valuations per deal. | — |
get_portfolio_reports | I | Holdings snapshot, trade history, tranche performance metrics, and pool-level metrics. Performance sections are omitted if no calculation jobs have been run yet. | — |
Subscriptions & Allocations — Investor (4 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
submit_indication_of_interest | I | Submit an IOI for a deal — signals interest without a formal commitment. interest_amount is in USD. | deal_id (required), interest_amount (required, USD float), notes |
submit_subscription | I | Submit a formal subscription. Runs compliance checks. Returns subscription_id, status, and compliance_check_result. | deal_id (required), subscription_amount (required, USD float), tranche_preferences: list of {"tranche_id": "...", "amount": 500000}, notes |
list_subscriptions | I | List all subscriptions with optional filters. | page (default: 1), limit (default: 20), status, deal_id |
get_deal_allocations | I | Get final tranche allocations for a deal: allocated amount, fill percentage, settlement date, confirmation ID. | deal_id (required), include_tranche (default: false) |
Webhooks — Shared (9 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
create_webhook | S | Register a new webhook subscription. secret (min 16 chars) is used to sign payloads for verification. | url (required), events (required, list of event type strings), secret, description, active (default: true), headers (dict) |
list_webhooks | S | List all webhook subscriptions. | page (default: 1), limit (default: 10), is_active (bool) |
get_webhook | S | Get details for a single webhook. | webhook_id (required), include_deliveries (default: false) |
update_webhook | S | Partially update a webhook. Only provided fields are changed. | webhook_id (required), url, events, active, headers |
delete_webhook | S | Permanently delete a webhook. | webhook_id (required) |
test_webhook | S | Send a test ping to a webhook endpoint. | webhook_id (required), event_type (required) |
replay_webhook_delivery | S | Replay a previously failed delivery. | webhook_id (required), delivery_id (required) |
get_webhook_deliveries | S | Get delivery history for a webhook. status options: pending, succeeded, failed, retrying. date_from / date_to are ISO 8601 UTC strings. | webhook_id (required), page, limit, status, event_type, date_from, date_to |
get_global_webhook_deliveries | S | Get the global delivery log across all webhooks. | page, limit, webhook_id, status, event_type, date_from, date_to |
Alerts — Shared (3 tools)
| Tool | Role | Description | Parameters |
|---|---|---|---|
get_alerts | S | Get paginated alerts/notifications. status options: UNREAD, READ, ARCHIVED. | page (default: 1), limit (default: 20), status, type, category, priority |
get_alert | S | Get a single alert by ID. | alert_id (required) |
delete_alert | S | Permanently delete an alert. | alert_id (required) |
Health — Shared (1 tool)
| Tool | Role | Description | Parameters |
|---|---|---|---|
get_platform_health | S | Check the upstream Platform API Gateway health endpoint. | — |