Documents
What to send, what to tell us about it, and what your agents can do with it.
In short
Send your documents to Hyperstruck and your agents can answer from them, pointing to the passage behind each answer. Send a document again to update it, and delete it to remove what was read from it.
What you can send
Send anything that records what happened or what was agreed: meeting notes, emails, chat messages, contracts or records from your own systems. Files can be PDF, Word (docx), Markdown, plain text or HTML, up to 25 MiB each. Say which with the X-Document-Type header, because anything without it is read as Markdown.
You give each document its own name, called its doc_id, and use that name to update, fetch or erase it. An id your source system already gives it makes a good name.
What to tell us about it
The text is only part of the picture. Tell us what the text can't reliably say for itself, because these details are never guessed from the upload.
| Tell us | Field | Why it matters |
|---|---|---|
| How it reached you | channel (required) | A chat message is named by its thread only when this says chat. Send unknown if you don't know. |
| Which account it is about | record_context.concerns | This is the most dependable way to file a document under the right customer. |
| When it happened | occurred_at | Answers order documents by this date. Without it, they fall back to when you uploaded. |
| Who was involved | record_context.participants | The same person across two meetings is recognized as one person. |
| What it is called, and where it lives | title, source_url | An answer that cites the document can name it and link back to it. |
Knowing when it is ready
An upload is accepted straight away and read shortly after. Fetch the document and look at its state. A document is ready to answer from when state is ready. After an update, also check that note doesn't start with newer_version, which means the version you just sent is still on its way or failed.
state | What it means | What to do |
|---|---|---|
queued, ingesting | On its way. | Check again in a few seconds. |
ready | Stored and read. A note flags anything to know: a newer version on its way, a long text only partly read, obligations not read, or a document stored only to be cited because claims are off for this agent. | Ask away. |
paused | Stored, but your spend limit stopped it being read. | Raise the limit. A daily pass reads it again, with nothing for you to resend. |
failed | reason says why. | If it couldn't be stored, fix the cause and send it again. If it was stored but not read, a daily pass reads it again. |
What you get from it
Your agents answer from claims: the specific details a document states about people, companies and things, including what someone owes. Every claim points back to the passage that says it, and reading a document draws on your spend limit.
We keep the document's text, so a passage can always be shown. We don't keep the original file.
Changing or removing a document
To update a document, send the new version under the same name. The last one you send becomes the current one, and earlier versions stay listed.
To remove a document, delete it. What was read from it goes too, except claims that another document also supports, and you get a receipt.
Other ways in
| You have | Use |
|---|---|
| Files, messages or records your systems can send | Documents, this page |
| Agents doing real work | Agent runs: report each run through /observe, and what it found becomes claims |
| Web pages you want checked on a schedule | Watched pages |
| A body of writing you want turned into learnings | Distill |