Skip to content

GraphQL

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
Field Type Needs
addNote
input: AddNoteInput!
AddNotePayload xixo:catalog:write
analyzeFeed
input: AnalyzeFeedInput!
AnalyzeFeedPayload xixo:catalog:write
archiveResource
input: ArchiveResourceInput!
ArchiveResourcePayload xixo:resources:command
askCatalog
input: AskCatalogInput!
AskCatalogPayload xixo:catalog:write
attachResource
input: AttachResourceInput!
AttachResourcePayload xixo:resources:command
cancelAnalysis
input: CancelAnalysisInput!
CancelAnalysisPayload xixo:catalog:write
cancelRun
input: CancelRunInput!
CancelRunPayload xixo:catalog:write
checkResource
input: CheckResourceInput!
CheckResourcePayload xixo:resources:command
connectFeeds
input: ConnectFeedsInput!
ConnectFeedsPayload xixo:catalog:write
deleteFeed
input: DeleteFeedInput!
DeleteFeedPayload xixo:catalog:write
exportFeeds
input: ExportFeedsInput!
ExportFeedsPayload xixo:catalog:write
fetchUrl
input: FetchUrlInput!
FetchUrlPayload xixo:catalog:write
forgetFeed
input: ForgetFeedInput!
ForgetFeedPayload xixo:catalog:write
noteFeed
input: NoteFeedInput!
NoteFeedPayload xixo:catalog:write
pauseFeed
input: PauseFeedInput!
PauseFeedPayload xixo:catalog:write
renameFeed
input: RenameFeedInput!
RenameFeedPayload xixo:catalog:write
runFeed
input: RunFeedInput!
RunFeedPayload xixo:catalog:write
saveFeed
input: SaveFeedInput!
SaveFeedPayload xixo:catalog:write
setDefaultInference
input: SetDefaultInferenceInput!
SetDefaultInferencePayload xixo:resources:command
setDefaultStorage
input: SetDefaultStorageInput!
SetDefaultStoragePayload xixo:resources:command
setFeedLifetime
input: SetFeedLifetimeInput!
SetFeedLifetimePayload xixo:catalog:write
setFeedTimeout
input: SetFeedTimeoutInput!
SetFeedTimeoutPayload xixo:catalog:write
setSetting
input: SetSettingInput!
SetSettingPayload xixo:settings:write
setSyncInterval
input: SetSyncIntervalInput!
SetSyncIntervalPayload xixo:resources:command
snapshotUrl
input: SnapshotUrlInput!
SnapshotUrlPayload xixo:catalog:write
splitReference
input: SplitReferenceInput!
SplitReferencePayload xixo:catalog:write
syncResource
input: SyncResourceInput!
SyncResourcePayload xixo:resources:command
tagFeeds
input: TagFeedsInput!
TagFeedsPayload xixo:catalog:write
updateResource
input: UpdateResourceInput!
UpdateResourcePayload xixo:resources:command
Field Type Needs
analysisProgressed
id: ID
AnalysisProgressedPayload! xixo:catalog:read
feedAnalyzed
id: ID
FeedAnalyzedPayload! xixo:catalog:read
runProgressed
id: ID
RunProgressedPayload! 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.

Field Type
analysis Analysis!

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.
Field Type
hasMore Boolean!
nextCursor ID
nodes [AuditEvent!]!

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
feed Feed!
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.

Field Type
run Run!

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.