canonical: https://jentic.com/apis/splunk.com/splunk

# Splunk Enterprise REST API

REST API for managing and interacting with Splunk Enterprise. Provides endpoints for search jobs, saved searches, indexes, data inputs/outputs, users, roles, apps, server management, and KV Store operations. The API exposes 95 endpoints secured with apiKey, basic authentication.

## For AI agents

Programmatically authenticate and obtain a session token, create a new search job. Covers 95 operations with apiKey, basic authentication.

## Scope

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

## Capabilities

- Authenticate and obtain a session token
- Create a new search job
- List all search jobs
- Get search job status and details
- Delete/cancel a search job
- Control a search job (pause, unpause, finalize, cancel, etc.)

## Use cases

### Cloud Infrastructure Operations

Use the Splunk Enterprise REST API to perform cloud infrastructure operations programmatically. The API provides 95 endpoints covering core functionality including authenticate and obtain a session token, create a new search job, list all search jobs.

Example prompt: Call POST /services/auth/login to authenticate and obtain a session token

### Automated Authentication Management

Automate authentication operations by combining multiple Splunk Enterprise REST API endpoints. Agents can create a new search job and then list all search jobs in a single workflow.

Example prompt: Call POST /services/search/jobs to create a new search job, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Splunk Enterprise REST 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, basic tokens manually.

Example prompt: Search Jentic for 'authenticate and obtain a session token', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /services/auth/login | Authenticate and obtain a session token |
| POST | /services/search/jobs | Create a new search job |
| GET | /services/search/jobs | List all search jobs |
| GET | /services/search/jobs/{search_id} | Get search job status and details |
| DELETE | /services/search/jobs/{search_id} | Delete/cancel a search job |
| POST | /services/search/jobs/{search_id}/control | Control a search job (pause, unpause, finalize, cancel, etc.) |
| GET | /services/search/jobs/{search_id}/results | Get final search results |
| GET | /services/search/jobs/{search_id}/results_preview | Get preview results from a running search |

## Key resources

- **Authentication** — Session token management
- **Search Jobs** — Create and manage search jobs
- **Saved Searches** — Manage saved searches and alerts
- **Alerts** — Fired alerts management
- **Indexes** — Index management

## Why Jentic

- **Setup:** Wiring the Splunk Enterprise REST API by hand means handling its session-token or HTTP basic auth, calling /services/auth/login to mint a token, and pointing every call at your own {host}:8089 management port yourself. Through Jentic you install once, import the Splunk Enterprise REST API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Splunk puts the search job id in the URL path (/services/search/jobs/{search_id}/...), so a rule can pin your agent to one search job and its results. You choose the operations it may call, so destructive ones like deleting a job or issuing control actions are not included unless you add them.
- **Credential handling:** Your Splunk credential 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 'run a search' or 'get search job results', and Jentic returns the matching Splunk Enterprise REST 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 Splunk Enterprise REST API use?

The Splunk Enterprise REST API uses apiKey, basic authentication. 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 authenticate and obtain a session token with the Splunk Enterprise REST API?

Yes. Use the POST /services/auth/login endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Splunk Enterprise REST 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 authenticate and obtain a session token through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'authenticate and obtain a session token'. Jentic returns the matching Splunk Enterprise REST API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Splunk Enterprise REST API have?

The Splunk Enterprise REST API exposes 95 endpoints covering authentication, search jobs, saved searches operations.

### Can I limit what my agent is allowed to do with the Splunk Enterprise REST API?

Yes. Jentic One is self-hosted, so your own rules decide which Splunk operations and credentials the agent may use. Because Splunk puts the search job id in the URL path (/services/search/jobs/{search_id}/...), you can pin the agent to a single search job and its results, and you choose exactly which operations it may call. Destructive actions like deleting a search job (DELETE /services/search/jobs/{search_id}) or issuing control actions (POST /services/search/jobs/{search_id}/control) stay out of reach unless you add them.
