curl --request POST \
--url https://api.mnemom.ai/v1/teams/forecast \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fault_line_analysis_id": "<string>",
"team_id": "<string>",
"risk_tolerance": "moderate"
}
'import requests
url = "https://api.mnemom.ai/v1/teams/forecast"
payload = {
"fault_line_analysis_id": "<string>",
"team_id": "<string>",
"risk_tolerance": "moderate"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fault_line_analysis_id: '<string>',
team_id: '<string>',
risk_tolerance: 'moderate'
})
};
fetch('https://api.mnemom.ai/v1/teams/forecast', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mnemom.ai/v1/teams/forecast",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'fault_line_analysis_id' => '<string>',
'team_id' => '<string>',
'risk_tolerance' => 'moderate'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mnemom.ai/v1/teams/forecast"
payload := strings.NewReader("{\n \"fault_line_analysis_id\": \"<string>\",\n \"team_id\": \"<string>\",\n \"risk_tolerance\": \"moderate\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mnemom.ai/v1/teams/forecast")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fault_line_analysis_id\": \"<string>\",\n \"team_id\": \"<string>\",\n \"risk_tolerance\": \"moderate\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mnemom.ai/v1/teams/forecast")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fault_line_analysis_id\": \"<string>\",\n \"team_id\": \"<string>\",\n \"risk_tolerance\": \"moderate\"\n}"
response = http.request(request)
puts response.read_body{
"forecast_id": "<string>",
"failure_modes": [
{
"mode": "<string>",
"probability": 0.5,
"impact": "low",
"contributing_factors": [
"<string>"
],
"mitigation": "<string>"
}
],
"overall_risk_level": "low",
"confidence": 0.5
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}Forecast team risks
Forecast potential risks and failure modes for a team based on current alignment state, historical trends, and known fault lines.
curl --request POST \
--url https://api.mnemom.ai/v1/teams/forecast \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"fault_line_analysis_id": "<string>",
"team_id": "<string>",
"risk_tolerance": "moderate"
}
'import requests
url = "https://api.mnemom.ai/v1/teams/forecast"
payload = {
"fault_line_analysis_id": "<string>",
"team_id": "<string>",
"risk_tolerance": "moderate"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
fault_line_analysis_id: '<string>',
team_id: '<string>',
risk_tolerance: 'moderate'
})
};
fetch('https://api.mnemom.ai/v1/teams/forecast', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mnemom.ai/v1/teams/forecast",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'fault_line_analysis_id' => '<string>',
'team_id' => '<string>',
'risk_tolerance' => 'moderate'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mnemom.ai/v1/teams/forecast"
payload := strings.NewReader("{\n \"fault_line_analysis_id\": \"<string>\",\n \"team_id\": \"<string>\",\n \"risk_tolerance\": \"moderate\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mnemom.ai/v1/teams/forecast")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"fault_line_analysis_id\": \"<string>\",\n \"team_id\": \"<string>\",\n \"risk_tolerance\": \"moderate\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mnemom.ai/v1/teams/forecast")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fault_line_analysis_id\": \"<string>\",\n \"team_id\": \"<string>\",\n \"risk_tolerance\": \"moderate\"\n}"
response = http.request(request)
puts response.read_body{
"forecast_id": "<string>",
"failure_modes": [
{
"mode": "<string>",
"probability": 0.5,
"impact": "low",
"contributing_factors": [
"<string>"
],
"mitigation": "<string>"
}
],
"overall_risk_level": "low",
"confidence": 0.5
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
}
}Authorizations
Supabase JWT token in Authorization: Bearer header
Body
Identifier of a prior fault-line analysis to forecast against. Required.
Optional team identifier. When provided without an explicit task_context, the team name is used to derive one.
Task the forecast is scoped to. Required unless derivable from team_id.
Show child attributes
Show child attributes
Risk tolerance for the forecast. Defaults to moderate.
conservative, moderate, aggressive Response
Risk forecast result
Risk forecast for a team based on alignment trends and fault lines.
Unique identifier for this forecast
Ranked list of potential failure modes
Show child attributes
Show child attributes
Overall risk level for the team
low, medium, high, critical Confidence level of the forecast (0.0 to 1.0)
0 <= x <= 1