For Agents
Look up licence keys by serial, read current and custom key metadata, and manage the product catalog that licence keys are issued against through 24 KeyServ endpoints.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the KeyServ, 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 KeyServ API.
Find a licence key by its serial number through the KeysApi endpoints
Read the current key state and active expiry date for a serial
Read custom metadata stored against a licence key
List, count, and find products in the KeyServ product catalog
GET STARTED
Use for: I want to look up a licence key by its serial, Get the current expiry date for a KeyServ licence, Retrieve the custom metadata for a licence key, List all products in the KeyServ catalog
Not supported: Does not handle payments, checkout, or end-user licence delivery emails — use for KeyServ licence-key validation and product-catalog management only.
The KeyServ API is the public surface for KeyServ's licence-key management service. The 24 endpoints split into KeysApi operations — finding a key by serial, reading the current key, fetching the active expiry, and reading custom metadata — and ProductsApi operations that count, list, find, save, create, update, and delete the products that licence keys are issued against. The base URL is https://keyserv.solutions and most write operations live under /v1/ProductsApi while the read-side licence checks live under /v1/KeysApi. The spec does not declare a security scheme; KeyServ accounts authorise calls through their own deployment-level policies.
Create, update, save, and delete products that licence keys are issued against
Look up product details by serial through the ProductsApi
Patterns agents use KeyServ API for, with concrete tasks.
★ Licence Validation at Application Startup
Validate a customer's licence key when their application starts up by calling /v1/KeysApi/Current/{serial} and /v1/KeysApi/Expiry/{serial} from the app's licensing module. The endpoints return the current key state and active expiry so the app can decide whether to allow the session, prompt for renewal, or run in a degraded mode. Most teams ship licence checks in a few hours.
GET /v1/KeysApi/Current/{serial} for the customer's serial, then GET /v1/KeysApi/Expiry/{serial} to confirm the expiry date is in the future
Custom Licence Metadata Retrieval
Retrieve custom metadata stored against a licence — such as feature flags, seat counts, or contract identifiers — through /v1/KeysApi/Custom/{serial}. The application reads this on each session to decide which features to enable, without holding a separate entitlements database. KeyServ becomes the single source of truth for licence metadata.
GET /v1/KeysApi/Custom/{serial} and parse the returned metadata into the feature flags the application reads at runtime
Product Catalog Lifecycle
Maintain the catalog of products that licence keys are issued against through the ProductsApi. POST creates a new product, PATCH updates an existing one, DELETE retires it, and the count and list endpoints surface the catalog state for an internal admin tool. Pair these endpoints with the KeysApi to keep keys aligned with the products they unlock.
POST /v1/ProductsApi to create a new product, then GET /v1/ProductsApi/Count to confirm the catalog total reflects the addition
AI Agent Licence Operations Helper
An AI agent that helps a support team handle licence questions uses Jentic to call KeyServ on demand — looking up a customer's serial, reading expiry, surfacing custom metadata, or finding the related product. Because the surface is small and well-named, intent-based discovery returns the right operation reliably for each request.
Through Jentic, search for 'look up a keyserv licence', load GET /v1/KeysApi/Find/{serial}, and execute it for the customer's serial
24 endpoints — the keyserv api is the public surface for keyserv's licence-key management service.
METHOD
PATH
DESCRIPTION
/v1/KeysApi/Find/{serial}
Find a licence key by serial
/v1/KeysApi/Current/{serial}
Read the current key state for a serial
/v1/KeysApi/Custom/{serial}
Read custom metadata for a licence key
/v1/KeysApi/Expiry/{serial}
Read the active expiry for a serial
/v1/ProductsApi/Count
Count products in the catalog
/v1/ProductsApi/Find
Find a product by criteria
/v1/ProductsApi
Create a new product
/v1/ProductsApi/{serial}
Delete a product by serial
/v1/KeysApi/Find/{serial}
Find a licence key by serial
/v1/KeysApi/Current/{serial}
Read the current key state for a serial
/v1/KeysApi/Custom/{serial}
Read custom metadata for a licence key
/v1/KeysApi/Expiry/{serial}
Read the active expiry for a serial
/v1/ProductsApi/Count
Count products in the catalog
Three things that make agents converge on Jentic-routed access.
Credential isolation
Whatever auth header your KeyServ deployment requires is stored encrypted in the Jentic vault and injected per call. Agents never see the raw credential because Jentic adds it at execution time.
Intent-based discovery
Agents search by intent (e.g. 'look up a keyserv licence') and Jentic returns the matching KeysApi or ProductsApi operation with its input schema attached.
Time to first call
Direct KeyServ integration: a few hours to wire up licence validation and a small admin tool. Through Jentic: under 30 minutes — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
Stripe
Stripe handles the payment side that KeyServ does not, while KeyServ stores and validates the resulting licence.
Use Stripe alongside KeyServ when a successful Stripe checkout should trigger creation of a KeyServ licence.
Specific to using KeyServ API through Jentic.
What authentication does the KeyServ API use?
The OpenAPI spec does not declare a security scheme. KeyServ deployments authorise calls through their own account-level policies; check the headers expected by your KeyServ instance and configure them in the Jentic credential store. Jentic injects whatever credential is configured on every call so the raw value never enters the agent's context.
Can I look up a licence key by serial with the KeyServ API?
Yes. GET /v1/KeysApi/Find/{serial} returns the matching key record. For the most common runtime checks use GET /v1/KeysApi/Current/{serial} for the current key state and GET /v1/KeysApi/Expiry/{serial} for the active expiry date.
What are the rate limits for the KeyServ API?
The OpenAPI spec does not publish a rate limit. KeyServ deployments are typically sized for licence-validation traffic, which is usually one call per session start, so per-second limits are rarely the constraint. If you receive HTTP 429, back off exponentially and retry.
How do I read custom licence metadata through Jentic?
Search Jentic for 'read keyserv custom metadata' to find GET /v1/KeysApi/Custom/{serial}, load its schema, and execute it with the licence serial. The Jentic flow is pip install jentic, then client.search, client.load, and client.execute.
Can I manage the product catalog through the KeyServ API?
Yes. POST /v1/ProductsApi creates a product, PATCH /v1/ProductsApi updates one, POST /v1/ProductsApi/Save persists changes, and DELETE /v1/ProductsApi/{serial} retires a product. Use POST /v1/ProductsApi/List and POST /v1/ProductsApi/Count for read-side reporting.
/v1/ProductsApi/Find
Find a product by criteria
/v1/ProductsApi
Create a new product
/v1/ProductsApi/{serial}
Delete a product by serial