Skip to content

ThreadWeaveRequest

A thread to weave. Anything left out takes the loom’s default for its kind. The loom refuses a thread that is too long, has a weight outside 0 to 1, or looks like it holds a credential.

Kind: an object, used in requests.

FieldTypeRequiredDescription
contentstringyesThe thread’s words: what to remember. Constraints: required (empty or whitespace-only strings are rejected).
kindThreadKind| nullWhat kind of memory it is. Absent: Semantic (a fact).
weightnumber | nullHow much it matters, 0 to 1. Absent: 0.6.
foundationalboolean | nullTrue makes it warp (never frays); false forces weft. Absent: warp only for relational threads.
decayRateDecayRate| nullHow quickly it frays when unused. Absent: the default for its kind and strand.
subjectsstring[]Who or what it is about, as named in conversation.
tagsstring[]Free-form tags.
privatebooleanTrue makes it a private note, offered only to the agent that wove it; one woven through the API is offered to no agent.
pinnedbooleanTrue holds it close: always part of what an agent wakes up knowing.
cuesstring[] | nullWords (up to three each, at most 8) that bring the thread back when someone says them.
replacesuuid | nullA thread this one corrects or replaces: it is let go once this is woven, keeping what it said.
untildatetime | nullWhen it stops holding (a deadline, a plan’s day, a reminder that stops mattering); must be in the future. A bare day ("2026-10-30") holds until that day is over, as it does for an agent’s LoomWeave tool; a time with no zone is UTC.
basisThreadBasis| nullWhat it rests on: Said (default), Impression (a reading nobody said) or Read (from a document or tool).
{
"content": "...",
"kind": "Semantic",
"weight": 0,
"foundational": false,
"decayRate": "Normal",
"subjects": [
"..."
],
"tags": [
"..."
],
"private": false,
"pinned": false,
"cues": [
"..."
],
"replaces": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
"until": "2026-10-26T12:00:00.0000000Z",
"basis": "Said"
}