Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Foreman API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fforeman.mn%2Fforeman" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fforeman.mn%2Fforeman" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Foreman API.
Monitor miners with summary and group-summary views across a client's fleet
Run remote miner actions: reboot, change pools, set power mode, overclock, and blink LEDs
Schedule load curtailment by creating and running curtailment plans
Enable, disable, move, and delete miners within a client
Organise fleets with tags, custom fields, and site-map rack and group locations
GET STARTED
Pull firmware manufacturers and versions and the supported ASIC and GPU systems
Create reports and support tickets for a client
Patterns agents use Foreman API for, with concrete tasks.
★ Agent-Driven Fleet Monitoring
An AI agent connected through Jentic can watch a mining fleet and act on problems without a developer wiring the Authorization header and client paths. The agent polls the miner summary for a client, identifies miners that are down or underperforming, and reboots or re-pools them. Jentic injects the API key at call time so the credential never reaches the agent.
Fetch the miner summary for a client, find offline miners, and reboot each one, then confirm it reconnected
Scheduled Load Curtailment
Operators managing power contracts can shed mining load on a schedule to meet demand-response events. The agent creates a curtailment plan for a client and runs it when an event starts, then reverts it afterwards. This keeps a site within its agreed power envelope programmatically.
Create a curtailment plan for a client, run it at the start of an event, then cancel or revert the run when it ends
Pool and Power Reconfiguration
When economics shift, operators retune miners across the fleet. The agent changes the mining pools and power mode on selected miners, in bulk where supported, and reads back their status. This lets a profitability bot act on live conditions without a human opening each miner.
Change the mining pools and power mode for a set of miners, then read their status to confirm the change applied
106 endpoints — the foreman api monitors and manages fleets of cryptocurrency mining hardware, from individual asics and gpu rigs up to multi-client sites.
METHOD
PATH
DESCRIPTION
/clients/{clientId}/miners/summary
Get summary status for all miners in a client
/clients/{clientId}/miners/{minerId}
Get detailed status for a miner
/actions/reboot/{minerId}
Reboot a miner
/actions/change-pools/{minerId}
Change a miner's mining pools
/actions/power-mode/{minerId}
Change a miner's power mode
/curtailment/{clientId}/plans
Create a curtailment plan
/curtailment/plans/{planId}/run
Run a curtailment plan
/clients/{clientId}/miners/summary
Get summary status for all miners in a client
/clients/{clientId}/miners/{minerId}
Get detailed status for a miner
/actions/reboot/{minerId}
Reboot a miner
/actions/change-pools/{minerId}
Change a miner's mining pools
/actions/power-mode/{minerId}
Change a miner's power mode
/curtailment/{clientId}/plans
Create a curtailment plan
/curtailment/plans/{planId}/run
Run a curtailment plan
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Foreman by hand means formatting the Authorization header as 'Token <api_key>', threading the client and miner ids through every path, and polling command ids to confirm remote actions, all yourself. Through Jentic you install once, import Foreman from the API Directory, store the key once, and your agent calls it.
Permission scoping
Foreman puts the client and miner ids in the URL path, for example /clients/{clientId}/miners/{minerId}, so a rule can pin your agent to one client's fleet or a single miner. You choose which operations it may call, so destructive actions like rebooting a miner, deleting a miner, or changing its password are not included unless you add them.
Credential isolation
Your Foreman API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'monitor crypto miners' or 'change mining pools', and Jentic returns the matching Foreman operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Foreman API through Jentic.
What authentication does the Foreman API use?
Per its OpenAPI spec, the Foreman API uses an API key sent in the Authorization header, formatted as 'Token <api_key>', with a client id obtained from your Foreman dashboard. Through Jentic the key is stored encrypted by your own instance and injected at call time, so it never reaches the agent.
Is there a Foreman MCP server?
You don't need an MCP server to give your agent Foreman. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls operations like reading a miner summary or rebooting a miner on demand, without loading another server's tool definitions into its context.
Can I limit what my agent is allowed to do with Foreman?
Yes. Write a rule that allows only the read and monitoring operations under one client id, such as the miner summary and detailed status reads, so the agent can watch the fleet but cannot reboot, overclock, or delete a miner unless you add those actions, and every call it makes is logged. This matches a monitoring bot that reports problems without touching the hardware.
Can I reboot miners remotely with the Foreman API?
Yes. Call the reboot action with a miner id to restart it, and the status operation returns a command id you can poll for the action's result. Other remote actions include changing pools, setting power mode, and overclocking supported firmware.
What are the rate limits for the Foreman API?
The OpenAPI spec does not specify rate limits. Check the Foreman documentation at https://dashboard.foreman.mn for current limits before running bulk actions across a large fleet.
How do I monitor and recover miners with the Foreman API through Jentic?
Search Jentic for 'monitor crypto miners', which returns the miner summary and reboot operations with their input schemas. The agent polls the summary for a client, finds offline miners, and reboots them, with your stored key injected at call time. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Know of an official OpenAPI document? Contribute it →
For Agents
Monitor crypto mining fleets, run remote miner actions like reboot and pool changes, schedule curtailment, and organise miners with tags and site maps. Authenticated with an API key in the Authorization header.
Use for: I need to reboot a miner that has gone offline, Monitor the summary status of all miners in a client, Change the mining pools for a miner, Set up a curtailment plan to shed load during peak hours
Not supported: Does not handle mining pool payouts, wallet management, or coin trading. Use for mining hardware monitoring and fleet management only.
The Foreman API monitors and manages fleets of cryptocurrency mining hardware, from individual ASICs and GPU rigs up to multi-client sites. It reads miner summaries and detailed status, runs remote actions such as reboot, pool changes, power-mode changes, and overclocking, and organises fleets with tags, custom fields, and site-map locations. It schedules load curtailment, pulls firmware manufacturers and versions, and creates reports and support tickets. Requests authenticate with an API key sent in the Authorization header using the Token scheme.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>