canonical: https://jentic.com/apis/clouddocs.f5.com/f5-ihealth

# Clouddocs F5 F5 iHealth API

Jentic publishes the only available OpenAPI specification for F5 iHealth API, keeping it validated and agent-ready. The F5 iHealth API gives programmatic access to the iHealth diagnostic service: upload QKView files captured from BIG-IP devices, retrieve the diagnostic findings, browse archived files inside each QKView, and run iHealth commands. It is the automation surface for proactive BIG-IP health checks and outage triage.

## For AI agents

Upload QKView files from F5 BIG-IP devices and retrieve diagnostics, file contents, and command results from the iHealth service.

## Scope

Does not configure BIG-IP devices, deploy iRules, or manage license entitlements - use for QKView upload and diagnostic retrieval only.

## Capabilities

- Upload QKView capture files for analysis at /qkviews
- Retrieve diagnostic findings for a QKView at `/qkviews/{qkviewId}/diagnostics`
- Browse and download files contained in a QKView archive
- Run iHealth commands against an uploaded QKView and read their output
- Pull BIG-IP configuration data by category from a QKView
- Authenticate via bearer token issued by the F5 identity service

## Use cases

### Automated BIG-IP Health Triage

Automate the upload-and-analyse loop that F5 administrators run after capturing a QKView during an incident. POST a QKView to /qkviews, poll `/qkviews/{qkviewId}/diagnostics`, and pipe the findings into a ticketing or SRE workflow. Removes the manual upload-via-portal step from the runbook.

Example prompt: POST a QKView file to /qkviews, then poll GET `/qkviews/{qkviewId}/diagnostics` until findings are available and forward to the on-call channel.

### Configuration Audit Across Devices

Capture QKViews from a fleet of BIG-IP devices, upload them, and pull `/qkviews/{qkviewId}/bigip/{category}` for each to compare LTM, ASM, or APM configuration across the estate. Useful for compliance audits and drift detection without logging into each device.

Example prompt: For each QKView ID, GET `/qkviews/{qkviewId}/bigip/ltm` and diff the returned configuration against the golden baseline.

### Targeted File Inspection

Pull individual files out of a QKView for deeper investigation without downloading the whole archive. `/qkviews/{qkviewId}/files` lists the contents and `/qkviews/{qkviewId}/files/{fileId}` returns a specific file. Saves bandwidth when only one log or config is relevant.

Example prompt: GET `/qkviews/{qkviewId}/files`, locate the desired log, then GET `/qkviews/{qkviewId}/files/{fileId}` to download just that file.

### AI Agent BIG-IP Diagnostics

Let a Jentic-powered SRE agent triage a BIG-IP incident. The agent searches Jentic for 'analyse F5 QKView', loads the iHealth uploadQkview operation, executes it, and reads back diagnostics for the on-call engineer. Bearer tokens stay in your Jentic One instance.

Example prompt: Search Jentic for 'upload F5 QKView and get diagnostics', load the uploadQkview operation, and execute it with the captured QKView file.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/qkviews` | Upload a QKView file |
| GET | `/qkviews/{qkviewId}` | Get QKView metadata and status |
| GET | `/qkviews/{qkviewId}/diagnostics` | Get diagnostic findings |
| GET | `/qkviews/{qkviewId}/files` | List files inside a QKView |
| GET | `/qkviews/{qkviewId}/files/{fileId}` | Download a specific file |
| GET | `/qkviews/{qkviewId}/commands` | List iHealth commands run against a QKView |
| GET | `/qkviews/{qkviewId}/bigip/{category}` | Get BIG-IP configuration by category |

## Key resources

- **QKViews** — Uploaded BIG-IP capture archives at /qkviews and `/qkviews/{qkviewId}.`
- **Diagnostics** — iHealth findings for a QKView at `/qkviews/{qkviewId}/diagnostics.`
- **Files** — Files contained in a QKView at `/qkviews/{qkviewId}/files.`
- **Commands** — iHealth commands run against a QKView at `/qkviews/{qkviewId}/commands.`
- **BigIP Data** — Categorised BIG-IP configuration at `/qkviews/{qkviewId}/bigip/{category}.`

## Why Jentic

- **Setup:** Wiring the F5 iHealth API by hand means setting up its bearer auth, handling the multipart QKView upload, and pointing calls at ihealth2-api.f5.com/qkview-analyzer/api yourself. Through Jentic you install once, import the F5 iHealth API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** F5 iHealth puts the QKView id in the URL path (`/qkviews/{qkviewId}/...`), so a rule can pin your agent to one QKView: it can read that upload's diagnostics, files, and commands and nothing else. You choose the operations it may call, so uploading new QKViews is only in reach if you include it.
- **Credential handling:** Your F5 iHealth token 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 'upload a QKView' or 'get F5 diagnostics', and Jentic returns the matching iHealth operation with its input schema so the agent calls the right /qkviews endpoint without browsing the reference docs.

## Related APIs

- **New Relic API** — Application performance monitoring and infrastructure observability.
- **Kubernetes API** — Cluster-level orchestration when BIG-IP fronts containerised workloads.
- **GitHub API** — Source control and issue tracking for SRE runbooks.

## FAQ

### Why is there no official OpenAPI spec for F5 iHealth API?

F5 does not publish a structured OpenAPI specification for iHealth. Jentic generates and maintains this spec so that AI agents and developers can call F5 iHealth API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the F5 iHealth API use?

The API uses bearer token authentication. Obtain a token from the F5 identity service and pass it as Authorization: Bearer <token>. Through Jentic, the token is stored encrypted in the vault and injected only at execution time.

### Can I upload a QKView file via the API?

Yes. POST the QKView archive to /qkviews. The response contains the qkviewId, which you use to retrieve diagnostics, files, and BIG-IP configuration data once the analysis completes.

### How do I run iHealth diagnostics through Jentic?

Run jentic search 'upload F5 QKView and get diagnostics', load the uploadQkview operation, and execute it with the QKView file. Then load and execute getDiagnostics with the returned qkviewId. Jentic handles the bearer token from the stored credential.

### Can I extract individual files from a QKView without downloading the whole archive?

Yes. GET `/qkviews/{qkviewId}/files` lists every file in the archive and GET `/qkviews/{qkviewId}/files/{fileId}` returns one specific file. This is the standard path for inspecting a single log or config without pulling the full QKView.

### Does the API expose BIG-IP configuration in a structured way?

Yes. GET `/qkviews/{qkviewId}/bigip/{category}` returns the configuration for a given BIG-IP category - for example LTM, ASM, or APM - parsed from the QKView so callers do not have to parse the raw archive themselves.

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

Yes. Because you run Jentic One yourself, your own rules decide which iHealth operations and credentials the agent may use. Since the QKView id sits in the path (`/qkviews/{qkviewId}/...`), you can pin the agent to a single upload so it only reads that QKView's diagnostics, files, and commands. You choose the operations it may call, so uploading new QKViews to /qkviews is in reach only if you grant it.
