Skip to main content

mantos

The command-line client for Mantos — reach your tenant's API from a terminal, a CI job, a container, or an agent session.

pipx install mantos     # or: pip install mantos

One environment variable

A Mantos API key carries its own tenant slug, so the key is the whole configuration:

export MANTOS_API_KEY=mtk_<tenant>_<keyid>_<secret>

mantos env list
mantos agent list --env dev

There is nothing else to set — no host, no tenant, no profile. Mint a key in the Mantos console (Settings → API keys); the secret is shown once, at mint, and is not recoverable afterwards.

Most commands read one environment. Export MANTOS_ENV to stop typing --env; the flag still wins where you pass it.

Commands

Objects are singular, and the verb comes last — mantos <object> <verb>.

mantos env      list | get SLUG
mantos agent    list | get AGENT_ID           --env
mantos skill    list | get SKILL_ID           --env
mantos history  list | get RECORD_ID          --env
mantos audit    list
mantos knowledge base      list | get BASE_ID
mantos knowledge reference list | get REFERENCE_ID

mantos auth status
mantos config  show | set-host HOST
mantos api     METHOD PATH [--field K=V] [--raw-field K=V]

Every command takes --json and --timeout S. Run mantos <object> --help for the filters a list accepts — --status, --since, --limit and so on, which differ by object because they are exactly what the API accepts there.

Lists print a table for a person; --json prints the response body unaltered, on one line, for a parser. Nothing the table renderer does can reach that output.

mantos auth status asks the server who your key is — its tenant, the person whose authority it carries, when it expires, and what it was granted. Unlike config show, which reads your shell, it catches a key that is revoked, expired, or whose owner was deactivated.

The escape hatch

The curated commands cover reading. mantos api reaches any tenant API path directly, including everything that writes:

mantos api GET  api/tenant/v1/skills
mantos api POST api/tenant/v1/knowledge/bases --field name=Support \
           --field root_topic=Onboarding

PATH includes any query string, and a leading slash is optional — on Git Bash, omitting it avoids the shell rewriting the argument into a Windows filesystem path before the CLI sees it.

--field K=V builds a JSON body, parsing V as JSON when it parses and sending it as a string when it does not; --raw-field always sends a string. Neither is accepted on GET or HEAD, where the API takes no body — silently dropping a field would let you believe a filter was applied that never was.

Output, so a parser and a person can both read it

The answer is the only thing written to stdout — the response body, or the table a list renders. The status line for a failure goes to stderr, and so does anything that is commentary rather than data: No results., and the hint naming the --cursor to pass for the next page. Pipe stdout straight into jq without stripping anything, and still see why a call went red.

Exit codes

Code Meaning
0 The request succeeded (2xx).
1 The request was made and did not succeed — any non-2xx other than 401, plus a transport failure.
2 The invocation was wrong, or MANTOS_API_KEY is not set. Nothing was sent.
3 The credential was not accepted (401).

A 403 is 1, not 3. Authenticated-but-refused is a different fact from credential-rejected: a key whose grants are narrower than its owner's authority is supposed to be refused inside a scope it only partly holds, and that is the authorization gate working rather than a broken key.

Host resolution

MANTOS_HOST › the tenant named by the key › a host stored with mantos config set-host.

The environment variable wins so a support session, a smoke test, or a one-off against another deployment needs no stored state and leaves none behind. A stored host is the last resort precisely because it is invisible: a pin left behind by an earlier session must not silently outrank the credential in front of it.


Mantos is a product of Systematic Labs LLC. This client talks to a deployed Mantos tenant over HTTPS and contains no server code.

Release files for mantos 0.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mantos 0.15.0
File Size Uploaded
mantos-0.15.0.tar.gz 193.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mantos 0.15.0
File Interpreter ABI Platform
mantos-0.15.0-py3-none-any.whl Python 3 none any Details

Total release size: 393.8 kB

Release files / mantos-0.15.0.tar.gz

Download URL mantos-0.15.0.tar.gz
Size 193.0 kB
Tags Source
SHA-256 checksum
How to use checksums
8777bcf7e0ed3a8b484811dd9e68b9a366fd18e7262f08ca5a8c8ed5d7319c6b
BLAKE2b-256 checksum
How to use checksums
82660a09aeb2eeed43852ff6b931f844a3e3098cede773bb601421abb1248f95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / mantos-0.15.0-py3-none-any.whl

Download URL mantos-0.15.0-py3-none-any.whl
Size 200.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
48136360f6ab348e5b8cf5bdf8098192ad527b173c646e3a91e69629b25b9ba3
BLAKE2b-256 checksum
How to use checksums
fa50292d3f5780e91f1b5227be4651178ba244efb20a47232d7f4e48ce8fc5a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.23.1

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

This release

0.15.0 This release

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page