Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MySQL REST Service (MRS) API, 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://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmysql.com%2Fmysql" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmysql.com%2Fmysql" | 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 MySQL REST Service (MRS) API.
List documents from a MySQL table or view via GET /{schema}/{object} with filtering, pagination, and sorting
Create new rows via POST /{schema}/{object} with JSON document payloads
Retrieve a row by primary key via GET /{schema}/{object}/{id}
Update a row by primary key via PUT /{schema}/{object}/{id} with optimistic concurrency via ETags
GET STARTED
Delete a row by primary key via DELETE /{schema}/{object}/{id}
Execute a stored procedure via POST /{schema}/{procedure}
Authenticate via POST /authentication/login to mint a JWT and POST /authentication/logout to invalidate it
Patterns agents use MySQL REST Service (MRS) API for, with concrete tasks.
★ Headless MySQL Backend for Agents
Expose a MySQL database to AI agents and external services through MRS without writing a custom backend. The integration authenticates via POST /authentication/login, then performs CRUD on /{schema}/{object} and /{schema}/{object}/{id}. Filtering and pagination query parameters mean an agent can read scoped data without DBA-level access.
Authenticate with POST /authentication/login, then GET /sales/orders?status=open to retrieve open orders, and POST /sales/orders to insert a new one.
Stored Procedure Execution
Trigger MySQL stored procedures from a workflow, agent, or scheduled job via POST /{schema}/{procedure}. The integration sends the procedure inputs as JSON, MRS executes the procedure inside the database, and returns the result set or output parameters. This keeps complex business logic inside MySQL while exposing it as a normal REST call.
Call POST /finance/calculate_discount with the order ID and customer tier as JSON input, and return the calculated discount value.
Optimistic Concurrency on Updates
Update a MySQL row safely under concurrent edits using PUT /{schema}/{object}/{id} with the ETag from the prior GET. MRS rejects the update if the underlying row changed since the GET, eliminating lost-update bugs in shared-write environments. This pattern is essential for inventory, ticketing, and ledger workloads.
GET /inventory/items/4421 to capture the ETag, then PUT /inventory/items/4421 with the new payload and `If-Match: {etag}` header.
Authenticated Static Content Delivery
Serve documents, blobs, or static assets from MRS via GET /{contentPath}, gated by the same authentication used for data endpoints. The integration uses a single JWT to access both API and content paths, simplifying credential management for apps that need both data and files from MySQL-managed sources.
After login, GET /docs/contracts/4421.pdf with the JWT in the Authorization header to retrieve the contract document.
AI Agent Database Operator
An AI agent acts as a database operator for an internal team. It searches Jentic for MRS operations, loads the authentication and CRUD schemas, and chains POST /authentication/login with GET /{schema}/{object} and POST /{schema}/{procedure} to answer natural-language data questions. Jentic isolates the JWT and login credentials so the agent never sees raw database secrets.
Search Jentic for 'query the MySQL orders table', authenticate via POST /authentication/login, then GET /sales/orders filtered by the date range in the request.
9 endpoints — jentic publishes the only available openapi specification for mysql rest service (mrs) api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/authentication/login
Authenticate and mint a JWT
/authentication/logout
Logout and invalidate the session
/{schema}/{object}
List documents from a table or view
/{schema}/{object}
Create a new document
/{schema}/{object}/{id}
Retrieve a document by ID
/{schema}/{object}/{id}
Update a document with ETag concurrency
/{schema}/{object}/{id}
Delete a document by ID
/{schema}/{procedure}
Execute a stored procedure
/authentication/login
Authenticate and mint a JWT
/authentication/logout
Logout and invalidate the session
/{schema}/{object}
List documents from a table or view
/{schema}/{object}
Create a new document
/{schema}/{object}/{id}
Retrieve a document by ID
/{schema}/{object}/{id}
Update a document with ETag concurrency
/{schema}/{object}/{id}
Delete a document by ID
/{schema}/{procedure}
Execute a stored procedure
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the MySQL REST Service by hand means calling its authentication login, holding the minted JWT or session cookie, and setting the host, port, and service name for your own MRS deployment yourself. Through Jentic you install once, import the MySQL REST Service from the API Directory, store the login secret once, and your agent calls it.
Permission scoping
MRS puts the schema, object, and row id in the URL path (/{schema}/{object}/{id}), so a rule can pin your agent to one table. You choose the operations it may call, so destructive ones like DELETE on a row are not included unless you add them.
Credential isolation
Your MRS login secret and minted JWT are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'query the MySQL orders table' or 'run a stored procedure', and Jentic returns the matching MRS operation with its JSON Schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using MySQL REST Service (MRS) API through Jentic.
Why is there no official OpenAPI spec for MySQL REST Service (MRS) API?
Oracle / MySQL does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call MySQL REST Service (MRS) 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 MySQL REST Service use?
MRS supports two schemes: a JWT bearer token (preferred) obtained via POST /authentication/login, and a session cookie set during OAuth2 login with sessionType=cookie. Through Jentic, login credentials are stored in the encrypted vault and the JWT or cookie is injected at execution time.
Can I run a stored procedure with the MySQL REST Service?
Yes. Call POST /{schema}/{procedure} with the procedure inputs as JSON. MRS executes the procedure inside MySQL and returns the result set or output parameters in the response body. This works for both side-effect procedures (like calculate_discount) and read-only procedures.
How do I avoid lost updates with concurrent edits?
Use the ETag returned from GET /{schema}/{object}/{id} on the subsequent PUT by sending an `If-Match: {etag}` header. MRS rejects the update with a 412 Precondition Failed if the row has changed since the GET, giving you optimistic concurrency without database-level locks.
How do I query data through Jentic?
Search Jentic for 'list documents from MySQL', load the GET /{schema}/{object} schema, and execute it with the schema, object, and any filter parameters. Chain POST /authentication/login first if no token has been minted, then reuse the JWT for subsequent calls.
What are the rate limits for the MySQL REST Service API?
MRS rate limits are governed by the host MySQL Router and database configuration rather than the spec itself. Treat connection and query throughput as your effective limit, batch reads with pagination, and prefer stored procedures over chatty per-row updates for large jobs.
Can I limit what my agent is allowed to do with the MySQL REST Service (MRS) API?
Yes. Because you run Jentic One self-hosted, your own rules decide which MRS operations the agent may call and which credentials it may use. Since MRS puts the schema, object, and row id in the URL path (/{schema}/{object}/{id}), you can pin the agent to a single table and grant only the operations it needs, such as GET /{schema}/{object} for reads while withholding DELETE /{schema}/{object}/{id} and POST /{schema}/{procedure}. The MRS login secret and minted JWT stay under your control and are injected at execution time, so the agent never handles the raw database credentials.
Know of an official OpenAPI document? Contribute it →
For Agents
Read, write, and update MySQL data through the REST Service using a JWT bearer token or session cookie obtained via /authentication/login.
Use for: I need to query the customers table in our MySQL REST Service, Insert a new order row into the orders table, Update a product price in the catalogue table, Execute the calculate_discount stored procedure
Not supported: Does not handle database provisioning, schema migrations, or replication topology - use for REST CRUD, stored procedure execution, and authentication against an existing MRS deployment only.
Jentic publishes the only available OpenAPI specification for MySQL REST Service (MRS) API, keeping it validated and agent-ready. The MySQL REST Service exposes MySQL database tables, views, and stored procedures as REST endpoints, with CRUD operations on /{schema}/{object}, stored procedure execution on /{schema}/{procedure}, JWT authentication on /authentication/login and /authentication/logout, and static content serving on /{contentPath}. It supports filtering, pagination, sorting, and optimistic concurrency control via ETags, and accepts MySQL Internal, SCRAM, and OAuth2 authentication. The base URL is templated by host, port, and serviceName so each MRS deployment self-configures.