# 9Squid > 9Squid Developer Hub — structured finance platform APIs for originators and investors. - [9Squid Developer Hub](https://developer.9squid.com/index.md): Securitization infrastructure for originators and investors — build on the 9Squid Platform API. - [Welcome to 9Squid](https://developer.9squid.com/getting-started.md): Programmatic control over the full deal lifecycle — from loan tape ingestion through deal structuring, secondary market activity, and portfolio analytics. - [Platform Overview](https://developer.9squid.com/platform-overview.md): How 9Squid works — the full securitization lifecycle, user roles, and infrastructure partners. - [Onboarding](https://developer.9squid.com/onboarding.md): How to get onboarded as an originator or investor on the 9Squid platform. - [Authentication](https://developer.9squid.com/authentication.md): Learn how to obtain your API key and authenticate every request to the 9Squid API. - [Integrations](https://developer.9squid.com/integrations.md): How 9Squid integrates with loan servicing systems, fund administration platforms, CRMs, and banking rails. - [Workflows](https://developer.9squid.com/workflows/index.md) - [Create a Deal](https://developer.9squid.com/workflows/create-a-deal.md) - [Run Selection Criteria](https://developer.9squid.com/workflows/run-selection-criteria.md) - [Bulk Loan Upload](https://developer.9squid.com/workflows/bulk-loan-upload.md) - [Deal Room Documents](https://developer.9squid.com/workflows/deal-room-documents.md): How to upload and manage supporting documents for a securitization deal using the 9Squid API. - [ALM Analytics](https://developer.9squid.com/workflows/alm-analytics.md) - [Pool Analytics](https://developer.9squid.com/workflows/pool-analytics.md) - [Investor Deal Subscription](https://developer.9squid.com/workflows/investor-deal-subscription.md) - [Investor Portfolio Reports](https://developer.9squid.com/workflows/investor-portfolio.md) - [Webhooks](https://developer.9squid.com/workflows/webhooks.md) - [Secondary Market](https://developer.9squid.com/secondary-market.md): How secondary trading works on 9Squid Private Markets. - [FAQ](https://developer.9squid.com/faq.md): Frequently asked questions about integrating with the 9Squid API. - [Glossary](https://developer.9squid.com/glossary.md): Definitions of structured finance and platform-specific terms used throughout the 9Squid documentation. - [Changelog](https://developer.9squid.com/changelog.md): A record of API and platform changes, additions, and deprecations. - [Error Handling](https://developer.9squid.com/error-handling.md): How to handle errors, retries, and rate limits when integrating with the 9Squid API. - [Pagination](https://developer.9squid.com/pagination.md): How to page through list endpoints on the 9Squid API. - [Recipes](https://developer.9squid.com/recipes/index.md): Step-by-step API walkthroughs for common 9Squid integration patterns. - [Create a Deal](https://developer.9squid.com/recipes/create-a-deal.md): Submit a loan tape as an originator — initiate the upload, push your file, and mark the deal for review. - [Run Selection Criteria](https://developer.9squid.com/recipes/run-selection-criteria.md): Validate your loan tape against eligibility rules, fetch results, and inspect exceptions. - [Bulk Loan Upload](https://developer.9squid.com/recipes/bulk-loan-upload.md): Submit multiple loan tapes in a single job with per-deal upload URLs and independent status tracking. - [ALM Analytics](https://developer.9squid.com/recipes/alm-analytics.md): Trigger a TCT Risk ALM analysis on a deal and retrieve duration, convexity, NII sensitivity, VaR, and stress test results. - [Pool Analytics](https://developer.9squid.com/recipes/pool-analytics.md): Browse securitization pools, fetch aggregate statistics, and pull full pool reports. - [Investor Deal Subscription](https://developer.9squid.com/recipes/investor-deal-subscription.md): Browse the deal marketplace, submit an indication of interest, commit to a subscription, and track allocation status. - [Investor Portfolio Reports](https://developer.9squid.com/recipes/investor-portfolio.md): Fetch current holdings, trade history, tranche performance metrics, and pool analytics in one call. - [Webhooks](https://developer.9squid.com/recipes/webhooks.md): Subscribe to real-time platform events, verify signatures, replay failed deliveries, and manage subscriptions. - [9squid CLI](https://developer.9squid.com/cli.md): Install, authenticate, and script against the 9Squid API from the command line. - [MCP](https://developer.9squid.com/mcp-server/index.md) - [MCP Overview](https://developer.9squid.com/mcp-server/overview.md): Use AI agents like Claude to interact with the 9squid platform through natural language via the Model Context Protocol. - [Connect to Claude](https://developer.9squid.com/mcp-server/connect-to-claude.md): Register the 9squid MCP server with Claude Code or Claude Desktop. - [MCP Tools Reference](https://developer.9squid.com/mcp-server/tools-reference.md): Complete listing of all 53 MCP tools organized by domain and role. - [Initiate loan tape upload](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_initiateloan.md): Step 1 of the upload flow. Provide the loan type (e.g. "Auto", "Personal"). The gateway resolves the asset type ID, creates a new deal (or reuses an existing DRAFT), and returns an upload URL valid for 1 hour. If a DRAFT deal already exists for the same loan type it will be reused and a fresh URL is… - [List deals](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_listloans.md): Returns a paginated list of all securitization deals for the authenticated originator. - [Initiate bulk loan tape upload](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_initiatebulkloan.md): Creates a bulk ingest job with multiple deals at once. Each entry must specify a loan type (e.g. "Auto"). Returns a bulk_job_id and an upload URL for each deal. - [Complete bulk loan tape upload](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_completebulkloan.md): After all files have been uploaded, call this endpoint to register each file and mark the corresponding deals as IN_REVIEW. Returns per-deal results including any errors. - [Get bulk ingest job status](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_getbulkjob.md): Returns the bulk job record including all associated deals and their current statuses. - [Regenerate upload URLs for a bulk job](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_regeneratebulkurls.md): Regenerates fresh upload URLs for all DRAFT deals in the bulk job. Use when the previous URLs have expired. - [Get deal statuses for a bulk ingest job](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_getbulkjobstatus.md): Returns per-deal status details and any processing errors for the bulk job. - [Complete loan tape upload](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_completeloan.md): Step 2 of the upload flow. After uploading the file, call this endpoint with the deal ID and file name. The gateway verifies the file is CSV or XLSX, registers the file entry, and marks the deal as IN_REVIEW. - [Re-initiate loan tape upload](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_reinitiateupload.md): Re-generates a fresh upload URL for an existing deal. Only allowed when the deal is in DRAFT status. Use this when the previous URL has expired. - [Get a single deal](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_getloan.md): Returns the full deal record including QC results, lifecycle state, and associated file metadata. - [Approve or reject a deal](https://developer.9squid.com/api-reference/originator-loans/loanscontroller_approvedeal.md): Called when the originator receives a securitization approval request. status must be "APPROVED" or "REJECTED". Provide reason when rejecting. - [List all securitization pools for the originator](https://developer.9squid.com/api-reference/originator-pools/poolscontroller_listpools.md): Returns all pools associated with the authenticated originator. - [Get the pool a deal belongs to](https://developer.9squid.com/api-reference/originator-pools/poolscontroller_getpoolbydeal.md): Looks up the securitization pool associated with a given deal. - [Get pool details](https://developer.9squid.com/api-reference/originator-pools/poolscontroller_getpool.md): Returns the full pool record including status, deal associations, and metadata. - [Get stratification report for a pool](https://developer.9squid.com/api-reference/originator-pools/poolscontroller_getpoolreport.md): Returns a masked download URL for the stratification report PDF. The underlying S3 URL is never exposed. - [Get pool aggregate statistics](https://developer.9squid.com/api-reference/originator-pools/poolscontroller_getpoolsummary.md): Returns pool-level aggregates including weighted averages, balance ranges, delinquency breakdown, geographic distribution, and vintage distribution. - [Execute ALM analysis](https://developer.9squid.com/api-reference/originator-analytics/analyticscontroller_runalmanalysis.md): Triggers a TCT Risk ALM analysis for the specified deal. Returns the full analysis report including duration metrics, convexity, NII sensitivity, EVE analysis, gap analysis, VaR metrics, and stress test results. - [Get stored ALM analysis results](https://developer.9squid.com/api-reference/originator-analytics/analyticscontroller_getalmanalysis.md): Retrieves the most recent TCT Risk ALM analysis for a deal. Returns duration (Macaulay, modified, effective, spread), convexity, key_rate_durations, nii_sensitivity, eve_analysis, gap_analysis, var_metrics, and stress_test_results. - [Trigger selection criteria (SC) on a deal](https://developer.9squid.com/api-reference/originator-selection-criteria/sccontroller_triggerrun.md): Runs the selection criteria engine against all loans in the deal. Returns a job ID that can be polled for results. - [Get SC results for a deal](https://developer.9squid.com/api-reference/originator-selection-criteria/sccontroller_getdealresults.md): Returns all selection criteria run results for the deal, including pass/fail counts and per-loan outcomes. - [List exceptions from SC runs](https://developer.9squid.com/api-reference/originator-selection-criteria/sccontroller_listexceptions.md): Returns all exception files raised across all SC runs for the organization. - [Get exception details](https://developer.9squid.com/api-reference/originator-selection-criteria/sccontroller_getexception.md): Returns full exception file details including per-loan exception records and exception history. - [Get upload URL for a deal room document](https://developer.9squid.com/api-reference/deal-room-documents/documentscontroller_getuploadurl.md): Returns a proxied upload URL valid for 1 hour. Use the returned uploadUrl to PUT the file directly. document_type defaults to W9_FORM if omitted. - [Complete document upload](https://developer.9squid.com/api-reference/deal-room-documents/documentscontroller_completeupload.md): Call after successfully uploading the file via the uploadUrl. Registers the file and creates the document record. document_type defaults to W9_FORM. - [List documents for a deal](https://developer.9squid.com/api-reference/deal-room-documents/documentscontroller_getdocuments.md): Returns documents grouped by type (legal, loan_tape, internal, credit_union_export). Download URLs are excluded from list responses — fetch a single document to get its download URL. - [Get document metadata and download URL](https://developer.9squid.com/api-reference/deal-room-documents/documentscontroller_getdocument.md): Returns full document metadata and a masked download URL. The download URL routes through the platform gateway — the S3 domain is never exposed. - [Browse available securitization deals](https://developer.9squid.com/api-reference/investor-deals/investordealscontroller_listdeals.md): Paginated deal summaries with metrics and tranche overview. - [Get detailed deal information](https://developer.9squid.com/api-reference/investor-deals/investordealscontroller_getdeal.md): Returns full deal record including tranches, originator profile, pool summary, and deal metrics. - [Get pool data for a deal (anonymized)](https://developer.9squid.com/api-reference/investor-deals/investordealscontroller_getdealpool.md): Returns aggregate pool statistics: total_balance, loan_count, wa_coupon, wa_ltv, wa_fico, delinquency breakdown, geographic top-5, vintage distribution. - [Get tranches with pricing for a deal](https://developer.9squid.com/api-reference/investor-deals/investordealscontroller_getdealtranches.md): Returns all tranches with ratings, pricing, yield, spread, WAL, and available subscription capacity. - [Get deal documents](https://developer.9squid.com/api-reference/investor-deals/investordealscontroller_getdealdocuments.md): Returns all documents for the deal. Download URLs are masked — the underlying S3 URL is never exposed. - [Get comparable deals for relative value analysis](https://developer.9squid.com/api-reference/investor-deals/investordealscontroller_getcomparabledeals.md): Returns similar deals matched by asset type and deal size range for relative value benchmarking. - [Get originator profile and track record](https://developer.9squid.com/api-reference/investor-deals/investordealscontroller_getoriginator.md): Returns name, regulatory_status, years_active, total_volume, historical_performance, and deal_count for the originator. - [Get current portfolio positions](https://developer.9squid.com/api-reference/investor-portfolio/portfoliocontroller_getportfolio.md): Returns all active primary trades (allocated_quantity > 0) for the investor. - [Get portfolio aggregates](https://developer.9squid.com/api-reference/investor-portfolio/portfoliocontroller_getportfoliosummary.md): Returns portfolio-level aggregates: total_market_value, wa_yield, wa_spread, wa_wal, wa_duration, and breakdowns by class, asset type, and originator. - [Get investor reports](https://developer.9squid.com/api-reference/investor-portfolio/portfoliocontroller_getreports.md): Returns holdings snapshot, trade history, tranche performance metrics, and pool-level metrics. Performance sections are omitted when no calculation jobs have been run. - [Submit indication of interest (IOI)](https://developer.9squid.com/api-reference/investor-subscriptions-allocations/subscriptionscontroller_submitioi.md): Signals investor interest in a deal without formal commitment. First step in the subscription process. - [Submit formal subscription](https://developer.9squid.com/api-reference/investor-subscriptions-allocations/subscriptionscontroller_submitsubscription.md): Commits investor to a deal subscription. Runs compliance checks. Returns subscription_id, status (pending_confirmation), and compliance_check_result. - [List all investor subscriptions](https://developer.9squid.com/api-reference/investor-subscriptions-allocations/subscriptionscontroller_listsubscriptions.md): Paginated list of subscriptions across all deals with status and details. - [Get deal allocations](https://developer.9squid.com/api-reference/investor-subscriptions-allocations/subscriptionscontroller_getallocations.md): Returns final allocations per tranche with allocated_amount, pct_fill, settlement_date, and confirmation_id. - [List alerts](https://developer.9squid.com/api-reference/alerts/alertscontroller_getalerts.md): Returns paginated notifications for the authenticated organization. - [Get a single alert by ID](https://developer.9squid.com/api-reference/alerts/alertscontroller_getalert.md) - [Delete an alert](https://developer.9squid.com/api-reference/alerts/alertscontroller_deletealert.md) - [Register a new webhook subscription](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_create.md) - [List all webhook subscriptions](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_findall.md) - [Global delivery log across all webhooks](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_getglobaldeliveries.md) - [Get a single webhook subscription](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_findone.md) - [Update webhook configuration](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_update.md) - [Delete a webhook subscription](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_remove.md) - [Send a test webhook ping](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_sendtestping.md) - [Replay a failed delivery](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_replay.md) - [Delivery history for a single subscription](https://developer.9squid.com/api-reference/webhooks/subscriptionscontroller_getdeliveries.md) - [Health check](https://developer.9squid.com/api-reference/app/appcontroller_health.md) ## OpenAPI Specs - [openapi](/api-reference/openapi.json)