Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Contracts-gis 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%2Fpublicpro.eu%2Fpublicpro" | 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%2Fpublicpro.eu%2Fpublicpro" | 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 Contracts-gis API.
Retrieve a public contract by id with its contractor_name, contractor_vat, and contract_type
Read a contract's amount_net and amount_gross alongside its start_date, end_date, and status
Fetch the procurement phase for a contract id with its award_procedure and process_step
Compare a tender's budget_net and budget_gross with the awarded contract amounts
GET STARTED
Get the tender_date and process title for the competition that led to a contract
Patterns agents use Contracts-gis API for, with concrete tasks.
★ Agent checks on a public contract
An AI agent supporting a Greek municipality or auditor can pull a contract by id from the PublicPro Contracts-gis API and report its contractor, VAT number, net and gross amount, dates, and status, then pull the matching procurement record to show how the contract was tendered. Both lookups take only the id, so the agent needs no search step when the id is already on file.
Get contract 589, then get procurement 589 and report the contractor_name, amount_gross, award_procedure, and process_step together
Budget versus award comparison
Finance and transparency teams compare what a tender was budgeted at against what was finally awarded. The procurement record carries budget_net and budget_gross and the contract record carries amount_net and amount_gross, so a script can compute the difference for each contract id it holds.
For contract id 589, fetch the procurement budget_gross and the contract amount_gross and return the difference
Contractor VAT verification
Before paying a supplier, a team can read the contractor_vat on the PublicPro contract record and pass it to a VAT validation service to confirm the registered business matches contractor_name. The contract record gives the number, and a separate VAT API confirms its registration.
Read contractor_vat from contract 589 and pass it to a VAT validation API with country code EL
2 endpoints — the publicpro contracts-gis api retrieves greek public-sector contract records and the pre-contract procurement phase behind them by id.
METHOD
PATH
DESCRIPTION
/contracts/{id}
Retrieve a contract by id
/procurements/{id}
Retrieve the procurement phase by id
/contracts/{id}
Retrieve a contract by id
/procurements/{id}
Retrieve the procurement phase by id
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the PublicPro Contracts-gis API by hand means setting up HTTP basic auth, picking the right host from a demo and a mock server, and reading Greek-language field descriptions. Through Jentic you install once, import PublicPro from the API Directory, store the credentials once, and your agent calls it.
Permission scoping
PublicPro puts the contract id in the URL path (/contracts/{id} and /procurements/{id}), so a rule can pin your agent to specific contract ids and to one or both lookups. Both operations are reads, and you choose which the agent may call.
Credential isolation
Your PublicPro username and password 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 'retrieve a public contract' or 'get the tender details for a contract', and Jentic returns the matching PublicPro operation with its input schema so the agent calls the right endpoint without reading the Greek reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Contracts-gis API through Jentic.
What authentication does the PublicPro Contracts-gis API use?
The PublicPro Contracts-gis API declares HTTP basic authentication in its OpenAPI spec, so requests carry a username and password in the Authorization header. Through Jentic the credentials are stored once and injected at call time, so they never appear in your agent's prompt or logs.
What does a PublicPro procurement record contain?
GET /procurements/{id} returns the procurement phase for a contract: id, process_title, contract_type, award_procedure, budget_net, budget_gross, process_step, and tender_date. The spec's example shows an open electronic tender for computer equipment at the offer evaluation step.
What are the rate limits for the PublicPro Contracts-gis API?
The OpenAPI spec does not specify rate limits for the PublicPro Contracts-gis API. Check the PublicSoft listing at https://app.swaggerhub.com/apis/PublicSoft-PC/GIS/1.0.0 or contact PublicPro for current limits.
Can I search PublicPro contracts by contractor or date?
No. The spec exposes two lookups that each take an id in the path, GET /contracts/{id} and GET /procurements/{id}, with no search or list operation. You need the contract id from another source before calling it.
How do I retrieve a contract with the PublicPro Contracts-gis API through Jentic?
Search Jentic for 'retrieve a public contract by id', which returns GET /contracts/{id} with its input schema, then pass the contract id. Point the call at the host PublicPro gives you, since the spec lists a demo server and a mock server. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Is there a PublicPro MCP server?
You don't need an MCP server to give your agent the PublicPro Contracts-gis API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, finding the lookup by intent rather than loading tool definitions into its context.
Can I limit what my agent is allowed to do with the PublicPro Contracts-gis API?
Yes. Write a rule that allows only GET /contracts/{id} for the ids your project covers, for example /contracts/589, so the agent reads those contracts but not their procurement records or anything else, and every call it makes is logged.
Know of an official OpenAPI document? Contribute it →
For Agents
Fetch a PublicPro public contract by id for its contractor, VAT number, amounts, dates, and status, or fetch the procurement phase for its tender details and budget. Read-only, two lookups.
Use for: Get contract 589 from PublicPro, Retrieve the procurement phase for contract 589, Check whether contract 589 is still active, Find the contractor VAT number on a public contract
Not supported: Does not handle contract search, tender submission, or payments to contractors. Use for retrieving PublicPro contract and procurement records by id only.
The PublicPro Contracts-gis API retrieves Greek public-sector contract records and the pre-contract procurement phase behind them by id. A contract lookup returns the title, contractor_name and contractor_vat, contract_type, net and gross amounts, start and end dates, and status, while a procurement lookup returns the process title, award procedure, net and gross budget, current process step, and tender date. The spec's servers are a PublicPro demo host and a SwaggerHub mock server.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>