Skip to main content

Manifests

A manifest is a named, typed, versioned record that holds structured JSON data, optionally with a JSON Schema the data must satisfy. Use manifests for information that has to be exact rather than approximately retrieved: escalation thresholds, a classification taxonomy, a price list, a register of risks, controls or suppliers, configuration an agent should follow.

You manage manifests under Platform → Manifests.

What uses manifests​

ConsumerHow
AgentsA function that reads manifests (for example by name or by search) gives an agent the exact values on demand. Manifest lookups are available to developers as platform operations and tools: get_manifest, get_manifest_by_name, search_manifests, list_manifests
Knowledge basesAdd Manifest on a knowledge base writes the manifest out as text and ingests it, so it is searchable next to your documents. See Knowledge Bases
DashboardsThe manifests_by_type internal query turns every manifest of one type into a table row (its data plus identity fields), and manifest_counts counts manifests by type or by a field's value. See Data Sources
MarketplacePublished stacks can include manifests, which are installed into your project with the rest of the stack

Because many records of one type share a shape, a common pattern is one manifest per record (one per risk, control or supplier), all with the same Type and schema, read together through manifests_by_type.

Fields​

FieldNotes
Manifest NameRequired. Agents and the API can look a manifest up by name
TypeA category of your choosing, such as policy, taxonomy or supplier. Used for filtering, search and the manifest internal queries
VersionFree text, for example 2.1
PathFolder in the manifest library tree. Set by dragging the manifest between folders, or by typing it
Documentation PathA link to related documentation
DescriptionWhat the manifest contains
PurposeWhat it is for and who relies on it
Parameters (JSON)A JSON object of settings that go with the data
Data (JSON)The content itself, as a JSON object
Manifest Schema (JSON)Optional JSON Schema the data must satisfy
Tags (comma-separated)For organising and search
VariablesFree text
Icon (Base64)An encoded icon image
ExamplesFree text examples of use

A manifest also has a title field that can be set through the API.

Schema enforcement​

When a manifest has a Manifest Schema, its Data must satisfy it. Creating or updating a manifest whose data does not satisfy its schema (or whose schema is not valid JSON Schema) is refused, and the API response lists each failing path. A manifest without a schema accepts any data.

The Definition tab shows the result: Data against its schema says whether the data satisfies its schema or does not match its schema, with a table of each problem's location. Findings also flag a manifest with no schema, an unreadable schema, a schema with no data, and data that fails its schema (possible for manifests saved before enforcement).

How updates combine​

An update merges Data, Parameters and Manifest Schema into what is stored, one top-level key at a time: keys you send replace the stored ones, and keys you do not send are kept. This protects a manifest when a caller updates one field. It also means deleting a top-level key in the editor does not remove it; remove it through the API with replace_json=true, which replaces the whole object.

Every change is recorded as a revision.

The manifest page​

Selecting a manifest opens four tabs:

TabShows
OverviewA summary of the manifest
DefinitionSchema validation, Findings and Identity (type, version, path, whether a schema and data are present)
ConsumersThe knowledge bases that have ingested this manifest, with how many documents each holds
DetailsThe editable fields, with Delete, Cancel, Copy and Update

Copy creates a duplicate under a new Manifest Name.

Platform manifests​

Manifests published by the platform appear in your list alongside your own and can be read but not edited. A project that has opted out of platform-managed resources does not see them. When an agent looks a manifest up by name, your project's own manifest takes precedence over a platform manifest of the same name. Platform administrators publish manifests as templates, and Marketplace stacks can install manifests into your project; see Templates.

Through the API​

Manifests are available under /manifests (including GET /manifests/by-name/{name}, POST /manifests/search, GET /manifests/{id}/validation and /consumers) and through the platform tools listed above plus create_manifest, update_manifest, delete_manifest and get_manifest_schema.

Example​

A manifest of escalation rules, with a schema that keeps the thresholds numeric:

{
"name": "support-escalation-rules",
"type": "policy",
"version": "2.1",
"data": {
"refund_manager_threshold_nzd": 500,
"senior_transfer_sentiment": "angry",
"first_response_minutes": 2
},
"manifest_schema": {
"type": "object",
"required": ["refund_manager_threshold_nzd", "first_response_minutes"],
"properties": {
"refund_manager_threshold_nzd": { "type": "number" },
"senior_transfer_sentiment": { "type": "string" },
"first_response_minutes": { "type": "integer" }
}
}
}