Runlog docs

Start building

A plan buys a weekly allowance, sized for steady work.

Start

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.

RouteDoesLane
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/actionsDraft outreach to a person, grounded in what the project knows about them.Outbound
POST/v1/api/actionsApprove a drafted message, releasing it to its channel.Outbound
POST/v1/projects/{projectId}/outbound/emailEnterpriseSend an email from a connected mailbox, as that mailbox's owner.Outbound
POST/v1/projects/{projectId}/outbound/messageEnterpriseSend a message or connection request through a connected professional network.Outbound
GET/v1/projects/{projectId}/channels/{channelId}/warmupEnterpriseRead 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}/warmupEnterpriseTurn a mailbox's warm-up sends on or off, and cap how far the ramp may climb.Outbound
GET/v1/projects/{projectId}/channels/email/domainsEnterpriseList 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/domainsEnterpriseRegister 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/routingEnterpriseChoose 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}/seatEnterpriseRead a connected LinkedIn seat's tier and its remaining budget per action for the day.Outbound
GET/v1/projects/{projectId}/channels/{channelId}/reachEnterpriseAsk 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-stepsRead the ranked next moves the project derives, each with the evidence behind it.Business
POST/v1/projects/{projectId}/action-itemsRank what the project says should be done next, scoped to an optional slice of the spine.Business
POST/v1/projects/{projectId}/review-areasRank where the project most needs a human's attention, scoped to an optional slice of the spine.Business
POST/v1/projects/{projectId}/competitors/researchEnterpriseResearch a set of competitors and fold what is found into the project's corpus.Business
POST/v1/projects/{projectId}/listeningEnterpriseSweep 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}EnterpriseRead 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.