Takes
3 Takes routes on the FLAM API: Every standing note this house holds, in force and retired; Promote a direction to a standing note — her tap, never.
Base URL https://api.flam.fashion. Send Authorization: Bearer flam_sk_… on every call; a handful of routes are session-only and say so. How keys and roles work.
GET /api/toolkit/standing-notes
Every standing note this house holds, in force and retired
The call sheet's read: every standing note with its scope (as tool slugs and as a phrase in the director's language), the evidence job ids it was learned from, when it started applying, and when it was switched off. Retired rows stay listed — a preference that vanishes is a preference she cannot audit. Scoped to the acting house; a viewer seat may read it.
Responses
| Status | Meaning |
|---|---|
200 | Newest first, retired rows included with their retiredAt. |
401 | Signed out |
200 returns:
{
"notes": [
{
"id": "string",
"text": "string",
"scopeTools": [
"string"
],
"scopePhrase": "string",
"evidenceJobIds": [
"string"
],
"activeFrom": "string",
"retiredAt": "string"
}
]
}Call it
curl -X GET "https://api.flam.fashion/api/toolkit/standing-notes" \
-H "Authorization: Bearer $FLAM_API_KEY"POST /api/toolkit/standing-notes
Promote a direction to a standing note — her tap, never inference
The accept door (C-T3: a direction never silently becomes standing). Accepting an offer sends the text plus evidenceJobIds, and the scope is RE-DERIVED server-side from those jobs' tools — a client cannot widen it. Writing from the call sheet sends text plus scopeTools with no evidence; an empty scopeTools means global and is reachable only through this door, with the call sheet's own confirm. The same sentence already standing on the same scope is returned, not duplicated.
Request body — application/json
| Field | Type | Required | Notes |
|---|---|---|---|
text | string | yes | — |
scopeTools | string[] | no | — |
evidenceJobIds | string[] | no | — |
{
"text": "string",
"scopeTools": [
"string"
],
"evidenceJobIds": [
"string"
]
}Responses
| Status | Meaning |
|---|---|
200 | Already standing — the existing note, untouched. |
201 | Standing from now on. Visible on the call sheet. |
400 | Empty text, unknown evidence, or a scope the evidence does not support. |
401 | Signed out |
403 | A viewer seat reads the house's preferences; it does not set them. |
200 returns:
{
"note": {
"id": "string",
"text": "string",
"scopeTools": [
"string"
],
"scopePhrase": "string",
"evidenceJobIds": [
"string"
],
"activeFrom": "string",
"retiredAt": "string"
}
}Call it
curl -X POST "https://api.flam.fashion/api/toolkit/standing-notes" \
-H "Authorization: Bearer $FLAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"string","scopeTools":["string"],"evidenceJobIds":["string"]}'PATCH /api/toolkit/standing-notes/{id}
Retire a standing note, or narrow its scope
Retire sets retiredAt and keeps the row — the call sheet greys it in place with its evidence, because a preference that vanishes is a preference she cannot audit. Narrowing replaces scopeTools with a subset of the current set. Widening — including any PATCH to an empty scope — is refused: out of scope, first ship.
Parameters
| In | Name | Type | Required | Notes |
|---|---|---|---|---|
| path | id | string | yes | — |
Request body — application/json
| Field | Type | Required | Notes |
|---|---|---|---|
retire | true | no | — |
scopeTools | string[] | no | — |
{
"retire": true,
"scopeTools": [
"string"
]
}Responses
| Status | Meaning |
|---|---|
200 | The note as it now stands. |
400 | Nothing to change, or a scope that widens. |
401 | Signed out |
403 | A viewer seat cannot change the house's preferences. |
404 | Not this house's note. Indistinguishable from absent, on purpose. |
200 returns:
{
"note": {
"id": "string",
"text": "string",
"scopeTools": [
"string"
],
"scopePhrase": "string",
"evidenceJobIds": [
"string"
],
"activeFrom": "string",
"retiredAt": "string"
}
}Call it
curl -X PATCH "https://api.flam.fashion/api/toolkit/standing-notes/{id}" \
-H "Authorization: Bearer $FLAM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"retire":true,"scopeTools":["string"]}'