# Turn your eModal appointments into an API

> Read your eModal gate appointments, truck visits and open time slots with one API call each. Or have a workflow check tomorrow's appointments every evening and email you the moves in Troubled, Error or Fees Due status.

Page: https://fous.com/automate/emodal
Updated: 2026-11-12

Works with your own eModal account. Fous is an independent product.

## What you can build on eModal

### Get gate appointments

Reads your eModal appointments for a date range, with each truck visit's terminal, time window and moves.

- Takes: Date from, date to, terminal (optional), status (optional)
- Returns: Truck visit, terminal, visit date, time window, truck plate, move type, container number, cargo reference, status

### Get a truck visit with its messages

Reads one truck visit in eModal: the visit, every move on it and the validation messages shown for each move.

- Takes: Truck visit number
- Returns: Truck plate, SCAC, trucking company, visit window, moves with appointment time, type, status, TOS status, container, messages

### Check open time slots

Looks up the appointment time slots a terminal offers in eModal for one move, before you book it.

- Takes: Terminal, move type, container or booking number, date
- Returns: Date, slot start, slot end

### Cancel an appointment move

Cancels one move on a truck visit in eModal, or the whole visit, and reads back the status.

- Takes: Truck visit number, container number or whole visit
- Returns: Truck visit, container number, status

## Automate eModal with a workflow

A [workflow](/product/workflows) runs your methods as one process, with nobody at the screen. A schedule or a call from your own system starts it, the steps run in order, and the result arrives in your inbox or in the systems you already use.

### Tomorrow's appointments that need attention

Starts: Every weekday at 17:00

1. Get tomorrow's gate appointments at every terminal you use.
2. Keep the moves in Troubled, Error, Fees Due or Pending status.
3. Email you the list by terminal, with truck visit, container number, move type and status.

### Missed and terminal-canceled appointments, weekly

Starts: Every Monday at 8:00

1. Get last week's gate appointments.
2. Keep the moves in Missed or Canceled by Terminal status.
3. Summarize them by terminal and move type, and email you the report.

### Appointment status changes, posted to dispatch

Starts: Every 30 minutes on weekdays

1. Get today's gate appointments.
2. Keep the moves whose status changed since the last run.
3. Post truck visit, container number, move type and the new status to your dispatch system's webhook.

You can run a workflow by hand on every plan, Free included. Schedules and webhook triggers come with the paid plans, from $29 a month.

## Once built, one call from your code

Once you have built a [method](/product/methods), it is one POST to /v1/runs from your backend, or a tool an AI agent calls over MCP. This is what “Get gate appointments” would look like.

Example request:

```
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "ecp2.emodal.com/get_gate_appointments",
    "input": {
      "date_from": "2026-11-13",
      "date_to": "2026-11-13",
      "status": "Fees Due"
    }
  }'
```

Example response:

```
{
  "status": "completed",
  "data": {
    "visits": [
      {
        "truck_visit": "2511130042117",
        "terminal": "NCT",
        "visit_date": "2026-11-13",
        "time_window": "08:00-09:00",
        "truck_plate": "ACM482",
        "moves": [
          {
            "move_type": "Import Pick Up",
            "container_number": "NWLU4821736",
            "cargo_reference": "GRP-7731",
            "status": "Fees Due"
          }
        ]
      }
    ],
    "count": 1
  }
}
```

An example with invented data, not a ready-made endpoint. The method exists in your organization once you build it, and its name, inputs and fields follow your request.

## EModal’s own options

CargoSprint, which runs eModal, documents a Pre-Gate API for appointments: search, truck visit details, time slots, booking details, create, update and cancel. It needs a company API key from CargoSprint support and a user key made on the eModal Profile page. A Data Services API gives terminal metrics. No price is published.

| Option | What it covers | What it takes |
| --- | --- | --- |
| Pre-Gate API | Appointments: search by date, truck visit details with validation messages, open time slots, booking details, create or update, cancel. | A company API key from CargoSprint customer support and a user API key generated on the eModal Profile page. |
| Data Services API | Terminal datasets: the terminals list, appointment availability, aggregated container dwell statistics and appointment performance. | CargoSprint API credentials. Commercial questions go to CargoSprint. |
| eModal by hand | Appointments, container status, terminal fees, and truck, driver and RFID tag registration, at each participating terminal. | An eModal user account for your company. |

