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
For Agents
Submit Spark jobs to EMR on EKS, manage virtual clusters, job templates, and managed endpoints through a single API.
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
Your AWS access keys for EMR on EKS are stored once, encrypted, by your own Jentic One instance and injected at execution time when the request is signed. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'submit a Spark job' or 'create a virtual cluster', and Jentic returns the matching EMR Containers operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Time to first call
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