canonical: https://jentic.com/apis/cohesivity.ai/cohesivity

# Cohesivity Agent Control API

The Cohesivity Agent Control API bootstraps tenants and manages their resources for agent-run projects. It creates 72-hour ephemeral tenants, provisions and tears down tenant resources by name, and reads a tenant's resources, runtime, billing, and limits in one status call. It also issues one-click human approval URLs for sensitive actions, polls a wait descriptor for long-running work, and reads account-wide usage observability.

## For AI agents

Bootstrap ephemeral tenants, provision and tear down tenant resources, read a tenant's status and limits, issue human approval URLs, and poll for long-running actions. Reads account-wide usage observability across tenants.

## Scope

Does not run your agent's business logic, host application code, or store end-user data. Use for Cohesivity tenant bootstrap, resource provisioning, and status only.

## Capabilities

- Create a 72-hour ephemeral tenant to bootstrap a project
- Provision one or many tenant resources
- Tear down a single tenant resource by name
- Read a tenant's resources, runtime, billing, and limits
- Create a one-click human approval URL for a sensitive action
- Poll a wait descriptor for a long-running agent action
- Read account-wide tenant and usage observability

## Use cases

### Agent Bootstraps an Ephemeral Tenant

An AI agent connected to the Cohesivity Agent Control API can stand up a short-lived workspace to run a project. It creates a 72-hour ephemeral tenant with the genesis endpoint, then provisions the resources the project needs, so the agent gets an isolated environment that expires on its own instead of leaving infrastructure behind. The status endpoint lets the agent confirm what was provisioned.

Example prompt: Create a 72-hour ephemeral tenant, provision the resources it needs, and read the tenant status to confirm they are ready

### Resource Provisioning and Teardown

The Cohesivity Agent Control API provisions tenant resources one at a time or in a batch and tears a single resource down by name. An agent managing a project can add a resource when a step needs it and remove it when the step is done, keeping a tenant's footprint matched to the work in progress rather than provisioning everything up front.

Example prompt: Provision the resource named cache for the tenant, then tear it down by name once the job completes

### Human Approval Before a Sensitive Action

Some actions should pause for a person. The Cohesivity Agent Control API creates a one-click human approval URL, so an agent can generate the link, surface it to the owner, and poll the wait descriptor until the action is approved or denied. This keeps a human in the loop for sensitive steps without the agent blocking on a side channel.

Example prompt: Create a human approval URL for a sensitive action, present it to the owner, and poll the wait descriptor until it resolves

### Tenant Status and Usage Observability

Operators need to know what each tenant is running and spending. The Cohesivity Agent Control API reads a single tenant's resources, runtime, billing, and limits, and reads account-wide observability across every tenant. An agent can poll these to report usage, flag a tenant near its limits, and keep an inventory of what is provisioned without a dashboard.

Example prompt: Read account-wide observability and return every tenant that is approaching its provisioned limits

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/genesis` | Create a 72-hour ephemeral tenant |
| POST | `/api/resources` | Provision multiple tenant resources |
| POST | `/api/resources/{resourceName}` | Provision one tenant resource |
| DELETE | `/api/resources/{resourceName}` | Tear down one tenant resource |
| GET | `/api/status` | Read tenant resources, runtime, billing, and limits |
| POST | `/api/claim/url` | Create a one-click human approval URL |
| GET | `/api/wait` | Poll a Cohesivity wait descriptor |
| GET | `/api/observability` | Read account-wide tenant and usage observability |

## Key resources

- **Bootstrap** — Create a 72-hour ephemeral tenant to start a project
- **Resources** — Provision one or many tenant resources and tear a single resource down by name
- **Tenant** — Read tenant status and limits, create a human approval URL, and poll a wait descriptor
- **Discovery** — Check front-door liveness and read account-wide tenant and usage observability

## 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:** 67 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 82 / 100
  - Developer Experience & Jentic Compatibility: 67 / 100
  - AI-Readiness & Agent Experience: 49 / 100
  - Agent Usability: 94 / 100
  - Security: 58 / 100
  - AI Discoverability: 74 / 100
- **View full report:** https://jentic.com/apis/cohesivity.ai/cohesivity/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 the Cohesivity Agent Control API by hand means handling a management API key in the Authorization header, a separate wait token, and the optional OAuth 2.1 PKCE flow, and knowing which operations are open. Through Jentic you install once, import Cohesivity from the API Directory, store the management key once, and your agent calls it.
- **Permission scoping:** Cohesivity puts the resource name in the URL path (`/api/resources/{resourceName}`) and the management key is scoped to one tenant, so a rule can pin your agent to that tenant and the operations you pick: it can read status and provision resources without the teardown operation. You choose the operations it may call, so DELETE `/api/resources/{resourceName}` is not included unless you add it.
- **Credential handling:** Your Cohesivity management 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 'provision a tenant resource' or 'read tenant status', and Jentic returns the matching Cohesivity operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Render** — Provisions and deploys app services on a managed platform rather than agent-scoped ephemeral tenants.
- **Vercel** — Provisions deployments and projects for frontend apps rather than general tenant resources.
- **Akeyless** — Stores and rotates the secrets a provisioned Cohesivity tenant's resources need.
- **E2B** — Code execution sandboxes an agent can run inside a Cohesivity-provisioned tenant.

## FAQ

### What authentication does the Cohesivity Agent Control API use?

The Cohesivity Agent Control API uses several schemes per its OpenAPI spec. Most management operations take a management API key sent in the Authorization header as the literal value Bearer coh_man_ from the tenant .cohesivity file. Creating an ephemeral tenant, the health check, and the OAuth endpoints are open, the wait endpoint takes a wait token, and account access can use OAuth 2.1 with PKCE. Through Jentic the management key is stored once by your own self-hosted instance and injected at call time, so it never sits in your agent's prompt or logs.

### Is there a Cohesivity MCP server?

Yes - Cohesivity runs a public MCP server for its documentation and management. You can also connect the Cohesivity Agent Control API directly through Jentic: your agent gets the full 17-endpoint surface, including the tenant provisioning and status operations, without loading another server's tool definitions into its context, your management key is injected at call time by your self-hosted instance, and your rules decide which operations the agent may call.

### Can I limit what my agent is allowed to do with the Cohesivity Agent Control API?

Yes. Write a rule that allows only the status read and resource-provisioning operations for one tenant, so the agent can bootstrap and inspect resources but cannot tear anything down or issue approval URLs. Every call it makes is logged, so you can audit exactly what the agent touched.

### Can I provision and tear down tenant resources with the Cohesivity Agent Control API?

Yes. Provision many resources with POST `/api/resources` or one with POST `/api/resources/{resourceName}`, and tear a single resource down with DELETE `/api/resources/{resourceName}.` Read what a tenant is running with GET `/api/status`, which returns its resources, runtime, billing, and limits in one call.

### What are the rate limits for the Cohesivity Agent Control API?

The OpenAPI spec does not specify rate limits for the Cohesivity Agent Control API. The status endpoint reports a tenant's current limits, so an agent can read those and pace its provisioning calls. Check the documentation at https://cohesivity.ai for current account limits.

### How do I provision a tenant resource with the Cohesivity Agent Control API through Jentic?

Search Jentic for 'provision a tenant resource' and it returns the POST `/api/resources/{resourceName}` operation with its input schema. Pass the resource name and its configuration and the agent provisions it. To run it on your own infrastructure, install Jentic One from its GitHub repo.
