For Agents
Submit Spark jobs to EMR on EKS, manage virtual clusters, job templates, and managed endpoints through a single API.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Amazon EMR Containers, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Amazon EMR Containers API.
Register virtual clusters that map EMR workloads to EKS namespaces
Submit Spark job runs with custom configurations, monitoring, and execution roles
Create reusable job templates with parameter overrides for repeatable submissions
GET STARTED
Use for: I need to submit a Spark job to EMR on EKS, Register a new virtual cluster against my EKS namespace, List all running job runs in this virtual cluster, Cancel a Spark job that has been running too long
Not supported: Does not handle EKS cluster creation, container image builds, or non-Spark workloads — use for Spark on EKS job submission and virtual cluster management only.
Jentic publishes the only available OpenAPI specification for Amazon EMR Containers, keeping it validated and agent-ready. Amazon EMR on EKS lets data teams run open-source big-data frameworks such as Apache Spark on existing Amazon EKS clusters. The API manages virtual clusters that map to EKS namespaces, job runs that submit Spark workloads, managed endpoints, and reusable job templates. It is designed for analytics platform teams that want EMR's runtime optimisations and managed Spark images while consolidating on Kubernetes for compute.
Manage interactive endpoints that expose Jupyter and Livy interfaces on EKS
Cancel running jobs and inspect job state, completion reason, and execution role
Tag virtual clusters and job runs for cost allocation and organisational reporting
Describe job templates to inspect their default configuration and parameter schemas
Patterns agents use Amazon EMR Containers API for, with concrete tasks.
★ Spark Job Submission on EKS
Data engineering teams use Amazon EMR on EKS to run Spark workloads on shared Kubernetes clusters instead of standing up dedicated EMR EC2 clusters. The API submits job runs with execution role, release label, and Spark configuration so that pipelines can run hundreds of jobs per day on a single virtual cluster. EMR on EKS shares cluster resources between workloads, reducing idle compute compared with per-job EMR clusters.
Submit a Spark job run to virtual cluster vc-prod with release label emr-6.10.0-latest, executing s3://etl/scripts/load.py with execution role role-etl.
Reusable Job Templates
Platform teams use job templates to standardise Spark configuration, IAM roles, and monitoring across many submissions. The API stores templates with parameterised fields so analyst-submitted jobs inherit guardrails such as max executor count and security configuration without hand-editing each run. Templates also keep job submissions short and reduce the surface area for drift between environments.
Create a job template named nightly-etl with release emr-6.10.0-latest, default execution role role-etl, and a parameter inputDate that overrides the script argument.
Interactive Spark Endpoints
Data science teams use managed endpoints to expose Livy or Jupyter access into the EKS-hosted Spark environment for ad-hoc analysis. The API creates and tears down endpoints with custom Spark configuration so notebooks connect to a curated runtime without leaving the cluster. This shortens the path from notebook prototype to a productionised job template.
Create a managed endpoint of type JUPYTER_ENTERPRISE_GATEWAY in virtual cluster vc-prod with execution role role-etl and release emr-6.10.0-latest.
Agent-Driven Spark Job Operations via Jentic
AI agents use the EMR Containers API through Jentic to dispatch Spark jobs in response to upstream events such as new files in S3 or detected anomalies. Jentic exposes EMR on EKS operations as discoverable tools so an agent can search by intent and launch a parameterised job in seconds. This removes the need for a dedicated orchestration layer for one-off and event-driven jobs.
Search Jentic for submit spark job, load the StartJobRun schema, and execute it for virtual cluster vc-prod using job template nightly-etl with parameter inputDate=2026-06-09.
19 endpoints — jentic publishes the only available openapi specification for amazon emr containers, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/virtualclusters
Create a virtual cluster
/virtualclusters
List virtual clusters
/virtualclusters/{virtualClusterId}
Delete a virtual cluster
/virtualclusters/{virtualClusterId}/jobruns
Submit a Spark job run
/virtualclusters/{virtualClusterId}/jobruns/{jobRunId}
Cancel a job run
/virtualclusters/{virtualClusterId}/endpoints
Create a managed endpoint
/jobtemplates
Create a reusable job template
/virtualclusters
Create a virtual cluster
/virtualclusters
List virtual clusters
/virtualclusters/{virtualClusterId}
Delete a virtual cluster
/virtualclusters/{virtualClusterId}/jobruns
Submit a Spark job run
/virtualclusters/{virtualClusterId}/jobruns/{jobRunId}
Cancel a job run
Three things that make agents converge on Jentic-routed access.
Credential isolation
AWS access keys for EMR on EKS are stored encrypted in the Jentic vault. Agents receive scoped, short-lived signing access — raw secret access keys never enter the agent context.
Intent-based discovery
Agents search by intent (for example submit a spark job) and Jentic returns matching EMR Containers operations with their input schemas, so the agent can call the right endpoint without browsing AWS docs.
Time to first call
Direct EMR on EKS integration: 1-2 days for SigV4 signing, virtual cluster setup, and job-driver formatting. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Amazon EMR Containers API through Jentic.
Why is there no official OpenAPI spec for Amazon EMR Containers?
AWS does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Amazon EMR Containers via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Amazon EMR Containers API use?
EMR on EKS uses AWS Signature Version 4 request signing. Through Jentic, AWS access keys are stored encrypted in the vault and signing happens server-side, so the agent never sees the raw secret access key.
Can I submit Spark jobs through this API?
Yes. POST /virtualclusters/{virtualClusterId}/jobruns submits a Spark job with a release label, execution role, and job driver configuration. The job runs in the EKS namespace mapped by the virtual cluster.
What are the rate limits for the Amazon EMR Containers API?
AWS applies per-account, per-region API throttling. Job submission and describe calls have separate buckets. Use exponential backoff on ThrottlingException responses; AWS does not publish exact TPS numbers in the spec.
How do I cancel a long-running Spark job through Jentic?
Search Jentic for cancel emr job run, load the schema for DELETE /virtualclusters/{virtualClusterId}/jobruns/{jobRunId}, and execute it with the virtual cluster ID and job run ID. Jentic returns the cancellation acknowledgement.
Do I need an existing EKS cluster to use this API?
Yes. EMR on EKS runs workloads inside an EKS cluster you already operate. You must register the EKS cluster as a virtual cluster, which maps EMR submissions to a specific Kubernetes namespace.
/virtualclusters/{virtualClusterId}/endpoints
Create a managed endpoint
/jobtemplates
Create a reusable job template