Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the ASAT - FEPASA, 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%2Fpuertosanantonio.com%2Fpuertosanantonio" | 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%2Fpuertosanantonio.com%2Fpuertosanantonio" | 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 ASAT - FEPASA API.
Register a virtual container entrance with containerId, isocode such as 22G1, licencePlate, and timestamp
Record a virtual exit for an entrance by its id and an exit timestamp
Check the status of a registered entrance
Delete an entrance that was registered in error
Obtain a bearer token with grant_type client_credentials over HTTP basic auth
GET STARTED
Patterns agents use ASAT - FEPASA API for, with concrete tasks.
★ Agent-logged container gate movements
An AI agent connected to a dispatch or yard system can log each container's arrival at Puerto San Antonio as a virtual entrance, passing the containerId, ISO type code, truck licencePlate, and arrival timestamp, then post the matching virtual exit when the unit leaves. The agent first requests a bearer token with the client credentials call, and checks the entrance status before closing it.
Get a token with grant_type client_credentials, then add a virtual entrance with containerId MACU8494510, isocode 22G1, licencePlate ABCD19, and the current UTC timestamp
Correcting gate records
When a truck plate or container number is keyed wrong, the operator removes the bad record with the delete entrance operation and registers a corrected entrance. Because the spec writes the entrance id directly into the delete and status paths, confirm the id format with the port before automating corrections.
Check the status of the entrance, delete it, and register a new virtual entrance with the corrected licencePlate
Entrance and exit timestamps for dwell tracking
Every virtual entrance carries the arrival timestamp and every virtual exit carries its own timestamp against the same entrance id. An integration that keeps the ids it registered can pair the two calls to work out how long each container stayed inside the port, giving dispatchers a turnaround figure taken from the records they sent to ASAT rather than from a separate log.
Register a virtual exit for entrance id a2c5db02-de1f-4f4d-8d49-344a48d87d59 with timestamp 2025-11-05T14:45:51.134Z and compare it with the stored entrance timestamp
5 endpoints — the asat - fepasa api registers virtual container entrances and exits at puerto san antonio for the fepasa integration.
METHOD
PATH
DESCRIPTION
/api/v2/auth/getToken
Get a bearer token
/api/entrances/AddVirtualEntrance
Register a virtual entrance
/api/exits/AddVirtualExit
Register a virtual exit
/api/entrances/GetEntranceStatus/a2c5db02-de1f-4f4d-8d49-344a48d87d59
Get an entrance status
/api/entrances/DeleteEntrance/a2c5db02-de1f-4f4d-8d49-344a48d87d59
Delete an entrance
/api/v2/auth/getToken
Get a bearer token
/api/entrances/AddVirtualEntrance
Register a virtual entrance
/api/exits/AddVirtualExit
Register a virtual exit
/api/entrances/GetEntranceStatus/a2c5db02-de1f-4f4d-8d49-344a48d87d59
Get an entrance status
/api/entrances/DeleteEntrance/a2c5db02-de1f-4f4d-8d49-344a48d87d59
Delete an entrance
What agents get from Jentic-routed access to this vendor.
Setup
Wiring ASAT - FEPASA by hand means calling a basic-auth token endpoint with a client credentials grant and carrying the returned bearer token on the entrance and exit calls. Through Jentic you install once, import ASAT - FEPASA from the API Directory, store the basic credentials once, and your agent calls it.
Permission scoping
The entrance and exit details travel in the request body, so a rule bounds which operations your agent may call rather than which containers it registers. You choose the operations it may call, so the destructive DeleteEntrance operation is not included unless you add it.
Credential isolation
Your ASAT - FEPASA basic credentials 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 'register a container entrance' or 'record a container exit', and Jentic returns the matching ASAT - FEPASA operation with its input schema so the agent calls the right endpoint without reading the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using ASAT - FEPASA API through Jentic.
What authentication does the ASAT - FEPASA API use?
The ASAT - FEPASA API declares two schemes in its OpenAPI spec. POST /api/v2/auth/getToken uses HTTP basic authentication with a grant_type of client_credentials, and the entrance and exit operations use the HTTP bearer token that call returns. Through Jentic the basic credentials are stored once and injected at call time, so they never appear in your agent's prompt or logs.
What data does a virtual entrance need?
POST /api/entrances/AddVirtualEntrance takes a containerId such as MACU8494510, an isocode such as 22G1 for the container type, a licencePlate for the vehicle, and an ISO 8601 timestamp. The matching POST /api/exits/AddVirtualExit takes the entrance id and an exit timestamp.
What are the rate limits for the ASAT - FEPASA API?
The OpenAPI spec does not specify rate limits for the ASAT - FEPASA API. Check with Puerto San Antonio through https://www.puertosanantonio.com for current limits and access terms.
How do I register a container entrance with the ASAT - FEPASA API through Jentic?
Search Jentic for 'register a container entrance', which returns POST /api/entrances/AddVirtualEntrance with its input schema, then send the containerId, isocode, licencePlate, and timestamp after obtaining a token from the getToken operation. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Is there an ASAT - FEPASA MCP server?
You don't need an MCP server to give your agent the ASAT - FEPASA API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, discovering the entrance and exit operations by intent.
Can I limit what my agent is allowed to do with the ASAT - FEPASA API?
Yes. Write a rule that allows only the getToken, AddVirtualEntrance, and AddVirtualExit operations, so the agent can log container arrivals and departures but cannot delete an entrance record, and every call it makes is logged.
Know of an official OpenAPI document? Contribute it →
For Agents
Register a virtual container entrance at Puerto San Antonio with container id, ISO code, licence plate, and timestamp, record the matching exit, and check or delete the entrance. Obtains its bearer token through a client credentials call.
Use for: Register container MACU8494510 entering on truck ABCD19, Record the exit for entrance a2c5db02-de1f-4f4d-8d49-344a48d87d59, Check the status of my container entrance, Delete an entrance I registered with the wrong plate
Not supported: Does not handle vessel scheduling, customs declarations, or container tracking at sea. Use for registering and managing virtual container entrances and exits at Puerto San Antonio only.
The ASAT - FEPASA API registers virtual container entrances and exits at Puerto San Antonio for the FEPASA integration. An entrance records a containerId, its ISO type code, the vehicle licencePlate, and a timestamp, and an exit closes that entrance by its id with its own timestamp. The API also returns an entrance's status, deletes an entrance, and issues the bearer token the other calls need through a client credentials request.
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>