Runlog docs
Agents on the memory
For the buyer putting agents on the result. This leg is agents on the memory: every read is packed to a token budget and cites the ids it came from; a session decomposes an open-ended goal and stages its changes as proposals you approve by id; an artifact comes back with its provenance attached; and anything that reaches a person passes a real approval gate before it leaves.
Coming to this leg
Specified and not serving. Each carries x-status: planned in the OpenAPI document, so a generated client skips it; none answers today.
| Route | Does | Lane |
|---|---|---|
| GET/v1/projects/{projectId}/artifacts/{artifactId} | Read a generated artifact section by section, each carrying the cells it was derived from. | Artifacts |
| POST/v1/api/actions | Draft outreach to a person, grounded in what the project knows about them. | Outbound |
| POST/v1/api/actions | Approve a drafted message, releasing it to its channel. | Outbound |
| POST/v1/projects/{projectId}/outbound/emailEnterprise | Send an email from a connected mailbox, as that mailbox's owner. | Outbound |
| POST/v1/projects/{projectId}/outbound/messageEnterprise | Send a message or connection request through a connected professional network. | Outbound |
| GET/v1/projects/{projectId}/channels/{channelId}/warmupEnterprise | Read where a mailbox is on its ramp: its age, today's ceiling, what it has spent, and when it reaches steady state. | Outbound |
| PUT/v1/projects/{projectId}/channels/{channelId}/warmupEnterprise | Turn a mailbox's warm-up sends on or off, and cap how far the ramp may climb. | Outbound |
| GET/v1/projects/{projectId}/channels/email/domainsEnterprise | List every domain the project sends from with its SPF, DKIM, and DMARC state and its place in the rotation. | Outbound |
| POST/v1/projects/{projectId}/channels/email/domainsEnterprise | Register a domain the project will send from and receive the DNS records it needs before it enters rotation. | Outbound |
| PUT/v1/projects/{projectId}/channels/email/routingEnterprise | Choose how the project's email sends spread across its domains and mailboxes, and when a domain is taken out of rotation. | Outbound |
| GET/v1/projects/{projectId}/channels/{channelId}/seatEnterprise | Read a connected LinkedIn seat's tier and its remaining budget per action for the day. | Outbound |
| GET/v1/projects/{projectId}/channels/{channelId}/reachEnterprise | Ask whether this seat can reach a person: their connection degree, whether their profile is open, and which action would carry a message. | Outbound |
| GET/v1/projects/{projectId}/next-steps | Read the ranked next moves the project derives, each with the evidence behind it. | Business |
| POST/v1/projects/{projectId}/action-items | Rank what the project says should be done next, scoped to an optional slice of the spine. | Business |
| POST/v1/projects/{projectId}/review-areas | Rank where the project most needs a human's attention, scoped to an optional slice of the spine. | Business |
| POST/v1/projects/{projectId}/competitors/researchEnterprise | Research a set of competitors and fold what is found into the project's corpus. | Business |
| POST/v1/projects/{projectId}/listeningEnterprise | Sweep public conversation about a topic and fold what is said, and who said it, into the project's corpus. | Business |
| GET/v1/projects/{projectId}/listening/{sweepId}Enterprise | Read a sweep's sentiment broken down along the dimensions it was cut by, each figure citing the cells behind it. | Business |
The lanes
- Retrieval: For every read an agent makes. Every read here is packed to a token budget you set and every row carries the ids it came from, so an answer built on it can cite its source rather than assert it.
- Agent sessions: For an open-ended goal. A run is a durable session bound to one project: you open it once, append messages, and read the answer back as a single JSON read or as a live stream — the agent decomposes the goal, retrieves repeatedly, and names the declarations each claim rested on. Nothing on this path mutates a codebase: when a turn concludes a change is needed it writes a plan — the reasoning, the proposed changes, the terms it read without changing — and stops. Applying it is a separate, explicit approval on the same run, which is what makes the surface safe to put behind an editor's "apply" button.
- Artifacts: For the document your agent hands back. An artifact is generated from the project's own corpus — a report, a memo, a takeoff — and the reason to generate one here rather than in a chat window is that it comes back with its provenance attached. Every section names the cells it was derived from, and a section nothing in the corpus supports is returned as unsupported rather than written confidently. An artifact is ordinary corpus once it lands: retrievable, citable, and answerable for what it rests on — and promoting one to source evidence is the folder move documented here.
- Outbound: For an agent that reaches a person. Reaching someone is three steps, and they are separate on purpose: something drafts, a human approves, and only then does anything leave. An external send is the one class of action the platform will not auto-fire — not from an agent, not from a website visitor, and not from an API key acting unattended — so the approval is a real gate rather than a confirmation dialog.
- Business: For an agent on the company itself. Everything the product does to a company's commercial position — stating what it sells and to whom, ranking what to do next, researching who it competes with, listening to what a market says — is an action with an API endpoint. What the application does through a screen, a key does through a route; there is no capability that exists only behind the UI.