canonical: https://jentic.com/apis/foreman.mn/foreman

# Foreman Mn Foreman API

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.

## For AI 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.

## Scope

Does not handle mining pool payouts, wallet management, or coin trading. Use for mining hardware monitoring and fleet management only.

## Capabilities

- 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
- Pull firmware manufacturers and versions and the supported ASIC and GPU systems
- Create reports and support tickets for a client

## Use cases

### 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.

Example prompt: 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.

Example prompt: 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.

Example prompt: Change the mining pools and power mode for a set of miners, then read their status to confirm the change applied

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/clients/{clientId}/miners/summary` | Get summary status for all miners in a client |
| GET | `/clients/{clientId}/miners/{minerId}` | Get detailed status for a miner |
| POST | `/actions/reboot/{minerId}` | Reboot a miner |
| POST | `/actions/change-pools/{minerId}` | Change a miner's mining pools |
| POST | `/actions/power-mode/{minerId}` | Change a miner's power mode |
| POST | `/curtailment/{clientId}/plans` | Create a curtailment plan |
| POST | `/curtailment/plans/{planId}/run` | Run a curtailment plan |

## Key resources

- **Miners** — Create, read, enable, disable, move, delete, and summarise miners within a client
- **Actions** — Run remote actions: reboot, change pools, power mode, network config, overclock, and blink
- **Curtailment** — Create, edit, run, cancel, and revert curtailment plans and runs
- **Clients** — Create, read, update, and delete clients and read their groups and pickaxes
- **Site Map** — Read groups and racks and set a miner's site-map location
- **Firmware & Systems** — List firmware manufacturers and versions and supported ASICs and rigs

## AI readiness

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.

- **Score:** 50 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 63 / 100
  - Developer Experience & Jentic Compatibility: 70 / 100
  - AI-Readiness & Agent Experience: 28 / 100
  - Agent Usability: 83 / 100
  - Security: 50 / 100
  - AI Discoverability: 61 / 100
- **View full report:** https://jentic.com/apis/foreman.mn/foreman/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **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 handling:** 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.
- **Discovery method:** 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.

## Related APIs

- **balena** — Fleet management and remote control for connected Linux devices
- **Particle** — IoT device management with remote functions and telemetry
- **Golioth** — Device management, firmware updates, and telemetry for IoT fleets
- **Blockchain.com** — Blockchain and cryptocurrency market data

## FAQ

### 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.
