For Agents
Submit Spark jobs to EMR on EKS, manage virtual clusters, job templates, and managed endpoints through a single API.
Get started with Amazon EMR Containers in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"submit a Spark job to EMR on EKS"
# → Jentic returns the GET /events tool with parameter schema, agent executes.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
Manage interactive endpoints that expose Jupyter and Livy interfaces on EKS
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 document for Amazon EMR Containers, keeping it validated and agent-ready.
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.
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.
Amazon EKS
Provides the underlying Kubernetes cluster that EMR on EKS runs against
Choose EKS when you need to manage the cluster, namespaces, or RBAC that host EMR workloads.
AWS Lambda
Serverless functions for short-lived data processing
Choose Lambda when the workload is small, single-record, and does not need a Spark runtime.
Amazon EventBridge
Triggers EMR job submissions in response to upstream events
Choose EventBridge when EMR jobs should run on a schedule or when an upstream event arrives.
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