package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tensorpro.ai/api/v1/memory/generated"
payload := strings.NewReader("{\n \"assistant_message\": \"Here is a draft plan for the launch.\",\n \"session_id\": \"chat-42\",\n \"project_id\": \"<string>\"\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.tensorpro.ai/api/v1/memory/generated")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assistant_message\": \"Here is a draft plan for the launch.\",\n \"session_id\": \"chat-42\",\n \"project_id\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.tensorpro.ai/api/v1/memory/generated")
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 \"assistant_message\": \"Here is a draft plan for the launch.\",\n \"session_id\": \"chat-42\",\n \"project_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body
Save something your assistant said that isn’t an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with POST /api/v1/memory/confirm. Counts against your daily ingest quota.
POST
/
api
/
v1
/
memory
/
generated
Save a generated statement
curl --request POST \
--url https://api.tensorpro.ai/api/v1/memory/generated \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"assistant_message": "Here is a draft plan for the launch.",
"session_id": "chat-42",
"project_id": "<string>"
}
'
import requests
url = "https://api.tensorpro.ai/api/v1/memory/generated"
payload = {
"assistant_message": "Here is a draft plan for the launch.",
"session_id": "chat-42",
"project_id": "<string>"
}
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({
assistant_message: 'Here is a draft plan for the launch.',
session_id: 'chat-42',
project_id: '<string>'
})
};
fetch('https://api.tensorpro.ai/api/v1/memory/generated', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tensorpro.ai/api/v1/memory/generated"
payload := strings.NewReader("{\n \"assistant_message\": \"Here is a draft plan for the launch.\",\n \"session_id\": \"chat-42\",\n \"project_id\": \"<string>\"\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.tensorpro.ai/api/v1/memory/generated")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"assistant_message\": \"Here is a draft plan for the launch.\",\n \"session_id\": \"chat-42\",\n \"project_id\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.tensorpro.ai/api/v1/memory/generated")
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 \"assistant_message\": \"Here is a draft plan for the launch.\",\n \"session_id\": \"chat-42\",\n \"project_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body
Use this endpoint to save an assistant reply that isn’t a factual answer, such
as a suggestion, a plan or a draft, so the user can confirm it later.You typically call it after Classify an assistant reply
returns provenance: AI_GENERATED, because that endpoint saves nothing for
these replies. EDN saves the reply as an unconfirmed AI_GENERATED memory. It
isn’t used in SIPs until the user confirms it with
Confirm a memory.
If your app has no confirm feature, you can skip this endpoint.
Identifier for the conversation. Use the same value for every turn in the same conversation. If EDN hasn’t seen this value before, it creates a new session. Format: 1 to 128 characters, using only letters, digits, period (.), underscore (_), colon (:) and hyphen (-)
assistant_message
string
Yes
The assistant statement to save. Inline citation markers such as [1] are removed before storage. Must not be empty
project_id
string
No
Identifier for the project to store it in. Omit to store it in general memory. Must be one of your projects
curl -X POST "https://api.tensorpro.ai/api/v1/memory/generated" \ -H "Authorization: Bearer $EDN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "session_id": "chat-42", "assistant_message": "Here is a draft plan for the launch." }'
import osimport requestsresp = requests.post( "https://api.tensorpro.ai/api/v1/memory/generated", headers={"Authorization": f"Bearer {os.environ['EDN_API_KEY']}"}, json={ "session_id": "chat-42", "assistant_message": "Here is a draft plan for the launch." },)resp.raise_for_status()print(resp.json())
const resp = await fetch("https://api.tensorpro.ai/api/v1/memory/generated", { method: "POST", headers: { Authorization: `Bearer ${process.env.EDN_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ "session_id": "chat-42", "assistant_message": "Here is a draft plan for the launch." }),});console.log(await resp.json());
Your EDN API key, sent as Bearer YOUR_API_KEY. Create keys in the Console.
Body
application/json
assistant_message
string
required
The statement the assistant made, to be saved as an unconfirmed guess.
Minimum string length: 1
Example:
"Here is a draft plan for the launch."
session_id
string
required
Which chat this belongs to.
Required string length: 1 - 128
Example:
"chat-42"
project_id
string | null
Which project/workspace this belongs to. Leave it out for a regular chat.
Response
Successful Response
record_id
string
required
The ID of the saved AI_GENERATED memory.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"EDN","colors":{"primary":"#00ADE4","light":"#00ADE4","dark":"#00ADE4"},"logo":{"light":"https://mintcdn.com/tensor-pro/AWOd-GOQzhH77YoI/logo/Logo_5_05.png?fit=max\u0026auto=format\u0026n=AWOd-GOQzhH77YoI\u0026q=85\u0026s=a774ff4824e8db2cc8869867a69e2868","dark":"https://mintcdn.com/tensor-pro/AWOd-GOQzhH77YoI/logo/Logo_5_05.png?fit=max\u0026auto=format\u0026n=AWOd-GOQzhH77YoI\u0026q=85\u0026s=a774ff4824e8db2cc8869867a69e2868","href":"https://tensorpro.ai"},"favicon":"https://mintcdn.com/tensor-pro/AWOd-GOQzhH77YoI/favicon.svg?fit=max\u0026auto=format\u0026n=AWOd-GOQzhH77YoI\u0026q=85\u0026s=7f276f5621823a82a327cd4aeb47bf47","appearance":{"default":"light"},"navbar":{"primary":{"type":"button","label":"Console","href":"https://console-beta.tensorpro.ai/sign-in"}},"footer":{"links":[{"header":"PRODUCTS","items":[{"label":"Workspace","href":"https://tensorpro.ai/workspace"},{"label":"API","href":"https://tensorpro.ai/api-product"},{"label":"Platform","href":"https://tensorpro.ai/platform"},{"label":"Pricing","href":"https://tensorpro.ai/pricing"}]},{"header":"DEVELOPERS","items":[{"label":"Docs","href":"https://docs.tensorpro.ai"}]},{"header":"COMPANY","items":[{"label":"TensorPRO","href":"https://tensorpro.ai/about"},{"label":"Research","href":"https://tensorpro.ai/research"},{"label":"Investors","href":"https://tensorpro.ai/investors"},{"label":"News","href":"https://tensorpro.ai/news"},{"label":"Security and Compliance","href":"https://tensorpro.ai/security"},{"label":"Responsible AI","href":"https://tensorpro.ai/responsible-ai"},{"label":"Contact","href":"https://tensorpro.ai/contact"}]},{"header":"PRIVACY AND TERMS","items":[{"label":"Privacy Policy","href":"https://tensorpro.ai/privacy"},{"label":"Terms of Service","href":"https://tensorpro.ai/terms"}]}]},"fonts":{"heading":{"family":"Geist"},"body":{"family":"Inter"}},"styling":{"codeblocks":{"theme":"github-light"},"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tensor-pro","hasAudioNarration":false,"actualSubdomain":"tensor-pro","customDomains":["docs.tensorpro.ai"],"gitSource":{"type":"github","owner":"tensorpro-org","repo":"edn-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af6a27e8a288420d5340e2f","clientVersion":"0.0.4142","searchFilterCounts":[{"language":"default","tag":"API Reference","count":27},{"language":"default","tag":"Developer Docs","count":13},{"language":"default","tag":"Console","count":8},{"language":"default","tag":"Sessions","count":7},{"language":"default","tag":"Core concepts","count":6},{"language":"default","tag":"Manage memory","count":5},{"language":"default","tag":"Save memory","count":4},{"language":"default","tag":"Projects","count":4},{"language":"default","tag":"Documents","count":3},{"language":"default","tag":"Get started","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--font-mono: \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas,\n monospace}code,kbd,samp,pre,pre code,[class*=\"language-\"],.prose code,.prose pre{font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas,\n monospace}#footer>div{padding-bottom:2rem}#footer::after{content:\"(c) 2026 TensorPRO. All rights reserved.\";display:block;align-self:stretch;width:100%;box-sizing:border-box;padding:1.25rem 2rem;background-color:#0f1b2d;color:#e5e7eb;text-align:center;font-size:0.8125rem;line-height:1.5}.prose table{font-size:1em}.prose a,.prose table a{font-size:inherit;line-height:inherit}#content-area:has(#required-headers) .api-section{display:none}body:has(#required-headers) #content-side-layout{display:none}body:has(#required-headers) #content-area{max-width:54rem}body:has(#required-headers) #content-area .code-group,body:has(#required-headers) #content-area .code-block{max-width:38rem}body:has(#required-headers) [id^=\"api-playground\"][id$=\"operation-page\"]>div:first-child{max-width:32rem}.nav-tabs-item[data-active=\"true\"]{color:#00ade4!important;font-weight:600}.nav-tabs-item[data-active=\"true\"]::after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:2px;background-color:#00ade4;border-radius:2px}.landing-cards .card{min-height:200px}.landing-cards .card>div{padding:1.75rem 1.5rem}#sidebar a[aria-current=\"page\"],#sidebar a[data-active=\"true\"]{color:#00ade4!important;font-weight:600;background-color:rgba(0, 173, 228, 0.08)}"}],"page":{"pagePath":"api-reference/generated-round","slug":"/api-reference/generated-round","pageMetadata":{"openapi":"post /api/v1/memory/generated","title":"Save a generated statement","description":"Save something your assistant said that isn't an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with `POST /api/v1/memory/confirm`. Counts against your daily ingest quota.","href":"/api-reference/generated-round"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Save something your assistant said that isn’t an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with \", _jsx(_components.code, {\n children: \"POST /api/v1/memory/confirm\"\n }), \". Counts against your daily ingest quota.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Callout,CodeBlock,CodeGroup,Heading,Table}=_components;if(!Callout)_missingMdxReference(`Callout`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this endpoint to save an assistant reply that isn’t a factual answer, such\nas a suggestion, a plan or a draft, so the user can confirm it later.`}),`\n`,_jsxs(_components.p,{children:[`You typically call it after `,_jsx(_components.a,{href:`/api-reference/infer-round`,children:`Classify an assistant reply`}),`\nreturns `,_jsx(_components.code,{children:`provenance: AI_GENERATED`}),`, because that endpoint saves nothing for\nthese replies. EDN saves the reply as an unconfirmed `,_jsx(_components.code,{children:`AI_GENERATED`}),` memory. It\nisn’t used in SIPs until the user confirms it with\n`,_jsx(_components.a,{href:`/api-reference/confirm-memory-record`,children:`Confirm a memory`}),`.`]}),`\n`,_jsx(Callout,{icon:`circle-info`,color:`#00ADE4`,children:_jsx(_components.p,{children:`If your app has no confirm feature, you can skip this endpoint.`})}),`\n`,_jsx(Heading,{level:`2`,id:`what-edn-does`,children:`What EDN does`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Saves the statement as an `,_jsx(_components.code,{children:`AI_GENERATED`}),` memory.`]}),`\n`,_jsx(_components.li,{children:`Keeps it out of SIPs until the user confirms it.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`required-headers`,children:`Required headers`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Header`}),_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Authorization`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`Bearer YOUR_API_KEY`})}),_jsxs(_components.td,{children:[`Your EDN API key. Create keys in the `,_jsx(_components.a,{href:`/console/api-keys`,children:`Console`}),`. See `,_jsx(_components.a,{href:`/authentication`,children:`Authentication`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Content-Type`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`application/json`})}),_jsx(_components.td,{children:`The request body is JSON`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`session_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`Identifier for the conversation. Use the same value for every turn in the same conversation. If EDN hasn’t seen this value before, it creates a new session. Format: 1 to 128 characters, using only letters, digits, period (`,_jsx(_components.code,{children:`.`}),`), underscore (`,_jsx(_components.code,{children:`_`}),`), colon (`,_jsx(_components.code,{children:`:`}),`) and hyphen (`,_jsx(_components.code,{children:`-`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`assistant_message`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The assistant statement to save. Inline citation markers such as `,_jsx(_components.code,{children:`[1]`}),` are removed before storage. Must not be empty`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`project_id`})}),_jsx(_components.td,{children:`string`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Identifier for the project to store it in. Omit to store it in general memory. Must be one of your projects`})]})]})]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-light`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#fff`,color:`#24292e`,\"--shiki-dark\":`#24292e`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#6F42C1`},children:`curl`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` -X`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` POST`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"https://api.tensorpro.ai/api/v1/memory/generated\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`$EDN_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` -H`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` -d`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"session_id\": \"chat-42\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"assistant_message\": \"Here is a draft plan for the launch.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` }'`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Python`,numberOfLines:`13`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-light`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#fff`,color:`#24292e`,\"--shiki-dark\":`#24292e`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`13`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`import`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` requests`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`resp `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` requests.post(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"https://api.tensorpro.ai/api/v1/memory/generated\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E36209`},children:` headers`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`{`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"Authorization\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`f`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"Bearer `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:`{`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`'EDN_API_KEY'`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`]`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:`}`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#E36209`,\"--shiki-dark\":`#E36209`},children:` json`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`=`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`{`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"session_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"chat-42\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"assistant_message\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"Here is a draft plan for the launch.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`resp.raise_for_status()`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:`print`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`(resp.json())`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`JavaScript`,numberOfLines:`12`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-light`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#fff`,color:`#24292e`,\"--shiki-dark\":`#24292e`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`const`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` resp`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:` =`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:` await`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#6F42C1`},children:` fetch`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`(`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"https://api.tensorpro.ai/api/v1/memory/generated\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` method: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"POST\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` headers: {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` Authorization: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:\"`Bearer ${\"}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`process`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`.`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`env`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`.`}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:`EDN_API_KEY`}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:\"}`\"}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"Content-Type\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"application/json\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` body: `}),_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:`JSON`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#6F42C1`},children:`stringify`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"session_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"chat-42\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:` \"assistant_message\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"Here is a draft plan for the launch.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` }),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`});`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`console.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#6F42C1`},children:`log`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`(`}),_jsx(_components.span,{style:{color:`#D73A49`,\"--shiki-dark\":`#D73A49`},children:`await`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:` resp.`}),_jsx(_components.span,{style:{color:`#6F42C1`,\"--shiki-dark\":`#6F42C1`},children:`json`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`());`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(CodeBlock,{filename:`200 OK`,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-light`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#fff`,color:`#24292e`,\"--shiki-dark\":`#24292e`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` \"record_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"5d81f0b3-9a6c-4e27-8b4f-0c3e2a7d1f96\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`record_id`})}),_jsx(_components.td,{children:`string`}),_jsxs(_components.td,{children:[`Identifier for the saved `,_jsx(_components.code,{children:`AI_GENERATED`}),` memory`]})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`important-behavior`,children:`Important behavior`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`AI_GENERATED`}),` memories are never used as facts in a SIP.`]}),` They become usable only after the user confirms them with `,_jsx(_components.a,{href:`/api-reference/confirm-memory-record`,children:`Confirm a memory`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Each call counts toward your daily limit on saving memory.`})}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`UNAUTHORIZED`})}),_jsx(_components.td,{children:`The API key is missing, invalid or revoked`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`NOT_FOUND`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`project_id`}),` isn’t one of your projects`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`VALIDATION_ERROR`})}),_jsxs(_components.td,{children:[`A required field is missing or empty, or `,_jsx(_components.code,{children:`session_id`}),` has invalid characters`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`RATE_LIMITED`})}),_jsxs(_components.td,{children:[`Per-minute or daily limit on saving memory reached. Retry after `,_jsx(_components.code,{children:`Retry-After`}),` seconds`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`INTERNAL_ERROR`})}),_jsx(_components.td,{children:`Something failed on EDN’s side. Retry later`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/reference/errors`,children:`Error handling`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":"github-light"},"config":{},"pageMetadata":{"openapi":"post /api/v1/memory/generated","title":"Save a generated statement","description":"Save something your assistant said that isn't an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with `POST /api/v1/memory/confirm`. Counts against your daily ingest quota.","href":"/api-reference/generated-round"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[401,405,"ResponseExample,Tabl"],[628,643,"ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Table)_missingM"],[21819,21819,",`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`200`,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light github-light`,style:{backgroundColor:`#fff`,\"--shiki-dark-bg\":`#fff`,color:`#24292e`,\"--shiki-dark\":`#24292e`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#005CC5`,\"--shiki-dark\":`#005CC5`},children:` \"record_id\"`}),_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`: `}),_jsx(_components.span,{style:{color:`#032F62`,\"--shiki-dark\":`#032F62`},children:`\"5d81f0b3-9a6c-4e27-8b4f-0c3e2a7d1f96\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#24292E`,\"--shiki-dark\":`#24292E`},children:`}`})}),`\n`]})})})})"]]},"mdxExtracts":{"tableOfContents":[{"title":"What EDN does","slug":"what-edn-does","depth":2,"children":[]},{"title":"Required headers","slug":"required-headers","depth":2,"children":[]},{"title":"Request","slug":"request","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Important behavior","slug":"important-behavior","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"200","html":"\u003cpre class=\"shiki shiki-themes github-light github-light\" style=\"background-color:#fff;--shiki-dark-bg:#fff;color:#24292e;--shiki-dark:#24292e\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"3\">\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#24292E\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#005CC5\"> \"record_id\"\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#24292E\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#032F62\">\"5d81f0b3-9a6c-4e27-8b4f-0c3e2a7d1f96\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#24292E\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Save something your assistant said that isn't an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with `POST /api/v1/memory/confirm`. Counts against your daily ingest quota.","operationId":"generated_round_api_v1_memory_generated_post","requestBody":"5cf0cf38-b9f4-4214-8bd2-53f3e9d68f92","responses":{"200":"57e88f7a-4832-41f5-a756-d06a9adccb51","401":"1702c01a-ed15-4d65-8aea-c5a343b0180e","404":"c2f5c216-d220-4f2d-9162-77243f5ab7ca","422":"2b9fc88b-9815-431d-a516-3447bdb43d9c","429":"46995c7c-1736-459d-87df-b8ff297765f2"},"summary":"Save a generated statement","method":"post","type":"path","servers":["89663729-c85d-4dd4-911f-36552656a6ec"],"security":["8e92df6a-14e1-4f0d-895d-efa70acc7589"],"path":"/api/v1/memory/generated","baseUrlOptions":["https://api.tensorpro.ai"],"title":"Save a generated statement","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExamples":[{"dropdown":false,"language":"json","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes github-light github-light","style":{"backgroundColor":"#fff","--shiki-dark-bg":"#fff","color":"#24292e","--shiki-dark":"#24292e"},"language":"json","children":{"type":"code","key":null,"ref":null,"props":{"language":"json","numberOfLines":"3","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#24292E","--shiki-dark":"#24292E"},"children":"{"}}}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#005CC5","--shiki-dark":"#005CC5"},"children":" \"record_id\""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#24292E","--shiki-dark":"#24292E"},"children":": "}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#032F62","--shiki-dark":"#032F62"},"children":"\"5d81f0b3-9a6c-4e27-8b4f-0c3e2a7d1f96\""}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#24292E","--shiki-dark":"#24292E"},"children":"}"}}}},"\n"]}}}},"filename":"200"}],"responseExampleType":"mdx"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"assistant_message":{"description":"The statement the assistant made, to be saved as an unconfirmed guess.","examples":["Here is a draft plan for the launch."],"minLength":1,"title":"Assistant Message","type":"string","isRequired":true,"uniqueKey":"assistant_message","typeLabel":"string"},"session_id":{"description":"Which chat this belongs to.","examples":["chat-42"],"maxLength":128,"minLength":1,"title":"Session Id","type":"string","isRequired":true,"uniqueKey":"session_id","typeLabel":"string"},"project_id":{"oneOf":[{"type":"string","title":"Project Id","description":"Which project/workspace this belongs to. Leave it out for a regular chat.","uniqueKey":"project_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Project Id","description":"Which project/workspace this belongs to. Leave it out for a regular chat.","uniqueKey":"project_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"project_id","typeLabel":"string | null"}},"required":["assistant_message","session_id"],"title":"GeneratedRequest","type":"object","uniqueKey":"","typeLabel":"GeneratedRequest · object"},"examples":{"Example":{"title":"Example","value":{"assistant_message":"Here is a draft plan for the launch.","session_id":"chat-42","project_id":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"57e88f7a-4832-41f5-a756-d06a9adccb51":{"content":{"application/json":{"schema":{"properties":{"record_id":{"description":"The ID of the saved AI_GENERATED memory.","title":"Record Id","type":"string","isRequired":true,"uniqueKey":"record_id","typeLabel":"string"}},"required":["record_id"],"title":"GeneratedResponse","type":"object","uniqueKey":"","typeLabel":"GeneratedResponse · object"},"examples":{"Example":{"title":"Example","value":{"record_id":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Successful Response","exampleType":"generated"},"1702c01a-ed15-4d65-8aea-c5a343b0180e":{"content":{"application/json":{"schema":{"properties":{"code":{"description":"A stable error code, e.g. NOT_FOUND. Also sent in the X-EDN-Error-Code header.","title":"Code","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"What went wrong, in plain language.","title":"Detail","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"required":["detail","code"],"title":"ErrorResponse","type":"object","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","detail":"\u003cstring>"}}},"exampleType":"generated"}},"description":"The API key is missing, invalid, revoked or expired.","exampleType":"generated"},"c2f5c216-d220-4f2d-9162-77243f5ab7ca":{"content":{"application/json":{"schema":{"properties":{"code":{"description":"A stable error code, e.g. NOT_FOUND. Also sent in the X-EDN-Error-Code header.","title":"Code","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"What went wrong, in plain language.","title":"Detail","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"required":["detail","code"],"title":"ErrorResponse","type":"object","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","detail":"\u003cstring>"}}},"exampleType":"generated"}},"description":"The resource does not exist or does not belong to you.","exampleType":"generated"},"2b9fc88b-9815-431d-a516-3447bdb43d9c":{"content":{"application/json":{"schema":{"properties":{"code":{"description":"A stable error code, e.g. NOT_FOUND. Also sent in the X-EDN-Error-Code header.","title":"Code","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"What went wrong, in plain language.","title":"Detail","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"errors":{"description":"One entry per invalid field.","items":{"properties":{"field":{"description":"The request field with the problem, e.g. session_id.","title":"Field","type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"},"message":{"description":"What is wrong with it.","title":"Message","type":"string","isRequired":true,"uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"title":"FieldError","type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"FieldError · object"},"title":"Errors","type":"array","isRequired":true,"uniqueKey":"errors","typeLabel":"FieldError · object[]"}},"required":["detail","code","errors"],"title":"ValidationErrorResponse","type":"object","uniqueKey":"","typeLabel":"ValidationErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","detail":"\u003cstring>","errors":[{"field":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"description":"A request field is missing or invalid. errors lists each problem.","exampleType":"generated"},"46995c7c-1736-459d-87df-b8ff297765f2":{"content":{"application/json":{"schema":{"properties":{"code":{"description":"A stable error code, e.g. NOT_FOUND. Also sent in the X-EDN-Error-Code header.","title":"Code","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"What went wrong, in plain language.","title":"Detail","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"required":["detail","code"],"title":"ErrorResponse","type":"object","uniqueKey":"","typeLabel":"ErrorResponse · object"},"examples":{"Example":{"title":"Example","value":{"code":"\u003cstring>","detail":"\u003cstring>"}}},"exampleType":"generated"}},"description":"A rate limit or your daily quota was reached. Wait for the number of seconds in the Retry-After header, then retry.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"exampleType":"generated"}},"security":{"8e92df6a-14e1-4f0d-895d-efa70acc7589":{"EDNApiKey":{"description":"Your EDN API key, sent as `Bearer YOUR_API_KEY`. Create keys in the Console.","scheme":"bearer","type":"http","scopes":[],"schemeName":"EDNApiKey"}}},"servers":{"89663729-c85d-4dd4-911f-36552656a6ec":{"description":"EDN evaluation endpoint","url":"https://api.tensorpro.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"Your EDN API key, sent as `Bearer YOUR_API_KEY`. Create keys in the Console.","scheme":"bearer","type":"http","scopes":[],"schemeName":"EDNApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your EDN API key, sent as `Bearer YOUR_API_KEY`. Create keys in the Console.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"EDNApiKey","name":"Authorization"}],"title":"EDNApiKey"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"tensor-pro","siteName":"EDN","title":"Save a generated statement - EDN","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T05:39:15.065Z","originalFileLocation":"api-reference/generated-round.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Save something your assistant said that isn\u0026#x27;t an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with POST /api/v1/memory/confirm. Counts against your daily ingest quota.\">\u003cmeta data-mint-head name=\"application-name\" content=\"EDN\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Save a generated statement - EDN\">\u003cmeta data-mint-head property=\"og:description\" content=\"Save something your assistant said that isn\u0026#x27;t an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with POST /api/v1/memory/confirm. Counts against your daily ingest quota.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"EDN\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tensorpro.ai/api-reference/generated-round\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tensor-pro.mintlify.site/_mintlify/api/og/v2?division=Save+memory\u0026amp;title=Save+a+generated+statement\u0026amp;description=Save+something+your+assistant+said+that+isn%27t+an+answer+to+a+question%2C+such+as+a+suggestion+or+a+draft%2C+as+an+AI_GENERATED+memory.+It+is+never+used+in+a+SIP+unt\u0026amp;theme=b95e27d968327e863e1b8ee0\u0026amp;signature=e773b1fa040ebba7b82705f22bca12cb9df442da5ce3a2b761ada551353a6708\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Save a generated statement - EDN\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Save something your assistant said that isn\u0026#x27;t an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with POST /api/v1/memory/confirm. Counts against your daily ingest quota.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tensor-pro.mintlify.site/_mintlify/api/og/v2?division=Save+memory\u0026amp;title=Save+a+generated+statement\u0026amp;description=Save+something+your+assistant+said+that+isn%27t+an+answer+to+a+question%2C+such+as+a+suggestion+or+a+draft%2C+as+an+AI_GENERATED+memory.+It+is+never+used+in+a+SIP+unt\u0026amp;theme=b95e27d968327e863e1b8ee0\u0026amp;signature=e773b1fa040ebba7b82705f22bca12cb9df442da5ce3a2b761ada551353a6708\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tensor-pro/apsIfYQrkaP2SbwB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"EDN\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00ADE4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tensorpro.ai/api-reference/generated-round\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/generated-round.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tensorpro.ai/#organization\",\"name\":\"EDN\",\"url\":\"https://docs.tensorpro.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tensor-pro/AWOd-GOQzhH77YoI/logo/Logo_5_05.png?fit=max\u0026auto=format\u0026n=AWOd-GOQzhH77YoI\u0026q=85\u0026s=a774ff4824e8db2cc8869867a69e2868\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tensorpro.ai#website\",\"name\":\"EDN\",\"url\":\"https://docs.tensorpro.ai\",\"publisher\":{\"@id\":\"https://docs.tensorpro.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tensorpro.ai/api-reference/generated-round#webpage\",\"url\":\"https://docs.tensorpro.ai/api-reference/generated-round\",\"name\":\"Save a generated statement\",\"description\":\"Save something your assistant said that isn't an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with POST /api/v1/memory/confirm. Counts against your daily ingest quota.\",\"dateModified\":\"2026-11-13T05:39:15.065Z\",\"isPartOf\":{\"@id\":\"https://docs.tensorpro.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tensorpro.ai/api-reference/generated-round#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tensorpro.ai/api-reference/generated-round#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Save memory\",\"item\":\"https://docs.tensorpro.ai/api-reference/ingest-round\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Save a generated statement\",\"item\":\"https://docs.tensorpro.ai/api-reference/generated-round\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tensorpro.ai/api-reference/generated-round#apireference\",\"headline\":\"Save a generated statement\",\"name\":\"Save a generated statement\",\"description\":\"Save something your assistant said that isn't an answer to a question, such as a suggestion or a draft, as an AI_GENERATED memory. It is never used in a SIP until the user confirms it with POST /api/v1/memory/confirm. Counts against your daily ingest quota.\",\"url\":\"https://docs.tensorpro.ai/api-reference/generated-round\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tensorpro.ai/api-reference/generated-round#webpage\"},\"dateModified\":\"2026-11-13T05:39:15.065Z\",\"publisher\":{\"@id\":\"https://docs.tensorpro.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tensorpro.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"EDN\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"EDN\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/generated-round.md","siteName":"EDN","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":""}]},{"tab":"Developer Docs","pages":[{"title":"Developer Docs","href":"/introduction"}]},{"tab":"Console","pages":[{"title":"Console","href":"/console/overview"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Overview","href":"/api-reference/overview"}]},{"group":"Save memory","pages":[{"openapi":"post /api/v1/memory/ingest","title":"Save a conversation turn","href":"/api-reference/ingest-round"},{"openapi":"post /api/v1/memory/infer","title":"Classify an assistant reply","description":"Check whether your assistant's reply is a factual answer, and if it is, save it as an unconfirmed fact that the user can confirm later.","href":"/api-reference/infer-round"},{"openapi":"post /api/v1/memory/generated","title":"Save a generated statement","href":"/api-reference/generated-round"},{"openapi":"post /api/v1/memory/confirm","title":"Confirm a memory","description":"Confirm an AI_INFERRED or AI_GENERATED memory when the user agrees with it. EDN saves it as a new USER_CONFIRMED memory, which SIPs use from then on, and the original leaves the memory list. Returns 409 for memories that don't need confirming.","href":"/api-reference/confirm-memory-record"}]},{"group":"Manage memory","pages":[{"openapi":"get /api/v1/memory/records","title":"List memories","href":"/api-reference/list-memory-records"},{"openapi":"get /api/v1/memory/records/{record_id}","title":"Get a memory","href":"/api-reference/get-memory-record"},{"openapi":"patch /api/v1/memory/records/{record_id}","title":"Edit a memory","href":"/api-reference/edit-memory-record"},{"openapi":"get /api/v1/memory/records/{record_id}/history","title":"Get a memory's history","href":"/api-reference/memory-record-history"},{"openapi":"delete /api/v1/memory/records/{record_id}","title":"Delete a memory","href":"/api-reference/delete-memory-record"}]},{"group":"Retrieve","pages":[{"openapi":"post /api/v1/sip/build","title":"Build a SIP","href":"/api-reference/build-sip"},{"openapi":"get /api/v1/retrieval/search","title":"Search memories","href":"/api-reference/search"}]},{"group":"Documents","pages":[{"openapi":"post /api/v1/document/ingest","title":"Upload a document","href":"/api-reference/ingest-document"},{"openapi":"get /api/v1/projects/{project_id}/sources","title":"List project documents","href":"/api-reference/list-project-sources"},{"openapi":"delete /api/v1/projects/{project_id}/sources/{source_id}","title":"Remove a project document","href":"/api-reference/remove-project-source"}]},{"group":"Projects","pages":[{"openapi":"get /api/v1/projects","title":"List projects","href":"/api-reference/list-projects"},{"openapi":"post /api/v1/projects","title":"Create a project","href":"/api-reference/create-project"},{"openapi":"patch /api/v1/projects/{project_id}","title":"Rename a project","href":"/api-reference/update-project"},{"openapi":"delete /api/v1/projects/{project_id}","title":"Delete a project","href":"/api-reference/delete-project"}]},{"group":"Sessions","pages":[{"openapi":"get /api/v1/sessions","title":"List sessions","href":"/api-reference/list-sessions"},{"openapi":"post /api/v1/sessions","title":"Create a session","href":"/api-reference/create-session"},{"openapi":"patch /api/v1/sessions/{session_id}","title":"Rename a session","href":"/api-reference/update-session"},{"openapi":"delete /api/v1/sessions/{session_id}","title":"Delete a session","href":"/api-reference/delete-session"},{"openapi":"patch /api/v1/sessions/{session_id}/project","title":"Move a session to a project","href":"/api-reference/assign-session-project"},{"openapi":"get /api/v1/sessions/{session_id}/messages","title":"List session messages","href":"/api-reference/list-session-messages"},{"openapi":"post /api/v1/sessions/{session_id}/messages","title":"Add a message to a session","href":"/api-reference/append-session-message"}]},{"group":"System","pages":[{"openapi":"get /api/v1/health","title":"Check API health","href":"/api-reference/health-check"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Save a generated statement - EDN","buildId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","deploymentId":"dpl_G2Qd45vZZ7MkBiGF9yYx8ZsbbKXX","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-NXj-Rqjv.js","utils-m0thOP-_.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D13EKcfm.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema--XTdfsEb.js","snippetPresets-D3s4lmAH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-ChURybxL.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DL8CiXq2.js","shallow-DI2-YB2E.js","getApiPlaygroundDisplay-DxbW7b_y.js","CodeSnippet-CiNYS0pP.js","CodeSnippets-BT87bThu.js","Page-DSpdRuhM.js","getPastedJson-F_g_IrFQ.js","icon-CCIG5BAs.js","MethodPill-DY3E0jwx.js","DuplicateIcon-BN88xnEg.js","createIcon-VCCc5HO5.js","DynamicMarkdown-CaSwclgK.js","SectionHeading-DXV8nWhc.js","axios-vUo_bRtp.js","Markdown-CV32Re6G.js","clsx-5ydLOnhV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-pFDdfjRe.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BUGO5bPJ.js"]}