manifest field when you create or update a context, then curate.
Artifact and edge types
A manifest’scurate.artifacts section holds your artifact types and edge types:
- An artifact type has a
name, akind(its built-in shape, see artifact kinds), ascope(corpusfor one artifact per subject across the corpus, ordocumentfor one per source), and adescriptionthat steers extraction. Optionally,coveragelists the points the extraction must address. A type defaults to themarkdownformat. See artifact formats for thesqlitetable format. - An edge type has a
name, thefromandtoartifact types it connects, adescription, and optionalattributesrecorded on each edge. Edges turn the artifacts into a graph the query agent can traverse.
kind sets what an artifact represents and how it’s extracted. The name is your label for that type. A corpus can mix kinds: a per-document summary, corpus-wide topic and entity types, and dated event types, linked by edges.
Author it through the API
These steps use the data-plane base URL and session token from Authentication. The manifest here is a general concept-and-entity design: a per-document note, corpus-wide concepts and entities, and an edge linking them.1
Create the context with your manifest
Send the manifest in the
manifest field when you create the context. To apply it to an existing context instead, use PUT /contexts/{slug} with the same body.curl
2
Add sources
Curation needs sources. Upload files or import from a connector, then confirm at least one source is staged. See the quickstart for adding sources.
3
Curate
Curation executes the manifest against the sources, building your artifact and edge types:An empty body runs an incremental curate. After a later manifest change, pass
curl
{"force": true} to rebuild everything under the new manifest. Curation runs as a background task, so query the context once it finishes. See How curation works.4
Query the context
Query the context to see the artifacts and edges curation built:
curl
More example manifests
Each of these is acurate.artifacts manifest for a different corpus. Send one in the manifest field the same way, and adjust the types to your own documents.
Contracts, obligations, and key dates
Contracts, obligations, and key dates
Shows the
event kind, a coverage list on a type, and edge attributes.Papers and citations
Papers and citations
Shows a per-document summary and a self-referential edge (a paper cites another paper).
Code and technical docs
Code and technical docs
Shows a dependency graph: a self-referential
depends_on edge, plus edge attributes.Tune the design
Beyond the basics, a few fields shape how thoroughly curation builds each type:coverage(per type): The points the extraction must address wherever a source speaks to them. Use it to make a type consistent and thorough.scope(per type): Setdocumentfor one artifact per source, which suits summaries and notes, orcorpusto fold mentions from across every source into one artifact per subject, which suits entities and themes.attributes(per edge): Extra values recorded on each edge, such as aroleon aparty_toedge or avalueon a metric edge.min_doc_count(oncurate.artifacts, or overridden per type): How many sources must mention a corpus subject before it earns its own artifact. Raise it to suppress one-off mentions.
sqlite table format, its columns, and its upsert natural_key, see artifact formats.
Revise a manifest
To change a context’s manifest after it’s curated:- Send the full updated manifest with
PUT /contexts/{slug}. - Run a forced curate,
POST /contexts/{slug}/curatewith{"force": true}, so the change reaches the index.
GET /contexts/{slug}/manifest.