Read on November 12, 2026: [Pre-Gate API overview](https://developer.cargosprint.com/pregate/overview), [Pre-Gate API: appointments](https://developer.cargosprint.com/pregate/openapi/appointments), [Data Services API](https://developer.cargosprint.com/data-services/overview).

## Signing in to eModal

eModal signs you in on its own sign-in page at sso.emodal.com with your user account, then returns you to eModal. What your account sees depends on the companies it is affiliated with. With Fous you sign in once through eModal's own sign-in with your own account, and the login is sealed with AES-256, never returned by the API or written to logs.

## Worth knowing

- **Two keys for the Pre-Gate API**: Every Pre-Gate request carries a company key from CargoSprint support and a user key that an eModal user generates on the Profile page. The API acts as that user.
- **Appointment searches stop at 30 days**: When a Pre-Gate appointment search spans more than 30 days, only the most recent 30 days come back. Results are paged, up to 1,000 per page, newest first.
- **Watch the statuses beyond Confirmed**: An appointment can be Fees Due, Troubled, Error, Missed, Rescheduled, Rebooked or Canceled by Terminal. Each move also carries validation messages with a severity.
- **Each terminal sets its own rules**: Terminal operators set appointment rules by move type, yard area or vessel, and adjust yard capacity and appointment availability in their slot schedule. Open slots differ from one terminal to the next.

## More in Logistics: ocean carriers, terminals and ports

- [myDCLI](https://fous.com/automate/mydcli.md)
- [PayCargo](https://fous.com/automate/paycargo.md)
- [APM Terminals TERMPoint](https://fous.com/automate/apm-terminals-termpoint.md)
- [Georgia Ports WebAccess](https://fous.com/automate/georgia-ports-webaccess.md)
- [易港通](https://fous.com/automate/eporthub.md)
- [INTTRA](https://fous.com/automate/inttra.md)
- [CMA CGM eBusiness](https://fous.com/automate/cma-cgm-ebusiness.md)
- [COSCO SHIPPING Lines eBusiness](https://fous.com/automate/cosco-shipping-lines-ebusiness.md)
- [Maersk.com](https://fous.com/automate/maersk-com.md)
- [myMSC](https://fous.com/automate/mymsc.md)
- [ONE eCommerce](https://fous.com/automate/one-ecommerce.md)
- [ShipmentLink](https://fous.com/automate/shipmentlink.md)
- [PortTruckPass](https://fous.com/automate/porttruckpass.md)
- [DAKOSY](https://fous.com/automate/dakosy.md)
- [Destin8](https://fous.com/automate/destin8.md)
- [Portbase](https://fous.com/automate/portbase.md)
- [PierPASS](https://fous.com/automate/pierpass.md)
- [Forecast by Tideworks](https://fous.com/automate/forecast-by-tideworks.md)
- [1-Stop Vehicle Booking System](https://fous.com/automate/1-stop-vehicle-booking-system.md)

Other industries: [Walmart Scheduler 2.0](/automate/walmart-scheduler-2-0), [Lockheed Martin Procure to Pay](/automate/lockheed-martin-procure-to-pay), [VUMPA](/automate/vumpa), [Buildium](/automate/buildium), [KinderConnect](/automate/kinderconnect), [myUNFI](/automate/myunfi).

## Frequently asked questions

### Does eModal have an API?

Yes, for appointments. CargoSprint's Pre-Gate API searches, reads, books, updates and cancels appointments with a company key from CargoSprint support and a user key from the eModal Profile page. Its Data Services API gives terminal metrics. No price is published.

### Which terminals use eModal appointments?

eModal's support form lists the ports of Los Angeles and Long Beach, Oakland, Seattle and Tacoma, New York and New Jersey, Virginia, Georgia, South Carolina, Baltimore and Jacksonville. The Pre-Gate API's reference tables list 22 terminal codes.

### How do I find appointments with fees due?

Look for the Fees Due status, one of eModal's appointment statuses next to Confirmed, Pending, Troubled and Error. With Fous, a workflow can check tomorrow's appointments every evening and email you the moves in Fees Due status.

### Can I see all my appointments across terminals at once?

Yes, with a method you build: it reads your appointments for a date range at the terminals your account sees, and a workflow can run it on a schedule and email you the result. The Pre-Gate API's appointment search also filters by facility, status and appointment type.

### Is Fous affiliated with CargoSprint?

No. Fous is an independent product. You use it with your own eModal account, and a method reads and does only what that account can.

Fous is an independent product: it is not affiliated with, endorsed by or sponsored by the operator of eModal (CargoSprint). The name is used only to say which system this page is about. Something here wrong or out of date? Write to legal@fous.com.
