Edit Node
Rewrite the Node's text, and answer the Loom. A new text drops the Node's log probabilities, as they were of the old one; the same text changes nothing. For a failed Node, or while a Node under it is queued or running, 409.
bearerAuthorizationBearer <token>An API key: Authorization: Bearer sk-acs-..., or a key of the old platform, acs-bm-.... A User makes and revokes keys in the App.
loom_id*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$uuidnode_id*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$uuididempotency-key?stringA key of your choice, 1 to 255 characters, such as a UUID. A retry with the same key and the same request does the work once: it gets the first answer, and is never charged twice. Kept 24 hours, one set for each User across all their API keys.
1 <= length <= 255application/json- body
text*stringThe Node's text. A CRLF or a lone CR is stored as LF, as Production does.
^[^\u0000]*$Loom
application/json- response
id*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$uuidobject*"loom""loom"created_at*integerWhen the Loom was made, in Unix seconds.
title*stringThe Loom's name. Empty until its first Branch names it after the first line of its root, or a rename names it.
pinned*booleanA pinned Loom comes first in the list.
nodes*array<>Depth first from each root: each Node comes after its parent and before its next sibling, and siblings come in the order they were made.
curl -X POST 'https://api.v2.infra.acsresearch.org/v1/looms/497f6eca-6276-4993-bfeb-53cbbbba6f08/nodes/497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Authorization: Bearer <API_KEY>' \ -H 'Content-Type: application/json' \ -d '{ "text": "string"}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "object": "loom", "created_at": 0, "title": "string", "pinned": true, "nodes": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "object": "loom.node", "parent_id": "1c6ca187-e61f-4301-8dcb-0e9749e89eef", "status": "queued", "text": "string", "logprobs": { "text_offset": [ 0 ], "token_logprobs": [ 0 ], "tokens": [ "string" ], "top_logprobs": [ { "property1": 0, "property2": 0 } ] }, "error": { "message": "string", "type": "string", "param": "string", "code": "string", "retryable": true, "retry_after_seconds": 0, "upstream_status": 0, "request_id": "string" }, "request": { "model": "string", "max_tokens": 32000, "temperature": 0, "logprobs": 0, "top_p": 0, "top_k": 0, "min_p": 0, "presence_penalty": 0, "frequency_penalty": 0, "repetition_penalty": 0, "seed": 0, "stop": "string" } } ]}Set Root POST
Replace the Loom's tree with one root, the text you write, and answer the Loom. While a Node of the Loom is `queued` or `running`, 409.
Delete Node DELETE
Delete the Node and every Node under it, and answer the Loom without them. You cannot undo it. For the root, or while a Node to delete is `queued` or `running`, 409 and the error object.