canonical: https://jentic.com/apis/harvis.dev/harvis

# harvis.dev API

The Harvis API hosts static sites and deploys files to them over HTTP. An agent lists and creates sites, replaces every file of a site in one deploy or adds and overwrites individual files, renames a site or changes its web address, and imports a single page from a known source. It also reads a site's form submissions, exports them as CSV, marks them read, and manages the account's API keys and per-site deploy tokens.

## For AI agents

Create and manage static sites, deploy files or a zip to them, rotate deploy tokens, and read, export, and mark a site's form submissions.

## Scope

Does not handle domain registration, server-side runtimes, or builds from a source repository. Use for hosting static sites, deploying files, and reading form submissions only.

## Capabilities

- Create sites and list the account's sites newest first
- Replace every file of a site in one deploy, or add and overwrite individual files
- Rename a site or change its web address
- Read a site's form submissions, export them as CSV, and mark them read
- Manage account API keys and rotate a site's deploy token

## Use cases

### Programmatic Site Deploys

An agent publishes and updates a static site without a dashboard. It creates the site, deploys the full set of files, and later replaces individual files when only part of the site changes. Because a full deploy and a partial file add are separate operations, the agent picks the cheapest update for each change instead of redeploying everything.

Example prompt: Create a site, deploy its files, then add a single overwritten file without touching the rest of the site

### Form Submission Pipeline

An agent collects and processes the form submissions a hosted site receives. It lists submissions newest first, reads a submission, exports the set as CSV for downstream tools, and marks unread ones as read once handled. Keeping submissions as a per-site resource lets the agent run an inbox-style workflow against each site.

Example prompt: List a site's submissions, export them as CSV, and mark the unread ones as read

### Credential and Token Rotation

An agent keeps a site's deploy credentials current. It lists the account's API keys, creates a new one for a scoped automation, and rotates a site's deploy token so an old token stops working immediately. Running rotation through the API lets an agent respond to a rotation schedule without manual dashboard steps.

Example prompt: Create a new API key, rotate the deploy token for a site, and confirm the site is still reachable

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/v1/sites` | List the account's sites |
| POST | `/api/v1/sites` | Create a site from a folder of files |
| POST | `/api/v1/sites/{id}/deploy` | Replace every file of a site |
| GET | `/api/v1/sites/{id}/submissions` | List a site's form submissions |
| POST | `/api/v1/sites/{id}/deploy-token` | Issue a new deploy token for a site |
| POST | `/api/v1/keys` | Create an API key |

## Key resources

- **Sites** — Create, list, read, update, deploy, import, and delete sites
- **Files** — List a site's files and add or overwrite individual files
- **Submissions** — List, read, export, mark read, and delete a site's form submissions
- **Keys** — List, create, and revoke account API keys and per-site deploy tokens

## 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:** 49 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 99 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 23 / 100
  - Agent Usability: 94 / 100
  - Security: 55 / 100
  - AI Discoverability: 75 / 100
- **View full report:** https://jentic.com/apis/harvis.dev/harvis/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 Harvis by hand means handling its bearer API key, tracking per-site deploy tokens, and choosing between a full deploy and a partial file add. Through Jentic you install once, import Harvis from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Harvis puts the site id in the URL path, so a rule can pin your agent to the deploy and submission operations for one site. You choose the operations it may call, so destructive ones like site deletion or submission purging are not included unless you add them.
- **Credential handling:** Your Harvis 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 'deploy a static site' or 'read form submissions', and Jentic returns the matching Harvis operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Netlify** — Netlify hosts and deploys sites with build pipelines and edge functions.
- **Vercel** — Vercel deploys front-end projects with framework builds and serverless functions.
- **GitHub** — GitHub stores the source repository a site's files are generated from.

## FAQ

### What authentication does the Harvis API use?

Per its OpenAPI spec, the Harvis API accepts a bearer API key, prefixed hvs_, in the Authorization header, or a session cookie for dashboard-originated calls. Through Jentic the bearer key is stored by your own self-hosted instance and injected when the agent calls an operation, so it never appears in the agent's prompt or logs.

### Can I deploy a static site with the Harvis API?

Yes. An agent creates a site, then deploys with an operation that replaces every file of the site, or adds and overwrites individual files to leave the rest in place. There is also a deploy-from-zip operation and a per-site deploy token it can rotate when a credential needs replacing.

### What are the rate limits for the Harvis API?

The OpenAPI spec does not state a numeric rate limit. Add retry and backoff around 429 responses when deploying or polling submissions, and check the Harvis documentation at https://harvis.dev for any published limits.

### Can I limit what my agent is allowed to do with the Harvis API?

Yes. Write a rule that allows the deploy and submission read operations for one site id, so the agent can publish and read submissions for that site while the site-delete and key operations stay out of reach, and every call it makes is logged. Harvis carries the site id in the URL path, which is what makes that per-site boundary possible.

### Is there a Harvis MCP server?

You do not need an MCP server to give your agent the Harvis API. Jentic connects it directly from the Jentic API Directory: import Harvis, store your API key once, and your agent calls the site, deploy, and submission operations on demand without loading another server's tool definitions into its context.

### How do I deploy a site with the Harvis API through Jentic?

Search Jentic by intent such as 'deploy a static site', and Jentic returns the Harvis deploy operation with its input schema so the agent sends the right files. To run it on your own infrastructure, install Jentic One from its GitHub repo with `curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh`, then add Harvis from the directory.
