openapi: 3.0.2
info:
title: MarineTraffic Routing Information API
version: 1.0.0
description: Maritime route generation and distance calculation between ports / coordinates, accounting for sea lanes and
traffic patterns.
contact:
name: MarineTraffic
url: https://www.marinetraffic.com/
servers:
- url: https://services.marinetraffic.com/api
tags:
- name: Routing Information
paths:
/exportroutes/{api_key}:
get:
tags:
- Routing Information
summary: Vessel Route to Port
description: "A newer version of this endpoint is available here: https://developers.kpler.com/spec/c78f79cf-4169-4a59-987d-e5970ea170f9\n\
Receive a list of available routes and distances from a vessel to a port. Notes
\n - The\
\ frequency of allowed API calls is specific to your API key and is detailed in your contract as a number of\
\ successful calls per time period. For example “2 calls per minute”. Regardless of this agreed limit, each API\
\ key is technically restricted to a maximum of 100 total (including successful and unsuccessful) requests per minute\
\ to ensure system stability.
\n
"
operationId: exportroutes
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/mmsi_VI03'
- $ref: '#/components/parameters/imo_VI03'
- $ref: '#/components/parameters/shipid_VI03'
- $ref: '#/components/parameters/port_target_id_VI03'
- $ref: '#/components/parameters/includealternatives_VI03'
- $ref: '#/components/parameters/includeinland_VI03'
- $ref: '#/components/parameters/msgtype_VI03'
- $ref: '#/components/parameters/protocol'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/200_vi03_default'
- $ref: '#/components/schemas/200_vi03_extended'
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/200_vi03_default'
- $ref: '#/components/schemas/200_vi03_extended'
examples:
Default:
summary: Simple
value: "\n\n \n"
Extended:
summary: Extended
value: "\n\n \n"
'400':
description: Bad Request
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/400_vi03_invalid_ship_identifier'
- $ref: '#/components/schemas/400_vi03_missing_or_invalid_port_identifier'
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/400_vi03_invalid_ship_identifier'
- $ref: '#/components/schemas/400_vi03_missing_or_invalid_port_identifier'
examples:
Invalid ship identifier:
summary: Invalid ship identifier
value: "\n\n \n \
\ \n \n"
Missing or invalid port identifier:
summary: Missing or invalid port identifier
value: "\n\n \n \
\ \n \n"
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/429_too_many_requests'
application/xml:
schema:
$ref: '#/components/schemas/429_too_many_requests'
examples:
Area out of bound:
summary: Too Many Requests
value: "\n\n \n \
\ \n \n"
'/exportroutes/{api_key} ':
get:
tags:
- Routing Information
summary: Distance to Port
description: "A newer version of this endpoint is available here: https://developers.kpler.com/spec/c78f79cf-4169-4a59-987d-e5970ea170f9\n\
Receive a list of available routes and distances from point or port to a specific port. Notes \n\
\ - The frequency of allowed API calls is specific to your API key and is detailed in your contract as\
\ a number of successful calls per time period. For example “2 calls per minute”. Regardless of this agreed limit,\
\ each API key is technically restricted to a maximum of 100 total (including successful and unsuccessful) requests\
\ per minute to ensure system stability.
\n
"
operationId: exportroutes_
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/port_start_id_VI03'
- $ref: '#/components/parameters/LAT_VI03'
- $ref: '#/components/parameters/LON_VI03'
- $ref: '#/components/parameters/port_target_id_VI03'
- $ref: '#/components/parameters/includealternatives_VI03'
- $ref: '#/components/parameters/includeinland_VI03'
- $ref: '#/components/parameters/msgtype_VI03'
- $ref: '#/components/parameters/protocol'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/200_vi03_default'
- $ref: '#/components/schemas/200_vi03_extended'
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/200_vi03_default'
- $ref: '#/components/schemas/200_vi03_extended'
examples:
Default:
summary: Simple
value: "\n\n \n"
Extended:
summary: Extended
value: "\n\n \n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/400_vi03_missing_or_invalid_port_identifier'
application/xml:
schema:
$ref: '#/components/schemas/400_vi03_missing_or_invalid_port_identifier'
examples:
Missing or invalid port identifier:
summary: Missing or invalid port identifier
value: "\n\n \n \
\ \n \n"
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/429_too_many_requests'
application/xml:
schema:
$ref: '#/components/schemas/429_too_many_requests'
examples:
Area out of bound:
summary: Too Many Requests
value: "\n\n \n \
\ \n \n"
components:
parameters:
api_key:
name: api_key
in: path
description: 'API key: 40-character hexadecimal number'
required: true
schema:
type: string
cursor:
name: cursor
in: query
description: The pagination cursor provided in the metadata section of the previous response
required: false
schema:
type: string
limit:
name: limit
in: query
description: The limit of vessels per page (min=1000, max=5000)
required: false
schema:
type: integer
default: 2000
protocol_mandatory:
name: protocol
in: query
description: "Response type. Use one of the following: \n - jsono
\n - csv
"
required: false
schema:
type: string
default: jsono
protocol_new:
name: protocol
in: query
description: "Response type. Use one of the following: \n - xml
\n - csv
\n - jsono
"
required: false
schema:
type: string
default: xml
v_PS01:
name: v
in: query
description: Version of the service to be executed. Use version 3 to get the latest
schema:
type: integer
default: 1
shipid_PS01:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use imo
or mmsi
required: true
schema:
type: integer
mmsi_PS01:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
required: false
schema:
type: integer
imo_PS01:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
days_PS01:
name: days
in: query
description: The number of days, starting from the time of request and going backwards, for which the response should
look for position data Maximum value is 190 (days)
required: true
schema:
type: integer
fromdate_PS01:
name: fromdate
in: query
description: Use with todate instead of days to get data for a date period
required: false
schema:
type: string
format: date-time
todate_PS01:
name: todate
in: query
description: Use with fromdate instead of days to get data for a date period
required: false
schema:
type: string
format: date-time
period_PS01:
name: period
in: query
description: "Limit position per vessel. Omit to get all the available positions Values are: \n - hourly:\
\ get one position per hour
\n - daily: get one position per day
\n
"
required: false
schema:
type: string
msgtype_PS01:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, the response includes also weather data"
required: false
schema:
type: string
default: simple
protocol:
name: protocol
in: query
description: "Response type. Use one of the following: \n - xml
\n - csv
\n - json
\n - jsono
"
required: false
schema:
type: string
default: xml
MINLAT_PS01:
name: MINLAT
in: query
description: Use with MAXLAT, MINLON, MAXLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than 2 If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
MAXLAT_PS01:
name: MAXLAT
in: query
description: Use with MINLAT, MINLON, MAXLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than 2 If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
MINLON_PS01:
name: MINLON
in: query
description: Use with MINLAT, MAXLAT, MAXLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than 2 If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
MAXLON_PS01:
name: MAXLON
in: query
description: Use with MINLAT, MAXLAT, MINLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than 2 If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
shipid_PS01_2:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use imo
or mmsi
required: false
schema:
type: integer
v_PS02:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
timespan_PS02:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions. Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS02:
name: shiptype
in: query
description: "Filter data by vessel type: \n - 2: Fishing
\n - 4: High Speed Craf
\n - 6: Passenger
\n\
\ - 7: Cargo
\n - 8: Tanker
"
required: false
schema:
type: integer
msgtype_PS02:
name: msgtype
in: query
description: "Resolution of the response. Available values: \n - simple
\n - extended
\n - full
\n\
If used with the value extended or full, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS03:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
vessel_type:
name: vesseltypeid
in: query
description: Filter vessels based on vessel types, comma separated ids supported more
required: false
schema:
type: integer
timespan_PS03:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS03:
name: shiptype
in: query
description: "Filter data by vessel type: \n - 2: Fishing
\n - 4: High Speed Craf
\n - 6: Passenger
\n\
\ - 7: Cargo
\n - 8: Tanker
"
required: false
schema:
type: integer
msgtype_PS03:
name: msgtype
in: query
description: "Resolution of the response. Available values: \n - simple
\n - extended
\n - full
\n\
If used with the value extended or full, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS04:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
timespan_PS04:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS04:
name: shiptype
in: query
description: "Filter data by vessel type: \n - 2: Fishing
\n - 4: High Speed Craf
\n - 6: Passenger
\n\
\ - 7: Cargo
\n - 8: Tanker
"
required: false
schema:
type: integer
msgtype_PS04:
name: msgtype
in: query
description: "Resolution of the response. Available values: \n - simple
\n - extended
\n - full
\n\
If used with the value extended or full, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS05:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
timespan_PS05:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS05:
name: shiptype
in: query
description: "Filter data by vessel type: \n - 2: Fishing
\n - 4: High Speed Craf
\n - 6: Passenger
\n\
\ - 7: Cargo
\n - 8: Tanker
"
required: false
schema:
type: integer
msgtype_PS05:
name: msgtype
in: query
description: "Resolution of the response. Available values: \n - simple
\n - extended
\n - full
\n\
If used with the value extended or full, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS06:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
v_MTA030AD_1:
name: v
in: query
description: Use latest version **9**
required: true
schema:
type: integer
v_MTA030AD_2:
name: v
in: query
description: Use latest version **2**
required: true
schema:
type: integer
v_MTA030AD_3:
name: v
in: query
description: Use latest version **6**
required: true
schema:
type: integer
timespan_PS06:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions. Maximum value is 2880
required: false
schema:
type: integer
default: 5
shiptype_PS06:
name: shiptype
in: query
description: "Filter data by vessel type: \n - 2: Fishing
\n - 4: High Speed Craf
\n - 6: Passenger
\n\
\ - 7: Cargo
\n - 8: Tanker
"
required: false
schema:
type: integer
MAXLAT_PS06:
name: MAXLAT
in: query
description: Use with MINLAT, MINLON, MAXLON to define an area and retrieve positional information of vessels sailing
in it
required: true
schema:
type: number
MINLON_PS06:
name: MINLON
in: query
description: Use with MINLAT, MAXLAT, MAXLON to define an area and retrieve positional information of vessels sailing
in it
required: true
schema:
type: number
MAXLON_PS06:
name: MAXLON
in: query
description: Use with MINLAT, MINLON, MAXLAT to define an area and retrieve positional information of vessels sailing
in it
required: true
schema:
type: number
MINLAT_PS06:
name: MINLAT
in: query
description: Use with MAXLAT, MINLON, MAXLON to define an area and retrieve positional information of vessels sailing
in it
required: true
schema:
type: number
msgtype_PS06:
name: msgtype
in: query
description: "Resolution of the response. Available values: \n - simple
\n - extended
\n - full
\n\
If used with the value extended or full, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS07:
name: v
in: query
description: Version of the service to be executed. Use version 5 to get the latest
required: true
schema:
type: integer
default: 1
shipid_PS07:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use imo
or mmsi
required: true
schema:
type: integer
imo_PS07:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
mmsi_PS07:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
required: false
schema:
type: integer
timespan_PS07:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions. Maximum value is 2880
required: false
schema:
type: integer
default: 2
msgtype_PS07:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, the response includes scheduled static and voyage related vessel data report (AIS\
\ Message 5). In this case your request frequency might be limited (depending on your service terms) If\
\ omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS08:
name: v
in: query
description: Version of the service to be executed. Use version 1 to get the latest
required: true
schema:
type: integer
default: 1
timespan_PS08:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions. Maximum value is 2880
required: false
schema:
type: integer
default: 5
shiptype_generic_PS08:
name: shiptype_generic
in: query
description: Filter vessels based on generic vessel types, comma separated values supported Vessel type ID
should be used and not vessel type name (2=Fishing / 4=High Speed Craft / 6=Passenger / 7=Cargo / 8=Tanker)
Should not be combined with shiptype_detailed filter
required: false
schema:
type: integer
shiptype_detailed_PS08:
name: shiptype_detailed
in: query
description: Filter vessels based on detailed vessel types, comma separated values supported Vessel type
ID should be used and not vessel type name - more
Should not be combined with shiptype_generic filter
required: false
schema:
type: integer
msgtype_PS08:
name: msgtype
in: query
description: "Resolution of the response. Available values: \n - simple
\n - extended
\n - full
\n\
If used with the value extended or full, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
timespan_MTA030AD:
name: timespan
in: query
description: Overrides the default timespan
required: false
schema:
type: integer
default: 5
v_EV01:
name: v
in: query
description: Version of the service to be executed. Use version 6 to get the latest
required: true
schema:
type: integer
default: 1
shipid_EV01:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use imo
or mmsi
required: true
schema:
type: integer
mmsi_EV01:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
required: false
schema:
type: integer
imo_EV01:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
timespan_EV01:
name: timespan
in: query
description: The maximum age, in minutes, of the returned port calls. Maximum value is 2880
required: false
schema:
type: integer
default: 2
movetype_EV01:
name: movetype
in: query
description: Use 0 to only receive arrivals or 1 to only receive departures. If not used, the response will include
both
required: false
schema:
type: integer
exclude_intransit_EV01:
name: exclude_intransit
in: query
description: Use 1 to exclude vessels in transit
required: false
schema:
type: integer
fromdate_EV01:
name: fromdate
in: query
description: 'Portcalls between fromdate and todate. Maximum period requested 190 days Date format: YYYY-MM-DD
HH:MM'
required: false
schema:
type: string
format: date-time
todate_EV01:
name: todate
in: query
description: 'Portcalls between fromdate and todate. Maximum period requested 190 days Date format: YYYY-MM-DD
HH:MM'
required: false
schema:
type: string
format: date-time
dwt_min_EV01:
name: dwt_min
in: query
description: 'Data filter: minimum DWT Applicable to IMO-having vessels'
required: false
schema:
type: integer
dwt_max_EV01:
name: dwt_max
in: query
description: 'Data filter: maximum DWT Applicable to IMO-having vessels'
required: false
schema:
type: integer
gt_min_EV01:
name: gt_min
in: query
description: 'Data filter: minimum GT Applicable to IMO-having vessels'
required: false
schema:
type: integer
gt_max_EV01:
name: gt_max
in: query
description: 'Data filter: maximum GT Applicable to IMO-having vessels'
required: false
schema:
type: integer
market_EV01:
name: market
in: query
description: Define market(s) for which you would like to receive port calls (single or comma separated values) - more
required: false
schema:
type: string
msgtype_EV01:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, the response includes voyage related data since the previous port call"
required: false
schema:
type: string
default: simple
v_EV02:
name: v
in: query
description: Version of the service to be executed. Use version 2 to get the latest
required: true
schema:
type: integer
default: 1
shipid_EV02:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use imo
or mmsi
required: true
schema:
type: integer
mmsi_EV02:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
required: false
schema:
type: integer
imo_EV02:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
timespan_EV02:
name: timespan
in: query
description: The maximum age, in minutes, of the returned port calls. Maximum value is 2880
required: false
schema:
type: integer
default: 60
fromdate_EV02:
name: fromdate
in: query
description: 'Vessel Events between fromdate and todate Date format: YYYY-MM-DD HH:MM:SS'
required: false
schema:
type: string
format: date-time
todate_EV02:
name: todate
in: query
description: 'Vessel Events between fromdate and todate Date format: YYYY-MM-DD HH:MM:SS'
required: false
schema:
type: string
format: date-time
event_type_EV02:
name: event_type
in: query
description: You may use one or more event ids in comma separated format for the events you wish to receive
required: false
schema:
type: integer
limit_events_EV02:
name: limit_events
in: query
description: Limit the number of results
required: false
schema:
type: integer
v_EV03:
name: v
in: query
description: Version of the service to be executed. Use version 3 to get the latest
required: true
schema:
type: integer
default: 1
shipid_EV03:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use imo
or mmsi
required: true
schema:
type: integer
mmsi_EV03:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
required: false
schema:
type: integer
imo_EV03:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
timespan_EV03:
name: timespan
in: query
description: The maximum age, in minutes, of the returned port calls. Maximum value is 2880
required: false
schema:
type: integer
default: 2
fromdate_EV03:
name: fromdate
in: query
description: 'Return Berth Calls where DOCK_TIMESTAMP_UTC is equal to or greater than provided fromdate. Maximum period
requested 15 days Date format: YYYY-MM-DD HH:MM:SS.'
required: false
schema:
type: string
format: date-time
todate_EV03:
name: todate
in: query
description: 'Return Berth Calls where DOCK_TIMESTAMP_UTC is equal to or less than provided todate. Maximum period requested
15 days Date format: YYYY-MM-DD HH:MM:SS'
required: false
schema:
type: string
format: date-time
market_EV03:
name: market
in: query
description: "Define market for which you would like to receive berth calls - more \n - if undefined and ship-class is also undefined, then return all
\n - if undefined and\
\ ship-class is defined, return based on ship-class
\n - if defined and ship-class is undefined, return all\
\ ship-classes of the specific market
\n
"
required: false
schema:
type: string
shipclass_EV03:
name: shipclass
in: query
description: Define ship class of interest - more
required: false
schema:
type: integer
dwt_min_EV03:
name: dwt_min
in: query
description: 'Data filter: minimum DWT Use it to filter by size Cargo and Tanker IMO-having vessels (shiptype
= 7,8)'
required: false
schema:
type: integer
dwt_max_EV03:
name: dwt_max
in: query
description: 'Data filter: maximum DWT Use it to filter by size Cargo and Tanker IMO-having vessels (shiptype
= 7,8)'
required: false
schema:
type: integer
gt_min_EV03:
name: gt_min
in: query
description: 'Data filter: minimum GT Applicable to IMO-having vessels'
required: false
schema:
type: integer
gt_max_EV03:
name: gt_max
in: query
description: 'Data filter: maximum GT Applicable to IMO-having vessels'
required: false
schema:
type: integer
movetype_EV03:
name: movetype
in: query
description: Use 0 to include both, 1 to only receive dockings or 2 for only undockings within the defined period. If
not used, only dockings are returned Available only from version 2 of the service
required: false
schema:
type: integer
msgtype_EV03:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, the response includes voyage related data since the previous port call"
required: false
schema:
type: string
default: simple
portid_EV01:
name: portid
in: query
description: The MarineTraffic ID of the port you wish to monitor (found on the URL of the respective Port page) or
port UN/LOCODE
required: true
schema:
type: integer
portid_EV03:
name: portid
in: query
description: The MarineTraffic ID of the port you wish to monitor (found on the URL of the respective Port page)
You can instead use port_unlocode, berthid or terminalid
required: true
schema:
type: integer
port_unlocode_EV03:
name: port_unlocode
in: query
description: Port UN LOCODE (without gaps or spaces)
required: false
schema:
type: integer
berthid_EV03:
name: berthid
in: query
description: 'The MarineTraffic ID of the berth you wish to monitor (list to be provided upon request) '
required: false
schema:
type: integer
terminalid_EV03:
name: terminalid
in: query
description: The MarineTraffic ID of the terminal you wish to monitor (list to be provided upon request)
required: false
schema:
type: integer
vessel_id_VD01:
name: vessel_id
in: query
description: The Maritime Mobile Service Identity (MMSI) or the IMO number of the vessel You can instead
use shipid
required: true
schema:
type: integer
shipid_VD01:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel
required: false
schema:
type: integer
v_VD02:
name: v
in: query
description: Version of the service to be executed. Use version 5 to get the latest
required: true
schema:
type: integer
default: 1
msgtype_VD02:
name: msgtype
in: query
description: "Resolution of the response. Available values: "
required: false
schema:
type: string
default: simple
mmsi_VD02:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track (single or comma separated
values) You can instead use imo or shipid
required: true
schema:
type: integer
imo_VD02:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track (single or comma separated
values)
required: false
schema:
type: integer
shipid_VD02:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel (single or comma separated values)
required: false
schema:
type: integer
timespan_VD02:
name: timespan
in: query
description: The timespan parameter defines the period of time, during which we want to receive the change in a vessel's
details The maximum value can be either 5 when the interval parameter is set to days or 2880 when the interval
is set to minutes
required: false
schema:
type: integer
interval_VD02:
name: interval
in: query
description: The interval parameter can be either minutes or days
required: false
schema:
type: string
default: minutes
page_VD02:
name: page
in: query
description: Page number of the results to be returned
required: false
schema:
type: integer
default: 1
shipid_VD03:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel You can instead use mmsi
or imo
required: true
schema:
type: integer
mmsi_VD03:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track NOTE: Using
MMSI may potentially return multiple records as multiple vessels might have transponded the same MMSI
required: false
schema:
type: integer
imo_VD03:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track NOTE:
Using IMO may potentially return multiple records as multiple vessels might have transponded the same IMO
required: false
schema:
type: integer
shiptype_VD03:
name: shiptype
in: query
description: "Filter data by vessel type: \n - 2: Fishing
\n - 4: High Speed Craf
\n - 6: Passenger
\n\
\ - 7: Cargo
\n - 8: Tanker
"
required: false
schema:
type: integer
type_name_id_VD03:
name: type_name_id
in: query
description: 'Data filter: AIS Shiptype Find more information here'
required: false
schema:
type: integer
shipname_VD03:
name: shipname
in: query
description: The vessel name. The results will contain all vessels whose name is like the given words
required: true
schema:
type: string
v_VI01:
name: v
in: query
description: Version of the service to be executed. Use version 2 to get the latest
required: true
schema:
type: integer
default: 1
mmsi_VI01:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track You can instead
use imo or shipid
required: true
schema:
type: integer
imo_VI01:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
shipid_VI01:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel
required: false
schema:
type: integer
msgtype_VI01:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, the response includes voyage related information (eg. distance travelled and to-go,\
\ load condition) and the estimated route to the vessel's destination"
required: false
schema:
type: string
default: simple
fleet_id_VI01:
name: fleet_id
in: query
description: The fleet id you wish to receive voyage forecast for
required: true
schema:
type: integer
mmsi_VI04:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track You can instead
use imo or shipid
required: true
schema:
type: integer
imo_VI04:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
shipid_VI04:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel
required: false
schema:
type: integer
fromportid_VI04:
name: fromportid
in: query
description: The MarineTraffic ID of the port you wish to receive a prediction (found on the URL of the respective Port
page)
required: false
schema:
type: integer
fleet_id_VI04:
name: fleet_id
in: query
description: The MarineTraffic ID of the fleet you wish to track
required: true
schema:
type: integer
v_VI07:
name: v
in: query
description: Version of the service to be executed. Use version 2 to get the latest
required: true
schema:
type: integer
default: 1
portid_VI07:
name: portid
in: query
description: The MarineTraffic ID of the port you wish to receive ETA info You can instead use unlocode
required: true
schema:
type: integer
unlocode_VI07:
name: unlocode
in: query
description: The UN LOCODE (without gaps or spaces) of the port you wish to receive ETA info
required: false
schema:
type: string
mmsi_VI07:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track You can instead
use imo or shipid
required: true
schema:
type: integer
imo_VI07:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
shipid_VI07:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel
required: false
schema:
type: integer
speed_calc_VI07:
name: speed_calc
in: query
description: "The Speed of the Vessel that MarineTraffic will use to produce the ETA value \n - if not defined\
\ the last average speed of the Vessel will be used
\n - if no average speed exists then a default value of\
\ 12(kn) will be used
\n
"
required: false
schema:
type: integer
msgtype_VI07:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, the response includes voyage related data"
required: false
schema:
type: string
default: simple
v_VI02:
name: v
in: query
description: Version of the service to be executed. Use version 4 to get the latest
required: true
schema:
type: integer
default: 1
portid_VI02:
name: portid
in: query
description: The MarineTraffic ID of the port (found on the URL of the respective Port page)
required: true
schema:
type: integer
timespan_VI02:
name: timespan
in: query
description: Number of days in the future to look for expected arrivals, starting from the time the API call is requested
Maximum value is 40 days If neither this nor the fromdate/todate parameters are used, the response
only includes vessels currently in port (or the country’s ports) and the last vessel's signal is received during the
last 2 days
required: false
schema:
type: integer
days_last_signal_VI02:
name: days_last_signal
in: query
description: Include vessels currently in port that have transmitted a position within the last x days (based on their
last signal timestamp). This parameter only works when no other timeframe is defined.
required: false
schema:
type: integer
fromdate_VI02:
name: fromdate
in: query
description: 'Timestamp in the future to start looking for expected arrivals. If used, then you should also define the
todate parameter Date format: YYYY-MM-DD HH:MM:SS'
required: false
schema:
type: string
format: date-time
todate_VI02:
name: todate
in: query
description: 'Timestamp in the future to start looking for expected arrivals. If used, then you should also define the
fromdate parameter Date format: YYYY-MM-DD HH:MM:SS'
required: false
schema:
type: string
format: date-time
fromportid_VI02:
name: fromportid
in: query
description: The MarineTraffic ID of the previous port (found on the URL of the respective Port page) or previous port
UNLOCODE
required: false
schema:
type: integer
shiptype_VI02:
name: shiptype
in: query
description: "Filter data by vessel type: \n - 2: Fishing
\n - 4: High Speed Craf
\n - 6: Passenger
\n\
\ - 7: Cargo
\n - 8: Tanker
"
required: false
schema:
type: integer
dwt_min_VI02:
name: dwt_min
in: query
description: 'Data filter: minimum DWT Use it to filter by size Cargo and Tanker IMO-having vessels (shiptype
= 7,8). If used, then you should also define the dwt_max parameter'
required: false
schema:
type: integer
dwt_max_VI02:
name: dwt_max
in: query
description: 'Data filter: maximum DWT Use it to filter by size Cargo and Tanker IMO-having vessels (shiptype
= 7,8). If used, then you should also define the dwt_min parameter'
required: false
schema:
type: integer
gt_min_VI02:
name: gt_min
in: query
description: 'Data filter: minimum GT Applicable to IMO-having vessels. If used, then you should also define
the gt_max parameter'
required: false
schema:
type: integer
gt_max_VI02:
name: gt_max
in: query
description: 'Data filter: maximum GT Applicable to IMO-having vessels. If used, then you should also define
the gt_min parameter'
required: false
schema:
type: integer
msgtype_VI02:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, apart from the ETA information, the response includes main vessel particulars. If\
\ omitted, the returned records include only position and ETA reports"
required: false
schema:
type: string
default: simple
country_VI02:
name: country
in: query
description: The Country code of interest. Response includes all ports within the Country
required: true
schema:
type: integer
portid_VI05:
name: portid
in: query
description: The MarineTraffic ID of the port you wish to receive probable visits (found on the URL of the respective
Port page)
required: true
schema:
type: integer
market_VI05:
name: market
in: query
description: "Define market for which you would like to receive probable visits - more \n - if undefined and ship-class is also undefined, then return all
\n - if undefined and\
\ ship-class is defined, return based on ship-class
\n - If defined and ship-class is undefined, return all\
\ ship-classes of the specific market
\n
"
required: false
schema:
type: integer
shipclass_VI05:
name: shipclass
in: query
description: Define ship class of interest - more
required: false
schema:
type: integer
probability_VI05:
name: probability
in: query
description: Define probability over which you would like to receive probable visits (accepted > 0.3)
required: false
schema:
type: integer
portid_VI06:
name: portid
in: query
description: The MarineTraffic ID of the port for which you wish to retrieve congestion metrics (found on the URL of
the respective Port page). If you wish to retrieve congestion metrics for all ports, instead of portid
use agg_port=1
required: true
schema:
type: integer
year_VI06:
name: year
in: query
description: Year of interest (data available back to 1 year). Information further back can be requested ad-hoc
required: true
schema:
type: integer
week_VI06:
name: week
in: query
description: Week of Year that is of interest (e.g. for week 18/2018 input 18). For range of weeks use comma e.g. for
weeks 30 to 35 (30,35)
required: true
schema:
type: integer
market_VI06:
name: market
in: query
description: "Define market for which you would like to receive port congestion - more \n - if undefined and ship-class is also undefined, then figures for ALL markets/ship-class
\n\
\ - if undefined and ship-class is defined, returns based on ship-class for ALL applicable to size class markets
\n\
\ - if defined and ship-class is undefined, returns figures for the specific market (no size class breakdown)
\n\
If you wish to retrieve congestion metrics for all markets, instead of market use agg_market\
\ query parameter (=0 or =1)"
required: true
schema:
type: integer
shipclass_VI06:
name: shipclass
in: query
description: Define ship class of interest - more
If you wish to retrieve congestion metrics for all ship classes, instead of shipclass use agg_shipclass
query parameter (=0 or =1)
required: true
schema:
type: integer
agg_port_VI06:
name: agg_port
in: query
description: "**If used, portid should not be in request** \n - when agg_port = 1 is used, aggregation result\
\ of all ports are returned
\n - when agg_port = 1 is used, agg_market cannot be 1
\n
"
required: false
schema:
type: integer
agg_market_VI06:
name: agg_market
in: query
description: "**If used, market should not be in request** \n - if agg_market = 1, aggregation result of all\
\ markets will be returned
\n - if 0, a breakdown of markets will be returned
\n
"
required: false
schema:
type: integer
agg_shipclass_VI06:
name: agg_shipclass
in: query
description: "**If used, shipclass should not be in request** \n - if agg_shipclass = 1, aggregation result of\
\ all classes will be returned
\n - if 0, a breakdown of classes will be returned
\n
"
required: false
schema:
type: integer
time_anch_VI06:
name: time_anch
in: query
description: 'The median number of days spent at anchorage by the selected market/shipclass.
Values indicate in between set to be returned Comma separated float
numbers (one decimal)
Available only if extended version of the API is used'
required: false
schema:
type: string
time_port_VI06:
name: time_port
in: query
description: The median number of days spent at port by the selected market/shipclass. Values indicate in between set
to be returned Comma separated float numbers (one decimal) Available only if extended version
of the API is used
required: false
schema:
type: string
vessels_VI06:
name: vessels
in: query
description: Number of vessels that were used in the median calculations. Value of parameter indicates greater than
relation Available only if extended version of the API is used
required: false
schema:
type: integer
calls_VI06:
name: calls
in: query
description: Number of individual calls that were used in the median calculations (e.g. if the same vessel has called
twice within the same week, it will count twice in calls and once in vessels. Value of parameter indicates greater
than relation Available only if extended version of the API is used
required: false
schema:
type: integer
time_anch_stdev_VI06:
name: time_anch_stdev
in: query
description: The standard deviation of days spent at anchorage the previous week. Values indicate in between set to
be returned (time_anch_stdev:0.5,1.5) Comma separated float numbers (one decimal) Available
only if full version of the API is used
required: false
schema:
type: string
time_anch_diff_VI06:
name: time_anch_diff
in: query
description: The week-to-week difference of number of days spent at anchorage. Values indicate in between set to be
returned Comma separated float numbers (one decimal) Available only if full version of the
API is used
required: false
schema:
type: string
time_anch_diff_perc_VI06:
name: time_anch_diff_perc
in: query
description: The week-to-week difference of number of days spent at anchorage as a percentage. Values indicate in between
set to be returned Comma separated float numbers (one decimal) Available only if full version
of the API is used
required: false
schema:
type: string
time_port_stdev_VI06:
name: time_port_stdev
in: query
description: The standard deviation of days spent at port the previous week. Values indicate in between set to be returned
(time_port_stdev:0.5,1.5) Comma separated float numbers (one decimal) Available only if full
version of the API is used
required: false
schema:
type: string
time_port_diff_VI06:
name: time_port_diff
in: query
description: The week-to-week difference of number of days spent at port. Values indicate in between set to be returned
Comma separated float numbers (one decimal) Available only if full version of the API is used
required: false
schema:
type: string
time_port_diff_perc_VI06:
name: time_port_diff_perc
in: query
description: The week-to-week difference of number of days spent at port as a percentage. Values indicate in between
set to be returned Comma separated float numbers (one decimal) Available only if full version
of the API is used
required: false
schema:
type: string
mmsi_VI03:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track You can instead
use imo or shipid
required: true
schema:
type: integer
imo_VI03:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
shipid_VI03:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel
required: false
schema:
type: integer
port_target_id_VI03:
name: port_target_id
in: query
description: The MarineTraffic ID of the port you wish to put as target port (found on the URL of the respective Port
page) or port UN/LOCODE
required: true
schema:
type: integer
includealternatives_VI03:
name: includealternatives
in: query
description: Use 1 to search for all available routes regarding the specific journey or 0 to not include alternative
routes
required: false
schema:
type: integer
includeinland_VI03:
name: includeinland
in: query
description: Use 1 in order to receive routes which include inland waterways or 0 to not include alternative routes
required: false
schema:
type: integer
msgtype_VI03:
name: msgtype
in: query
description: "Resolution of the response. Available values: If used\
\ with the value extended, the response includes also route/waypoints as Linestring Geometry in WKT - Well-Known\
\ Text"
required: false
schema:
type: string
default: simple
port_start_id_VI03:
name: port_start_id
in: query
description: The MarineTraffic ID of the port you wish to put as starting point (found on the URL of the respective
Port page) or port UN/LOCODE
required: true
schema:
type: integer
LAT_VI03:
name: LAT
in: query
description: The latitude of the starting point It can be used together with LON instead of port_start_id
required: false
schema:
type: number
LON_VI03:
name: LON
in: query
description: The longitude of the starting point It can be used together with LAT instead of port_start_id
required: false
schema:
type: integer
coordinates_GI01:
name: coordinates
in: query
description: A latitude/longitude pair that you wish to receive the MarineTraffic areas/assets that intersects with
required: true
schema:
type: string
radius_GI01:
name: radius
in: query
description: Maximum distance (in NM) from the given point that should be searched for nearby areas/assets
Cannot be greater than 10NM
required: false
schema:
type: number
exclude_ports_GI01:
name: exclude_ports
in: query
description: Flag that indicates if Ports information will be excluded from response in case given point intersects
with them (0:no, 1:yes)
required: false
schema:
type: integer
exclude_berths_GI01:
name: exclude_berths
in: query
description: Flag that indicates if Berths information will be excluded from response in case given point intersects
with them (0:no, 1:yes)
required: false
schema:
type: integer
exclude_terminals_GI01:
name: exclude_terminals
in: query
description: Flag that indicates if Terminals information will be excluded from response in case given point intersects
with them (0:no, 1:yes)
required: false
schema:
type: integer
exclude_standard_areas_GI01:
name: exclude_standard_areas
in: query
description: Flag that indicates if Standard Areas information will be excluded from response in case given point intersects
with them (0:no, 1:yes)
required: false
schema:
type: integer
exclude_custom_areas_GI01:
name: exclude_custom_areas
in: query
description: Flag that indicates if Custom Areas information will be excluded from response in case given point intersects
with them (0:no, 1:yes)
required: false
schema:
type: integer
mmsi_PU01:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to handle, comma separated values supported
You can instead use imo or shipid
required: true
schema:
type: integer
imo_PU01:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to handle, comma separated
values supported
required: false
schema:
type: integer
shipid_PU01:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel, comma separated values supported
required: false
schema:
type: integer
fleet_id_PU01:
name: fleet_id
in: query
description: If used, vessel will be added to the specific fleet, otherwise default fleet is used
required: false
schema:
type: integer
active_PU01:
name: active
in: query
description: "Possible values are: \n - 0 to set to inactive
\n - 1 to activate
\n - 2 to enable\
\ satellite coverage
\n
"
required: false
schema:
type: integer
delete_PU01:
name: delete
in: query
description: Set this parameter to 1 to delete a vessel from your fleet
required: false
schema:
type: integer
v_PU02:
name: v
in: query
description: Version of the service to be executed. Use version 2 to get the latest
required: true
schema:
type: integer
default: 1
fleet_id_PU02:
name: fleet_id
in: query
description: If used, will return specific fleet otherwise default fleet is used
required: false
schema:
type: integer
page_PU02:
name: page
in: query
description: Specifies the number of the results page to return. Use this parameter to navigate through paginated results
(with version 2) when the fleet contains more than 100 vessels.
required: false
schema:
type: integer
fleet_id_PU05:
name: fleet_id
in: query
description: The fleet id you wish to clear
required: true
schema:
type: integer
content_type_pu06:
name: Content-Type
in: header
description: Request's Content-Type
required: true
schema:
type: string
default: multipart/form-data
schemas:
429_too_many_requests:
title: Too many requests
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
detail:
type: string
description: Error message
example:
errors:
- code: 1r
detail: TOO MANY REQUESTS
200_vi03_default:
title: Simple
type: array
items:
type: object
properties:
DISTANCE:
type: string
description: The Distance (in NM) between the specified point or port to the destination port
PANAMA:
type: string
description: Flag to indicate whether the vessel route passes via the Panama canal (0:no, 1:yes)
SUEZ:
type: string
description: Flag to indicate whether the vessel route passes via the Suez canal (0:no, 1:yes)
example:
- DISTANCE: '2938'
PANAMA: '0'
SUEZ: '0'
200_vi03_extended:
title: Extended
type: array
items:
type: object
properties:
DISTANCE:
type: string
description: The Distance (in NM) between the specified point or port to the destination port
PANAMA:
type: string
description: Flag to indicate whether the vessel route passes via the Panama canal (0:no, 1:yes)
SUEZ:
type: string
description: Flag to indicate whether the vessel route passes via the Suez canal (0:no, 1:yes)
FINAL_PATH:
type: string
description: Route/Waypoints as Linestring Geometry in WKT - Well-Known Text
example:
- DISTANCE: '2938'
PANAMA: '0'
SUEZ: '0'
FINAL_PATH: LINESTRING (23.6031 37.9345, 23.6022 37.8302, 23.7127 37.6496, 23.7056 37.6035, 23.6234 37.3639, 23.4216
36.9451, 23.229 36.4224, 23.1209 36.4007, 22.9908 36.4161, 22.8799 36.4056, 22.5453 36.3436, 22.0771 36.3505, 19.8853
36.3859, 17.0453 36.4213, 16.0126 36.4389, 14.5459 36.461, 12.2835 37.0352, 11.0962 37.4966, 10.2338 37.6534, 9.5746
37.6577, 8.8824 37.6447, 7.8552 37.5924, 6.2292 37.4225, 4.3781 37.2391, 3.5815 37.1472, 2.2467 37.0245, 0.1648
36.7609, -1.9391 36.4655, -2.9718 36.3328, -4.021 36.2132, -5.3448 36.0269, -5.5563 35.9713, -5.8612 35.9625, -6.1963
35.9558, -9.0088 36.6948, -9.1681 36.7609, -9.3109 36.884, -9.3713 37.1341, -9.657 38.1043, -9.8602 38.7455, -9.8492
39.0491, -9.8492 39.6818, -9.8383 40.1873, -9.7998 42.3829, -9.7943 42.9444, -9.7778 43.2091, -6.861 47.1486, -5.9876
48.3051, -5.6195 48.7562, -5.1691 48.9442, -4.5428 49.1781, -3.3893 49.6214, -2.9169 49.8026, -2.439 49.8911, -1.5491
50.0501, -0.3571 50.2612, 0.9668 50.4889, 1.3528 50.7125, 1.4177 50.8727, 1.4687 50.906, 1.7071 51.0776, 2.0596
51.2246, 2.2412 51.4745, 3.1406 52.1546, 3.5788 52.4091, 4.1803 52.4844, 4.5456 52.4644, 4.6609 52.4627, 4.6788
52.4526, 4.7173 52.4351, 4.7392 52.4301, 4.7763 52.4251, 4.7955 52.4234, 4.8225 52.4197, 4.8581 52.4147, 4.8793
52.4083, 4.8985 52.389)
400_vi03_invalid_ship_identifier:
title: Invalid ship identifier
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
detail:
type: string
description: Error message
example:
errors:
- code: '2'
detail: VESSEL MMSI OR IMO OR SHIPID MISSING
400_vi03_missing_or_invalid_port_identifier:
title: Missing or invalid port identifier
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
detail:
type: string
description: Error message
example:
errors:
- code: 2a6
detail: PORT IS MISSING