Everything the browser app reads and changes. /graphql takes the session cookie the app
signs in with, or a bearer token issued for this tenant. A field that names a scope refuses a
caller whose token does not carry it; an object that names one resolves to nothing for them.
Subscriptions are delivered over Action Cable at /cable.
Generated from the code by ./dev reference. CI fails when this page and the code disagree.
| Field |
Type |
Needs |
Description |
analyses
feedId: ID
status: String
after: ID
limit: Int |
AnalysisPage! |
xixo:catalog:read |
|
analysis
id: ID! |
Analysis |
xixo:catalog:read |
|
auditEvents
status: String
actor: String
feed: ID
after: ID
limit: Int |
AuditEventPage! |
xixo:catalog:read |
|
feed
id: ID
key: String |
Feed |
xixo:catalog:read |
|
feeds
type: String
types: [String!]
mime: String
resourceId: ID
tag: String
connectedTo: ID
topLevel: Boolean
after: ID
limit: Int |
FeedPage! |
xixo:catalog:read |
|
resourceTypes |
[Attaching!]! |
xixo:resources:read |
Every type that can be attached, and what each of them needs. |
resources
archived: Boolean |
[Resource!]! |
xixo:resources:read |
|
run
id: ID! |
Run |
xixo:catalog:read |
|
runs
kind: String
status: String
after: ID
limit: Int |
RunPage! |
xixo:catalog:read |
|
search
query: String
type: String
types: [String!]
after: ID
limit: Int |
FeedPage! |
xixo:catalog:read |
|
settings |
[Setting!]! |
xixo:settings:read |
|
tenant |
Tenant |
xixo:catalog:read |
|
types |
[TypeCount!]! |
xixo:catalog:read |
|
Autogenerated return type of AddNote.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Resolves only for a token carrying xixo:catalog:read.
| Field |
Type |
Description |
cause |
String! |
|
createdAt |
ISO8601DateTime! |
|
deadline |
ISO8601DateTime |
When it is cut off. It moves out when the agent asks for more time, never past a day from its start. |
drewOn |
[Feed!]! |
What this answer cited, opened or kept, each connected to the note it answers. |
durationMs |
Int |
|
error |
String |
|
finishedAt |
ISO8601DateTime |
|
id |
ID! |
|
lines |
Int! |
|
logs |
String |
Everything the pass has logged so far, newest last. |
question |
String |
What this pass was asked, when it answers a question: the note’s first question, or a follow-up. |
said |
String |
What the agent answered when the pass finished, if it ran. |
startedAt |
ISO8601DateTime |
|
status |
String! |
|
steps |
JSON! |
|
turns |
JSON! |
|
| Field |
Type |
hasMore |
Boolean! |
nextCursor |
ID |
nodes |
[Analysis!]! |
total |
Int |
Autogenerated return type of AnalysisProgressed.
Autogenerated return type of AnalyzeFeed.
| Field |
Type |
Description |
analysis |
Analysis! |
|
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Autogenerated return type of ArchiveResource.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
resource |
Resource! |
|
Autogenerated return type of AskCatalog.
| Field |
Type |
Description |
analysis |
Analysis! |
The pass that answers it. Watch it with analysisProgressed. |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
The note the question is kept as. What the answer cites is connected to it. |
Autogenerated return type of AttachResource.
| Field |
Type |
Description |
checkError |
String |
What the first check said, if it did not pass. |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
connectUrl |
String |
Where to send the browser to connect it through masks, for a type that connects that way. Nothing is reachable until somebody does. |
resource |
Resource! |
|
What one type of resource needs before it can answer. Resolves only for a token carrying xixo:resources:read.
| Field |
Type |
Description |
blurb |
String! |
|
capabilities |
[String!]! |
|
delegated |
Boolean! |
Connected through masks with somebody’s own account, rather than by typing a credential. |
fields |
[AttachingField!]! |
|
label |
String! |
|
names |
String! |
What the key means for this type. |
routable |
Boolean! |
Whether it can be reached through a transport, such as a tailnet. |
syncs |
Boolean! |
|
type |
String! |
|
Resolves only for a token carrying xixo:resources:read.
| Field |
Type |
field |
String! |
values |
[String!]! |
Resolves only for a token carrying xixo:resources:read.
| Field |
Type |
Description |
help |
String |
|
kind |
String! |
string, integer, boolean or choice. |
label |
String! |
|
name |
String! |
|
options |
[AttachingOption!] |
What a choice can be. |
placeholder |
String |
|
required |
Boolean! |
|
secret |
Boolean! |
Masked here, encrypted there, never read back. |
shownWhen |
[AttachingCondition!] |
Asked only while every one of these holds; left off, always asked. |
value |
String |
What it holds until something is typed. |
Resolves only for a token carrying xixo:resources:read.
| Field |
Type |
label |
String! |
value |
String! |
Resolves only for a token carrying xixo:catalog:read.
| Field |
Type |
Description |
action |
String! |
|
actor |
String! |
Who asked: person, client, agent, or nobody. |
actorName |
String |
The person’s name or the client’s id. Agents and nobody have none. |
analysis |
Analysis |
The analysis whose agent asked, when an agent did. |
arguments |
JSON! |
|
channel |
String! |
|
createdAt |
ISO8601DateTime! |
|
detail |
String |
|
durationMs |
Int |
|
feed |
Feed |
The feed it was about, while that feed still exists. |
id |
ID! |
|
remoteIp |
String |
|
requestId |
String |
|
scope |
String |
|
status |
String! |
|
told |
String |
What was asked, in one sentence, written when it was asked. |
via |
String |
The client a person asked through. |
workingOn |
Feed |
The feed that agent was analyzing. |
Autogenerated return type of CancelAnalysis.
| Field |
Type |
Description |
analysis |
Analysis! |
The analysis after the call. |
cancelled |
Boolean! |
True when the analysis was open and is now cancelled. False when it had already finished. |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
Autogenerated return type of CancelRun.
| Field |
Type |
Description |
cancelled |
Boolean! |
|
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
run |
Run! |
|
Autogenerated return type of CheckResource.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
ok |
Boolean! |
|
resource |
Resource! |
|
Autogenerated return type of ConnectFeeds.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Autogenerated return type of DeleteFeed.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
deleted |
Boolean! |
|
kept |
Int! |
How many feeds it minted that outlive it. |
Resolves only for a token carrying xixo:catalog:read.
| Field |
Type |
Description |
group |
String! |
The heading it is shown under, named for the step that produced it, such as Embedded in the file or Document. |
item |
Int |
Which record it belongs to, counting from 1, when the step found several, such as attachments or events. |
label |
String! |
What the value is, in words, such as Lens ID or Page size. |
step |
String! |
The name of the analysis step it was read from. |
value |
String! |
The value as text, cut to 400 characters. |
Autogenerated return type of ExportFeeds.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
run |
Run! |
|
Resolves only for a token carrying xixo:catalog:read.
| Field |
Type |
Description |
analyses |
[Analysis!]! |
|
analyzedAt |
ISO8601DateTime |
|
asked |
Boolean! |
A question someone asked the catalog, answered by its analyses. |
children |
[Feed!]! |
What was extracted from it — the attachments of a message, the files of an archive. |
connected |
[Feed!]! |
|
connectedCount |
Int! |
|
createdAt |
ISO8601DateTime! |
|
details |
[Detail!]! |
Everything its last analysis read out of it that has a name and a value, such as embedded metadata, dimensions, and document info, grouped by where it came from. |
expiresAt |
ISO8601DateTime |
When it is forgotten, unless it is kept. Null for a feed that lasts forever. |
id |
ID! |
|
key |
String! |
Its name within its type — README.md, text/markdown, /buy. |
mime |
String |
The content type of the bytes, when it has any. |
mimes |
[Feed!]! |
The content types it was filed under, as feeds of their own. |
note |
String |
What you wrote about it, in your own words. |
origin |
String! |
resource when synced from one, feed when an analysis minted it. |
parent |
Feed |
The file it was extracted from, when it was. |
references |
[Reference!]! |
|
schedule |
Schedule |
|
staged |
Boolean! |
Uploaded, and still waiting for the pass to decide where it is stored. |
summary |
String |
What a model made of it, or until one has, the start of the text read out of it. |
tags |
[Feed!]! |
The tags it is filed under: those a person or agent chose, and those its analysis found in it. The tags most items share come first. |
thumbnailUrl |
String |
|
timeAllowed |
Int! |
Seconds an analysis of it may run before it is cut off, unless the agent asks for more, and never more than a day. |
timeout |
Int |
Seconds an analysis of it may run, when someone set it. Null gets the default. |
title |
String |
|
type |
String! |
What it is, and how it renders: xixo:file, xixo:note, xixo:address, xixo:tag, xixo:mime. |
Autogenerated return type of FeedAnalyzed.
| Field |
Type |
Description |
hasMore |
Boolean! |
|
nextCursor |
ID |
|
nodes |
[Feed!]! |
|
total |
Int |
How many match altogether, where the source can count them. A search can; walking the catalog by cursor cannot. |
Autogenerated return type of FetchUrl.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
run |
Run! |
|
Autogenerated return type of ForgetFeed.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
forgotten |
Boolean! |
|
places |
Int! |
How many places it lived that xixo stopped pointing at. |
Autogenerated return type of NoteFeed.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Autogenerated return type of PauseFeed.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Resolves only for a token carrying xixo:catalog:read.
| Field |
Type |
Description |
analyzedAt |
ISO8601DateTime |
|
changedAt |
ISO8601DateTime |
|
contentType |
String! |
|
contentUrl |
String! |
|
digest |
String |
The SHA-256 of its bytes, once xixo has read them. Places with the same digest and owner are one item. |
filename |
String! |
|
goneAt |
ISO8601DateTime |
When a sync of its resource last walked everything and did not find it. |
hiresUrl |
String |
The large image rendered from it, no longer on its longest edge than the hi-res size setting. |
id |
ID! |
|
locator |
JSON! |
|
locatorKey |
String |
|
mime |
String |
|
resource |
Resource! |
|
role |
String! |
|
size |
BigInt |
|
thumbnailUrl |
String |
|
version |
String |
|
Autogenerated return type of RenameFeed.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Resolves only for a token carrying xixo:resources:read.
| Field |
Type |
Description |
archivedAt |
ISO8601DateTime |
|
capabilities |
[String!]! |
|
changeable |
Boolean! |
Whether it has a form to change. A type xixo makes for itself does not. |
checkError |
String |
|
checkedAt |
ISO8601DateTime |
|
connectUrl |
String |
Where to send the browser to connect it, for a resource that connects through masks. |
connectedBy |
String |
The subject of whoever connected it. |
defaultInference |
Boolean! |
|
defaultStorage |
Boolean! |
|
delegated |
Boolean! |
Whether it reaches somebody’s account elsewhere through masks. |
healthy |
Boolean! |
|
heldCredentials |
[String!]! |
The names of the encrypted fields that hold something, so a form can say one is set without saying what it is. |
id |
ID! |
|
itemsCount |
Int! |
|
key |
String! |
|
name |
String |
|
needsConnect |
Boolean! |
Whether somebody has to connect it through masks, or connect it again, before it answers. |
nextSyncAt |
ISO8601DateTime |
|
personal |
Boolean! |
Whether only the person who attached it can see and use it. |
routable |
Boolean! |
Whether it can be reached through a transport, such as a tailnet. |
settings |
JSON! |
What each field the type declares holds, for the fields kept in the clear. Nothing held encrypted is ever read back. |
syncInterval |
Int |
|
syncable |
Boolean! |
Whether it enumerates what it holds. One that does not, like a browser, can neither be synced nor kept on a schedule. |
syncedAt |
ISO8601DateTime |
|
syncing |
Boolean! |
|
type |
String! |
|
via |
String |
The key of the transport it is reached through. Empty for a resource reached directly. |
Resolves only for a token carrying xixo:catalog:read.
| Field |
Type |
Description |
createdAt |
ISO8601DateTime! |
|
deadline |
ISO8601DateTime |
|
error |
String |
|
finishedAt |
ISO8601DateTime |
|
id |
ID! |
|
kind |
String! |
|
lines |
Int! |
How many log lines this run has written. |
logs |
String |
Everything the run has logged so far, newest last. |
processed |
Int! |
|
resource |
Resource |
|
selector |
JSON! |
|
startedAt |
ISO8601DateTime |
|
status |
String! |
|
Autogenerated return type of RunFeed.
| Field |
Type |
Description |
analysis |
Analysis! |
|
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
| Field |
Type |
hasMore |
Boolean! |
nextCursor |
ID |
nodes |
[Run!]! |
Autogenerated return type of RunProgressed.
Autogenerated return type of SaveFeed.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed |
|
Resolves only for a token carrying xixo:catalog:read.
| Field |
Type |
Description |
id |
ID! |
|
interval |
Int |
Seconds between runs. Null when it only runs by hand. |
nextRunAt |
ISO8601DateTime |
|
pausedAt |
ISO8601DateTime |
|
prompt |
String! |
|
ranAt |
ISO8601DateTime |
|
scheduled |
Boolean! |
|
turns |
Int |
|
Autogenerated return type of SetDefaultInference.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
resource |
Resource! |
|
Autogenerated return type of SetDefaultStorage.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
resource |
Resource! |
|
Autogenerated return type of SetFeedLifetime.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Autogenerated return type of SetFeedTimeout.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Autogenerated return type of SetSetting.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
setting |
Setting! |
|
Autogenerated return type of SetSyncInterval.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
resource |
Resource! |
|
| Field |
Type |
allowed |
[String!]! |
defaultValue |
String! |
key |
String! |
label |
String! |
level |
String! |
note |
String |
value |
String! |
Autogenerated return type of SnapshotUrl.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
run |
Run! |
|
Autogenerated return type of SplitReference.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feed |
Feed! |
|
Autogenerated return type of SyncResource.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
resource |
Resource! |
|
run |
Run |
|
Autogenerated return type of TagFeeds.
| Field |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feeds |
[Feed!]! |
The items after the change. |
| Field |
Type |
id |
ID! |
name |
String! |
subdomain |
String! |
| Field |
Type |
count |
Int! |
type |
String! |
Autogenerated return type of UpdateResource.
| Field |
Type |
Description |
checkError |
String |
What the check after the change said, if it did not pass. |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
resource |
Resource! |
|
Autogenerated input type of AddNote
| Argument |
Type |
Description |
body |
String! |
|
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
title |
String |
Left off, the first line of the note names it. |
Autogenerated input type of AnalyzeFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of ArchiveResource
| Argument |
Type |
Description |
archived |
Boolean! |
Put it away, or bring it back. |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of AskCatalog
| Argument |
Type |
Description |
aboutId |
ID |
An item the question is about. The answer starts from it, and the note is connected to it. |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
feedId |
ID |
A note already asked. The question follows on from what it was asked before. |
question |
String! |
|
Autogenerated input type of AttachResource
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
key |
String! |
|
name |
String |
|
personal |
Boolean |
Only whoever attaches it can see and use it. Left off, everyone here can. |
settings |
JSON |
One entry per field the type declares. Anything else is dropped. |
type |
String! |
|
via |
String |
The key of a transport to reach it through, such as a tailnet. Left off, it is reached directly. |
Autogenerated input type of CancelAnalysis
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
The analysis to stop. It can be queued or running. |
Autogenerated input type of CancelRun
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of CheckResource
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of ConnectFeeds
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
connected |
Boolean |
False severs the edge instead of making it. |
id |
ID! |
|
otherId |
ID! |
|
Autogenerated input type of DeleteFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of ExportFeeds
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
destinationId |
ID |
Where to write. Left off, this tenant’s default storage. |
query |
String |
|
resourceId |
ID |
|
type |
String |
|
Autogenerated input type of FetchUrl
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
url |
String! |
|
Autogenerated input type of ForgetFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of NoteFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
note |
String |
Left off or blank, whatever was there is cleared. |
Autogenerated input type of PauseFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
paused |
Boolean! |
|
Autogenerated input type of RenameFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
title |
String! |
|
Autogenerated input type of RunFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of SaveFeed
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID |
Left off, a feed is created. |
interval |
Int |
Seconds between runs. Zero or null runs it only by hand. |
key |
String |
Its address, as /buy. |
prompt |
String |
|
timeout |
Int |
Seconds an analysis of it may run, from a minute to a day. Null gets the default. |
title |
String |
|
turns |
Int |
|
Autogenerated input type of SetDefaultInference
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of SetDefaultStorage
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of SetFeedLifetime
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
lasts |
String |
“forever”, or how many days from now it lasts before it is forgotten. Left off, forever. |
Autogenerated input type of SetFeedTimeout
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
seconds |
Int |
How long an analysis of it may run, from a minute to a day. Left off, it gets the default. |
Autogenerated input type of SetSetting
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
key |
String! |
|
value |
String! |
|
Autogenerated input type of SetSyncInterval
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
seconds |
Int |
How often to sync. Left off, the resource syncs only when asked. |
Autogenerated input type of SnapshotUrl
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
url |
String! |
|
Autogenerated input type of SplitReference
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
The reference to move to a feed of its own. The new feed carries the old one’s connections and note, and stays apart from references with the same bytes until its own bytes change. |
Autogenerated input type of SyncResource
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
Autogenerated input type of TagFeeds
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
ids |
[ID!]! |
The items to change, up to 200. |
tag |
String! |
The name of the tag. Underscores read as spaces, runs of whitespace collapse to one, case is ignored, and a tag that does not exist yet is created. |
tagged |
Boolean |
Set to false to remove the tag from the items. It defaults to true. |
Autogenerated input type of UpdateResource
| Argument |
Type |
Description |
clientMutationId |
String |
A unique identifier for the client performing the mutation. |
id |
ID! |
|
name |
String |
|
settings |
JSON |
One entry per field the type declares. A secret left empty keeps what it held. |
via |
String |
The key of a transport to reach it through. An empty string reaches it directly, and leaving it off keeps what it had. |
Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it’s encoded as a string.
A scalar, serialized as a string.
An ISO 8601-encoded datetime
A scalar, serialized as a string.
Represents untyped JSON
A scalar, serialized as a string.