canonical: https://jentic.com/apis/puertosanantonio.com/puertosanantonio

# Puertosanantonio ASAT - FEPASA

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.

## For AI 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.

## Scope

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.

## Capabilities

- 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

## Use cases

### 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.

Example prompt: 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.

Example prompt: 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.

Example prompt: 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

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v2/auth/getToken` | Get a bearer token |
| POST | `/api/entrances/AddVirtualEntrance` | Register a virtual entrance |
| POST | `/api/exits/AddVirtualExit` | Register a virtual exit |
| GET | `/api/entrances/GetEntranceStatus/a2c5db02-de1f-4f4d-8d49-344a48d87d59` | Get an entrance status |
| DELETE | `/api/entrances/DeleteEntrance/a2c5db02-de1f-4f4d-8d49-344a48d87d59` | Delete an entrance |

## Key resources

- **Entrances** — Virtual container entrances with container id, ISO code, licence plate, and timestamp
- **Exits** — Virtual exits that close an entrance by id
- **Tokens** — Bearer tokens issued through a client credentials request

## AI readiness

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.

- **Score:** 0 / 100
- **Maturity:** Non-Ready
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 76 / 100
  - AI-Readiness & Agent Experience: 37 / 100
  - Agent Usability: 94 / 100
  - Security: 35 / 100
  - AI Discoverability: 0 / 100
- **View full report:** https://jentic.com/apis/puertosanantonio.com/puertosanantonio/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **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 handling:** 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.
- **Discovery method:** 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.

## Related APIs

- **Octopi API** — Octopi exposes a marine terminal operating system's containers, cargo, and vessels.
- **BIC-BoxTech API** — BIC-BoxTech looks up container technical data in the BIC Global Container Database.

## FAQ

### 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.
