Skip to main content
POST
/
v0
/
memories
Store a memory (fact, event, document, note, profile, chunk).
curl --request POST \
  --url https://api.flumes.ai/v0/memories \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "namespace": "default",
  "text": "<string>",
  "agent_id": "<string>",
  "entity_id": "<string>",
  "metadata": {},
  "tags": [
    "<string>"
  ],
  "timestamp": "2023-11-07T05:31:56Z",
  "archived": false,
  "sensitivity": "auto",
  "subject": "<string>",
  "predicate": "<string>",
  "object": "<string>",
  "unit": "<string>",
  "keys": [
    "<string>"
  ],
  "valid_from": "2023-11-07T05:31:56Z",
  "valid_to": "2023-11-07T05:31:56Z",
  "confidence": 0.5,
  "status": "active",
  "provenance": {}
}
'
import requests

url = "https://api.flumes.ai/v0/memories"

payload = {
    "namespace": "default",
    "text": "<string>",
    "agent_id": "<string>",
    "entity_id": "<string>",
    "metadata": {},
    "tags": ["<string>"],
    "timestamp": "2023-11-07T05:31:56Z",
    "archived": False,
    "sensitivity": "auto",
    "subject": "<string>",
    "predicate": "<string>",
    "object": "<string>",
    "unit": "<string>",
    "keys": ["<string>"],
    "valid_from": "2023-11-07T05:31:56Z",
    "valid_to": "2023-11-07T05:31:56Z",
    "confidence": 0.5,
    "status": "active",
    "provenance": {}
}
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({
    namespace: 'default',
    text: '<string>',
    agent_id: '<string>',
    entity_id: '<string>',
    metadata: {},
    tags: ['<string>'],
    timestamp: '2023-11-07T05:31:56Z',
    archived: false,
    sensitivity: 'auto',
    subject: '<string>',
    predicate: '<string>',
    object: '<string>',
    unit: '<string>',
    keys: ['<string>'],
    valid_from: '2023-11-07T05:31:56Z',
    valid_to: '2023-11-07T05:31:56Z',
    confidence: 0.5,
    status: 'active',
    provenance: {}
  })
};

