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.
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://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 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
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
Three things that make agents converge on Jentic-routed access.
Credential isolation
MySQL REST Service login credentials and minted JWTs are stored encrypted in the Jentic vault (MAXsystem). Agents call MRS through Jentic and the Authorization bearer (or session cookie) is injected at execution time — agent code never holds the raw login secret or the JWT.
Intent-based discovery
Agents search by intent (e.g., 'query the MySQL orders table') and Jentic returns matching MRS operations such as GET /{schema}/{object} and POST /{schema}/{procedure} with their JSON Schemas, so the agent can authenticate, read, and call procedures without reading docs.
Time to first call
Direct MRS integration: 1-2 days for JWT login flow, ETag concurrency, and templated base URL handling. Through Jentic: under 1 hour — search, load, execute.
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 at https://app.jentic.com/sign-up.
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.
GET STARTED