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 api GET api/tenant/v1/envs/dev/agents
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.
Commands
mantos api METHOD PATH [--field K=V] [--raw-field K=V] [--json] [--timeout S]
mantos config set-host HOST
mantos config show
mantos api reaches any tenant API path directly. 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 response body is the only thing written to stdout. The status line for
a failure goes to stderr. 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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mantos-0.1.0.tar.gz.
File metadata
- Download URL: mantos-0.1.0.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
038a6a7ef16219093ae781f0ef59709aa1ceae45fb14fb38ce07fce4ab029749
|
|
| MD5 |
47680be03e549db2997f21a868db1f4c
|
|
| BLAKE2b-256 |
07e1e2749cec20b1807e4f0962d8361b7270849b43b5269fd10d3a60ea14a14d
|
Provenance
The following attestation bundles were made for mantos-0.1.0.tar.gz:
Publisher:
release-cli.yml on systematiclabs-llc/mantos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mantos-0.1.0.tar.gz -
Subject digest:
038a6a7ef16219093ae781f0ef59709aa1ceae45fb14fb38ce07fce4ab029749 - Sigstore transparency entry: 2482960168
- Sigstore integration time:
-
Permalink:
systematiclabs-llc/mantos@568138b414021ac8709610f11f8536fcecccc8fa -
Branch / Tag:
refs/tags/cli-v0.1.0 - Owner: https://github.com/systematiclabs-llc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-cli.yml@568138b414021ac8709610f11f8536fcecccc8fa -
Trigger Event:
push
-
Statement type:
File details
Details for the file mantos-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mantos-0.1.0-py3-none-any.whl
- Upload date:
- Size: 23.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66373ef6035db8be0e756ca0431de05a86cc6bf13ed2ce5fd4767abf2bad5552
|
|
| MD5 |
b68270a8a30d5eef70c17a95e79f1b48
|
|
| BLAKE2b-256 |
7969552876fb09ab0b654dcc21afe3000e9e519435458ce00a7b89d5ab4285bf
|
Provenance
The following attestation bundles were made for mantos-0.1.0-py3-none-any.whl:
Publisher:
release-cli.yml on systematiclabs-llc/mantos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mantos-0.1.0-py3-none-any.whl -
Subject digest:
66373ef6035db8be0e756ca0431de05a86cc6bf13ed2ce5fd4767abf2bad5552 - Sigstore transparency entry: 2482960202
- Sigstore integration time:
-
Permalink:
systematiclabs-llc/mantos@568138b414021ac8709610f11f8536fcecccc8fa -
Branch / Tag:
refs/tags/cli-v0.1.0 - Owner: https://github.com/systematiclabs-llc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-cli.yml@568138b414021ac8709610f11f8536fcecccc8fa -
Trigger Event:
push
-
Statement type: