canonical: https://jentic.com/apis/turbinelabs.io/turbinelabs

# Turbine Labs API

The Turbine Labs API provides CRUD operations for core object types, and is mostly RESTy. The easiest way to interact with the API is with [tbnctl](https://docs.turbinelabs.io/advanced/tbnctl.html). If you want to make direct HTTP calls, however, you can obtain an access token using tbnctl, and then pass it in the Authorization header, prefixed by `Token `:. The API exposes 44 endpoints secured with apiKey authentication.

## For AI agents

Programmatically returns the user object for the account authorized and making this request., delete the specified access token.. Covers 44 operations with apiKey authentication.

## Scope

Does not handle payments, communications, or crm - use for cloud infrastructure only.

## Capabilities

- Returns the user object for the account authorized and making this request.
- Delete the specified access token.
- Creates a new Access Token and associates it with the authenticated user.
- Lists Access Tokens that are configured for the authenticated user.
- Allows an arbitrary filter to be specified and applied to the org\'s change log.
- get changes related to the indicated cluster

## Use cases

### Cloud Infrastructure Operations

Use the Turbine Labs API to perform cloud infrastructure operations programmatically. The API provides 44 endpoints covering core functionality including returns the user object for the account authorized and making this request., delete the specified access token., creates a new access token and associates it with the authenticated user..

Example prompt: Call GET `/admin/user/self` to returns the user object for the account authorized and making this request.

### Automated Zone Management

Automate zone operations by combining multiple Turbine Labs API endpoints. Agents can delete the specified access token. and then creates a new access token and associates it with the authenticated user. in a single workflow.

Example prompt: Call DELETE `/admin/user/self/access_token/{access-token-key}` to delete the specified access token., then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Turbine Labs API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle apiKey tokens manually.

Example prompt: Search Jentic for 'returns the user object for the account authorized and making this request.', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/admin/user/self` | Returns the user object for the account authorized and making this request. |
| DELETE | `/admin/user/self/access_token/{access-token-key}` | Delete the specified access token. |
| POST | `/admin/user/self/access_tokens` | Creates a new Access Token and associates it with the authenticated user. |
| GET | `/admin/user/self/access_tokens` | Lists Access Tokens that are configured for the authenticated user. |
| GET | `/changelog/adhoc` | Allows an arbitrary filter to be specified and applied to the org\'s change log. |
| GET | `/changelog/cluster-graph/{clusterKey}` | get changes related to the indicated cluster |
| GET | `/changelog/domain-graph/{domainKey}` | get changes related to the indicated domain |
| GET | `/changelog/route-graph/{routeKey}` | get changes related to the indicated route |

## Key resources

- **Zone** — A logical deployment of services, which typically maps to a datacenter, availability zone, or comput
- **Proxy** — A configuration that can be applied to one or more running Proxies serving one or more Domains.
- **Listener** — An interface and port a Proxy will listen on
- **Domain** — A served hostname and port.
- **Route** — A served path within a Domain.

## 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:** 54 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 64 / 100
  - AI-Readiness & Agent Experience: 30 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 62 / 100
- **View full report:** https://jentic.com/apis/turbinelabs.io/turbinelabs/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 Turbine Labs API by hand means setting its Authorization key header, tracking cluster, domain, and route keys across calls, and handling errors and retries yourself. Through Jentic you install once, import Turbine Labs API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Turbine Labs API puts resource keys in the URL path (`/changelog/cluster-graph/{clusterKey}`, `/changelog/route-graph/{routeKey}`), so a rule can pin your agent to one cluster or route: it can read that resource's changelog graph and nothing else. You choose the operations it may call, so deleting an access token is not included unless you add it.
- **Credential handling:** Your Turbine Labs 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 'read the current user' or 'get a cluster's changelog graph', and Jentic returns the matching Turbine Labs API operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Amazonaws** — Alternative cloud infrastructure API
- **Azure** — Alternative cloud infrastructure API
- **Googleapis** — Complementary cloud infrastructure API
- **Digitalocean** — Complementary cloud infrastructure API

## FAQ

### What authentication does the Turbine Labs API use?

The Turbine Labs API uses an API key passed in the `Authorization` header. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I returns the user object for the account authorized and making this request. with the Turbine Labs API?

Yes. Use the GET `/admin/user/self` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Turbine Labs API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I returns the user object for the account authorized and making this request. through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'returns the user object for the account authorized and making this request.'. Jentic returns the matching Turbine Labs API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Turbine Labs API have?

The Turbine Labs API exposes 44 endpoints covering zone, proxy, listener operations.

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

Yes. Jentic One runs on your own infrastructure, so your rules decide which Turbine Labs operations and credentials the agent may use. Because the API puts resource keys in the URL path, such as `/changelog/cluster-graph/{clusterKey}` and `/changelog/route-graph/{routeKey}`, you can pin the agent to reading one cluster's or route's changelog graph and nothing else. You choose the operations it may call, so an action like DELETE `/admin/user/self/access_token/{access-token-key}` is excluded unless you explicitly grant it.
