---
title: "Forecast team risks"
method: POST
path: "/teams/forecast"
tags: ["Intelligence"]
---

# Forecast team risks

`POST /teams/forecast`

## Request

- Base URL: `https://api.mnemom.ai/v1`
- URL: `https://api.mnemom.ai/v1/teams/forecast`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Mnemom-Api-Key`

Forecast potential risks and failure modes for a team based on current alignment state, historical trends, and known fault lines. Returns ranked failure modes with probability estimates, impact assessments, and mitigation suggestions. **Authorization:** the caller must be a member (any role) of the org that owns the analysis's team. An analysis of a team in another org returns `404`, identical to a nonexistent id. If `team_id` is supplied it must be the analysis's own team (`400` otherwise).

## Request body

- object
  - `fault_line_analysis_id` string, required: Identifier of a prior fault-line analysis to forecast against. Required.
  - `team_id` string: Optional team identifier. When provided without an explicit `task_context`, the team name is used to derive one.
  - `task_context` object: Task the forecast is scoped to. Required unless derivable from `team_id`.
    - `description` string, required
    - `action_type` string, required
    - `tools` string[]
    - `duration_hours` number
  - `risk_tolerance` 'conservative' | 'moderate' | 'aggressive': Risk tolerance for the forecast. Defaults to `moderate`.

## Response `200`

Risk forecast result

- RiskForecast: Risk forecast for a team based on alignment trends and fault lines.
  - `forecast_id` string: Unique identifier for this forecast
  - `failure_modes` object[]: Ranked list of potential failure modes
    - `mode` string: Description of the potential failure mode
    - `probability` number: Estimated probability of occurrence
    - `impact` 'low' | 'medium' | 'high' | 'critical': Estimated impact if the failure occurs
    - `contributing_factors` string[]: Factors contributing to this risk
    - `mitigation` string: Suggested mitigation action
  - `overall_risk_level` 'low' | 'medium' | 'high' | 'critical': Overall risk level for the team
  - `confidence` number: Confidence level of the forecast (0.0 to 1.0)

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Cross-origin write refused (`cross_origin_rejected`). A state-changing request that carries the browser session cookie must come from a first-party origin (`Origin`, or failing that `Referer`) and must not send a form-style body (text/plain, urlencoded, multipart) the operation does not declare. Bearer and API-key callers are never subject to this check.
- `404`: Resource not found
- `429`: Rate-limit exceeded. The global per-IP limiter (100 requests/minute, applied to every `/v1/*` route) rejected this request. Back off until the window resets — `Retry-After` carries the cooldown in seconds and `X-RateLimit-Reset` the absolute reset time.
- `500`: Server error — request was well-formed but the server failed to fulfill it. Typically a downstream dependency (DB / RPC / external API) returned an unexpected error.

---

[API](https://skmtc.dev/mnemom/apis/mnemom-api.md) · [All operations](https://skmtc.dev/mnemom/apis/mnemom-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mnemom/apis/mnemom-api/revisions/274b7a6ea182?raw)
