Terminal49 · Schema
Current Vessel
Container TrackingOcean FreightSupply ChainLogisticsShippingFreight
Properties
| Name | Type | Description |
|---|---|---|
| feature_type | string | |
| ports_sequence | integer | Sequence number of the departure port for this leg |
| vessel_id | string | Unique identifier for the vessel |
| vessel_name | string | Name of the vessel |
| vessel_imo | string | IMO number of the vessel |
| voyage_number | stringnull | Voyage number for this leg |
| vessel_location_timestamp | string | Timestamp of the vessel position (ISO 8601) |
| vessel_location_heading | numbernull | Vessel heading in degrees (0-360) |
| vessel_location_speed | numbernull | Vessel speed in knots |
| departure_port_id | string | ID of the port the vessel departed from |
| departure_port_name | string | Name of the departure port |
| departure_port_state_abbr | stringnull | State abbreviation of departure port |
| departure_port_state | stringnull | State name of departure port |
| departure_port_country_code | string | Country code of departure port |
| departure_port_country | string | Country name of departure port |
| departure_port_label | string | Label of departure port (POL, POD, TS1, etc.) |
| departure_port_atd | stringnull | Actual time of departure from the port (ISO 8601) |
| departure_port_time_zone | string | Timezone of departure port |
| arrival_port_id | stringnull | ID of the next port the vessel is heading to |
| arrival_port_name | stringnull | Name of the arrival port |
| arrival_port_state_abbr | stringnull | State abbreviation of arrival port |
| arrival_port_state | stringnull | State name of arrival port |
| arrival_port_country_code | stringnull | Country code of arrival port |
| arrival_port_country | stringnull | Country name of arrival port |
| arrival_port_label | stringnull | Label of arrival port (POL, POD, TS1, etc.) |
| arrival_port_eta | stringnull | Estimated time of arrival at the next port (ISO 8601) |
| arrival_port_time_zone | stringnull | Timezone of arrival port |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/terminal49/json-schema/terminal49-current-vessel-feature-properties-schema.json",
"title": "Current Vessel",
"x-generated": "2026-11-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/terminal49-openapi.json#/components/schemas/currentVesselFeatureProperties",
"type": "object",
"properties": {
"feature_type": {
"type": "string",
"enum": [
"current_vessel"
]
},
"ports_sequence": {
"type": "integer",
"description": "Sequence number of the departure port for this leg"
},
"vessel_id": {
"type": "string",
"description": "Unique identifier for the vessel"
},
"vessel_name": {
"type": "string",
"description": "Name of the vessel"
},
"vessel_imo": {
"type": "string",
"description": "IMO number of the vessel"
},
"voyage_number": {
"type": [
"string",
"null"
],
"description": "Voyage number for this leg"
},
"vessel_location_timestamp": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the vessel position (ISO 8601)"
},
"vessel_location_heading": {
"type": [
"number",
"null"
],
"description": "Vessel heading in degrees (0-360)"
},
"vessel_location_speed": {
"type": [
"number",
"null"
],
"description": "Vessel speed in knots"
},
"departure_port_id": {
"type": "string",
"description": "ID of the port the vessel departed from"
},
"departure_port_name": {
"type": "string",
"description": "Name of the departure port"
},
"departure_port_state_abbr": {
"type": [
"string",
"null"
],
"description": "State abbreviation of departure port"
},
"departure_port_state": {
"type": [
"string",
"null"
],
"description": "State name of departure port"
},
"departure_port_country_code": {
"type": "string",
"description": "Country code of departure port"
},
"departure_port_country": {
"type": "string",
"description": "Country name of departure port"
},
"departure_port_label": {
"type": "string",
"description": "Label of departure port (POL, POD, TS1, etc.)"
},
"departure_port_atd": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Actual time of departure from the port (ISO 8601)"
},
"departure_port_time_zone": {
"type": "string",
"description": "Timezone of departure port"
},
"arrival_port_id": {
"type": [
"string",
"null"
],
"description": "ID of the next port the vessel is heading to"
},
"arrival_port_name": {
"type": [
"string",
"null"
],
"description": "Name of the arrival port"
},
"arrival_port_state_abbr": {
"type": [
"string",
"null"
],
"description": "State abbreviation of arrival port"
},
"arrival_port_state": {
"type": [
"string",
"null"
],
"description": "State name of arrival port"
},
"arrival_port_country_code": {
"type": [
"string",
"null"
],
"description": "Country code of arrival port"
},
"arrival_port_country": {
"type": [
"string",
"null"
],
"description": "Country name of arrival port"
},
"arrival_port_label": {
"type": [
"string",
"null"
],
"description": "Label of arrival port (POL, POD, TS1, etc.)"
},
"arrival_port_eta": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "Estimated time of arrival at the next port (ISO 8601)"
},
"arrival_port_time_zone": {
"type": [
"string",
"null"
],
"description": "Timezone of arrival port"
}
},
"required": [
"feature_type"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/terminal49-current-vessel-feature-properties"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.