fetch('https://api.flumes.ai/v0/memories', 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.flumes.ai/v0/memories",
  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([
    'namespace' => 'default',
    'text' => '<string>',
    'agent_id' => '<string>',
    'entity_id' => '<string>',
    'metadata' => [
        
    ],
    'tags' => [
        '<string>'
    ],
    'timestamp' => '2023-11-07T05:31:56Z',
    'archived' => false,
    'sensitivity' => 'auto',
    'subject' => '<string>',
    'predicate' => '<string>',
    'object' => '<string>',
    'unit' => '<string>',
    'keys' => [
        '<string>'
    ],
    'valid_from' => '2023-11-07T05:31:56Z',
    'valid_to' => '2023-11-07T05:31:56Z',
    'confidence' => 0.5,
    'status' => 'active',
    'provenance' => [
        
    ]
  ]),
  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.flumes.ai/v0/memories"

	payload := strings.NewReader("{\n  \"namespace\": \"default\",\n  \"text\": \"<string>\",\n  \"agent_id\": \"<string>\",\n  \"entity_id\": \"<string>\",\n  \"metadata\": {},\n  \"tags\": [\n    \"<string>\"\n  ],\n  \"timestamp\": \"2023-11-07T05:31:56Z\",\n  \"archived\": false,\n  \"sensitivity\": \"auto\",\n  \"subject\": \"<string>\",\n  \"predicate\": \"<string>\",\n  \"object\": \"<string>\",\n  \"unit\": \"<string>\",\n  \"keys\": [\n    \"<string>\"\n  ],\n  \"valid_from\": \"2023-11-07T05:31:56Z\",\n  \"valid_to\": \"2023-11-07T05:31:56Z\",\n  \"confidence\": 0.5,\n  \"status\": \"active\",\n  \"provenance\": {}\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.flumes.ai/v0/memories")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"namespace\": \"default\",\n  \"text\": \"<string>\",\n  \"agent_id\": \"<string>\",\n  \"entity_id\": \"<string>\",\n  \"metadata\": {},\n  \"tags\": [\n    \"<string>\"\n  ],\n  \"timestamp\": \"2023-11-07T05:31:56Z\",\n  \"archived\": false,\n  \"sensitivity\": \"auto\",\n  \"subject\": \"<string>\",\n  \"predicate\": \"<string>\",\n  \"object\": \"<string>\",\n  \"unit\": \"<string>\",\n  \"keys\": [\n    \"<string>\"\n  ],\n  \"valid_from\": \"2023-11-07T05:31:56Z\",\n  \"valid_to\": \"2023-11-07T05:31:56Z\",\n  \"confidence\": 0.5,\n  \"status\": \"active\",\n  \"provenance\": {}\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.flumes.ai/v0/memories")

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  \"namespace\": \"default\",\n  \"text\": \"<string>\",\n  \"agent_id\": \"<string>\",\n  \"entity_id\": \"<string>\",\n  \"metadata\": {},\n  \"tags\": [\n    \"<string>\"\n  ],\n  \"timestamp\": \"2023-11-07T05:31:56Z\",\n  \"archived\": false,\n  \"sensitivity\": \"auto\",\n  \"subject\": \"<string>\",\n  \"predicate\": \"<string>\",\n  \"object\": \"<string>\",\n  \"unit\": \"<string>\",\n  \"keys\": [\n    \"<string>\"\n  ],\n  \"valid_from\": \"2023-11-07T05:31:56Z\",\n  \"valid_to\": \"2023-11-07T05:31:56Z\",\n  \"confidence\": 0.5,\n  \"status\": \"active\",\n  \"provenance\": {}\n}"

response = http.request(request)
puts response.read_body
{
  "memory_id": "<string>",
  "embedding_indexed": true,
  "cost": {
    "input_tokens": 0,
    "embedding": 0,
    "llm_tokens": 0,
    "retrieval_ops": 0
  },
  "request_id": "<string>"
}
{
  "error": "<string>",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "error": "<string>",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "error": "<string>",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "error": "<string>",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}
{
  "error": "<string>",
  "message": "<string>",
  "request_id": "<string>",
  "details": {}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Flumes-Agent
string

Agent id within the org.

Maximum string length: 128
Idempotency-Key
string

Idempotency key for safe retries (unique per org).

Maximum string length: 128

Body

application/json

Base memory record (open-world). Write requests ignore org fields; org is taken from header.

namespace
string
default:default
required
Maximum string length: 64
type
enum<string>
required
Available options:
fact,
event,
document,
note,
profile,
chunk
text
string
required

Human-readable content; for facts, this is a rendered form of subject/predicate/object.

Maximum string length: 20000
agent_id
string | null
entity_id
string | null
metadata
object
tags
string[]
Maximum string length: 64
timestamp
string<date-time>
archived
boolean
default:false
sensitivity
enum<string>
default:auto
Available options:
none,
pii,
auto
subject
string | null

Entity id like ent:user_42

predicate
string | null
Maximum string length: 128
object
Maximum string length: 4000
object_type
enum<string> | null
Available options:
literal,
string,
number,
date,
json,
entity
unit
string | null
Maximum string length: 32
keys
string[] | null

Conflict keys for supersession.

Maximum string length: 128
valid_from
string<date-time> | null
valid_to
string<date-time> | null
confidence
number | null
Required range: 0 <= x <= 1
status
enum<string>
default:active
Available options:
active,
superseded,
disputed
provenance
object

Source info; e.g., { source_turn: memory_id }

Response

Stored

memory_id
string
embedding_indexed
boolean
cost
object
request_id
string