Events API
Explore vessel activity: apparent fishing, encounters between vessel types, loitering, port visits and AIS gaps.
Introduction Events API
Events API allows you to explore different activities of a vessel. You can analyze:
- apparent fishing events
- encounters between these vessel types: fishing-carrier, fishing-support, fishing-bunker, fishing-fishing, tanker-fishing, carrier-bunker and support-banker.
- In this API Portal we are offering more encounter types compared to our Public Map
- loitering for all vessel types
- port visits for all vessel types
- AIS off (aka GAPs) for all vessel types
Check more detail about data caveats here.
Event responses are paginated. See Pagination for how limit, offset, and nextOffset work.
REMINDER! Change the API Dataset to select the event type:
- For fishing events, use
public-global-fishing-events:latest - For encounters events, use
public-global-encounters-events:latest - For loitering events, use
public-global-loitering-events:latest - For port visits, use
public-global-port-visits-events:latest - For AIS off event, use
public-global-gaps-events:latest
Get All Events (GET endpoint)
We recommend use the GET endpoint if you are using the API from a Web APP because you can take advantage of the Browser cache to improve the load speed
Events GET
Authorization
ApiKeyAuth In: header
Query Parameters
Vessel types. Possible values: BUNKER,CARGO,DISCREPANCY,CARRIER,FISHING,GEAR,OTHER,PASSENGER,SEISMIC_VESSEL,SUPPORT,NON_FISHING,RESEARCH,
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Flags in format ISO3.
Operators to apply for the filter: [INCLUDE, EXCLUDE]
List of vessel ids separated by comma. You can get this information using the search endpoints
Ids of vessel-groups
Event types. Possible values: ENCOUNTER,FISHING,LOITERING,GAP_START,GAP,PORT_VISIT
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Start date in format YYYY-MM-DD of the start date of the event (inclusive)
End date in format YYYY-MM-DD of the end date of the event (exclusive)
This param applies only to port visits events, check data caveats to understand the different levels. Values go from 2 to 4, where 2 is low confidence, 3 is medium and 4 is high confidence. Values are separated by comma. Possible values: 2, 3, 4
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Possible values: FISHING-BUNKER, BUNKER-FISHING, FISHING-TANKER, TANKER-FISHING, CARRIER-BUNKER, BUNKER-CARRIER, SUPPORT-BUNKER, BUNKER-SUPPORT, FISHING-NON_FISHING, FISHING-RESEARCH, FISHING-, NON_FISHING-FISHING, NON_FISHING-NON_FISHING, NON_FISHING-SUPPORT, NON_FISHING-CARRIER, NON_FISHING-RESEARCH, NON_FISHING-, SUPPORT-NON_FISHING, SUPPORT-RESEARCH, SUPPORT-, CARRIER-NON_FISHING, CARRIER-CARRIER, CARRIER-RESEARCH, CARRIER-, RESEARCH-FISHING, RESEARCH-NON_FISHING, RESEARCH-SUPPORT, RESEARCH-CARRIER, RESEARCH-RESEARCH, RESEARCH-, -FISHING, -NON_FISHING, -SUPPORT, -CARRIER, -RESEARCH, -, FISHING-FISHING, FISHING-SUPPORT, FISHING-CARRIER, SUPPORT-FISHING, SUPPORT-SUPPORT, SUPPORT-CARRIER, CARRIER-FISHING, CARRIER-SUPPORT
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Flag to specify if you want to get those gaps that were intentional or not true means that the gap was intentional, false means that the gap was not intentional. If the flag is not present, then the response contains all gaps.
Specify the properties that you want to obtain. If it's empty, the response will contains all data.
Port ids to filter by
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Time filter mode
"OVERLAP"Dataset of regions to filter by
Dataset ids of regions to filter by
Distance to draw the buffer (negative values are allowed)
Distance to draw the buffer (negative values are allowed)
Value in
- "MILES"
- "NAUTICALMILES"
- "KILOMETERS"
- "RADIANS"
- "DEGREES"
Operation to apply to the region after the buffer. Only works together with buffer-value and buffer-unit query param. If not send, the default operation is dissolve
Value in
- "DIFFERENCE"
- "DISSOLVE"
Min duration in hours (inclusive)
Max duration in hours (exclusive)
Next port id
Operators to apply for the filter: [INCLUDE, EXCLUDE]
If the gap event is closed
Specify the datasets that will be used to search the vessel. You can learn more about which are the possible datasets here.
Events ids.
Flag to specify if the matching with regions should be executed or not. Check our data caveats for details on how the region is matching. Default value is True.
Offset into the search results, used for pagination. It starts at 0. It is used in combination with the param “limit”. For example, you send limit = 5 and you get in the response total vessels =10. So, If you send offset =0, you will get the first 5 results (first page). Therefore, in order to get the second page, you need to send offset = 5 which is the position of the first element you want from the second page.
0 <= valueAmount of search results to return.
1 <= valuecurl -X GET "https://example.com/api/v3/events?datasets=public-global-fishing-events%3Alatest&datasets=public-global-encounter-events%3Alatest&offset=0&limit=1"{ "entries": [ { "boundingBox": [ "-26.6544916667", "-27.4231866667", "-58.2073683333", "-58.7976633333" ], "distances": { "endDistanceFromPortKm": "0.0", "endDistanceFromShoreKm": "0.0", "startDistanceFromPortKm": "0.0", "startDistanceFromShoreKm": "0.0" }, "end": "2015-01-04T02:20:00.000Z", "id": "a6e00481737d3e2c9903e1f565c51143", "position": { "lat": "125.2089", "lon": "12.14587" }, "regions": { "eez": [], "eez12Nm": [], "fao": [], "highSeas": [], "majorFao": [], "mpa": [], "mpaNoTake": [], "mpaNoTakePartial": [], "rfmo": [] }, "start": "2015-01-02T23:50:00.000Z", "type": "loitering", "vessel": { "flag": "ESP", "id": "a6e00481737d3e2c9903e1f565c51143", "name": "Don tito", "nextPort": {}, "publicAuthorizations": "12345789", "ssvid": "12345789", "type": "FSIHING" } } ], "limit": 10, "metadata": {}, "nextOffset": 10, "offset": 0, "total": 152}{ "error": "Unauthorized", "messages": [ { "detail": "No authorized", "metadata": {}, "title": "Unauthorized" } ], "statusCode": 401}{ "error": "Forbidden", "messages": [ { "detail": "You do not have permissions to do the action", "metadata": {}, "title": "Forbidden" } ], "statusCode": 403}{ "error": "Unprocessable Entity", "messages": [ { "detail": "Validation exception", "metadata": {}, "title": "Unprocessable Entity" } ], "statusCode": 422}{ "error": "Service Unavailable", "messages": [ { "detail": "Service unavailable", "metadata": {}, "title": "Service Unavailable" } ], "statusCode": 503}Events GET examples
These examples are available:
- Example 1 (GET) - Get Fishing Events
- Example 2 (GET) - Get Encounter Events
- Example 3 (GET) - Get Loitering Events
- Example 4 (GET) - Get Port Visits
Get All Events (POST endpoint)
Events POST
Authorization
ApiKeyAuth In: header
Query Parameters
Offset into the search results, used for pagination. It starts at 0. It is used in combination with the param “limit”. For example, you send limit = 5 and you get in the response total vessels =10. So, If you send offset =0, you will get the first 5 results (first page). Therefore, in order to get the second page, you need to send offset = 5 which is the position of the first element you want from the second page.
0 <= valueAmount of search results to return.
1 <= valueRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Operation to apply to the region after the buffer. Only works together with buffer-value and buffer-unit query param. If not send, the default operation is dissolve
Value in
- "DIFFERENCE"
- "DISSOLVE"
Distance to draw the buffer (negative values are allowed)
Value in
- "MILES"
- "NAUTICALMILES"
- "KILOMETERS"
- "RADIANS"
- "DEGREES"
Distance to draw the buffer (negative values are allowed)
This param applies only to port visits events, check data caveats to understand the different levels. Values go from 2 to 4, where 2 is low confidence, 3 is medium and 4 is high confidence. Values are separated by comma. Possible values: 2, 3, 4
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Specify the datasets that will be used to search the vessel. You can learn more about which are the possible datasets here.
Min duration, in minutes, of the event
Possible values: FISHING-BUNKER, BUNKER-FISHING, FISHING-TANKER, TANKER-FISHING, CARRIER-BUNKER, BUNKER-CARRIER, SUPPORT-BUNKER, BUNKER-SUPPORT, FISHING-NON_FISHING, FISHING-RESEARCH, FISHING-, NON_FISHING-FISHING, NON_FISHING-NON_FISHING, NON_FISHING-SUPPORT, NON_FISHING-CARRIER, NON_FISHING-RESEARCH, NON_FISHING-, SUPPORT-NON_FISHING, SUPPORT-RESEARCH, SUPPORT-, CARRIER-NON_FISHING, CARRIER-CARRIER, CARRIER-RESEARCH, CARRIER-, RESEARCH-FISHING, RESEARCH-NON_FISHING, RESEARCH-SUPPORT, RESEARCH-CARRIER, RESEARCH-RESEARCH, RESEARCH-, -FISHING, -NON_FISHING, -SUPPORT, -CARRIER, -RESEARCH, -, FISHING-FISHING, FISHING-SUPPORT, FISHING-CARRIER, SUPPORT-FISHING, SUPPORT-SUPPORT, SUPPORT-CARRIER, CARRIER-FISHING, CARRIER-SUPPORT
Operators to apply for the filter: [INCLUDE, EXCLUDE]
End date in format YYYY-MM-DD of the end date of the event (exclusive)
Flags in format ISO3.
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Flag to specify if you want to get those gaps that were intentional or not true means that the gap was intentional, false means that the gap was not intentional. If the flag is not present, then the response contains all gaps.
Geojson of the region to filter
Events ids.
Specify the properties that you want to obtain. If it's empty, the response will contains all data.
If the gap event is closed
Max duration in hours (exclusive)
Min duration in hours (inclusive)
Next port id
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Port ids to filter by
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Region info to filter
Dataset of regions to filter by
Dataset ids of regions to filter by
Regions info to filter
Start date in format YYYY-MM-DD of the start date of the event (inclusive)
Time filter mode
"OVERLAP"Event types. Possible values: ENCOUNTER,FISHING,LOITERING,GAP_START,GAP,PORT_VISIT
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Ids of vessel-groups
Vessel types. Possible values: BUNKER,CARGO,DISCREPANCY,CARRIER,FISHING,GEAR,OTHER,PASSENGER,SEISMIC_VESSEL,SUPPORT,NON_FISHING,RESEARCH,
Operators to apply for the filter: [INCLUDE, EXCLUDE]
List of vessel ids separated by comma. You can get this information using the search endpoints
curl -X POST "https://example.com/api/v3/events?offset=0&limit=1" \ -H "Content-Type: application/json" \ -d '{ "datasets": [ "public-global-fishing-events:latest", "public-global-encounter-events:latest" ] }'{ "entries": [ { "boundingBox": [ "-26.6544916667", "-27.4231866667", "-58.2073683333", "-58.7976633333" ], "distances": { "endDistanceFromPortKm": "0.0", "endDistanceFromShoreKm": "0.0", "startDistanceFromPortKm": "0.0", "startDistanceFromShoreKm": "0.0" }, "end": "2015-01-04T02:20:00.000Z", "id": "a6e00481737d3e2c9903e1f565c51143", "position": { "lat": "125.2089", "lon": "12.14587" }, "regions": { "eez": [], "eez12Nm": [], "fao": [], "highSeas": [], "majorFao": [], "mpa": [], "mpaNoTake": [], "mpaNoTakePartial": [], "rfmo": [] }, "start": "2015-01-02T23:50:00.000Z", "type": "loitering", "vessel": { "flag": "ESP", "id": "a6e00481737d3e2c9903e1f565c51143", "name": "Don tito", "nextPort": {}, "publicAuthorizations": "12345789", "ssvid": "12345789", "type": "FSIHING" } } ], "limit": 10, "metadata": {}, "nextOffset": 10, "offset": 0, "total": 152}{ "error": "Unauthorized", "messages": [ { "detail": "No authorized", "metadata": {}, "title": "Unauthorized" } ], "statusCode": 401}{ "error": "Forbidden", "messages": [ { "detail": "You do not have permissions to do the action", "metadata": {}, "title": "Forbidden" } ], "statusCode": 403}{ "error": "Unprocessable Entity", "messages": [ { "detail": "Validation exception", "metadata": {}, "title": "Unprocessable Entity" } ], "statusCode": 422}{ "error": "Service Unavailable", "messages": [ { "detail": "Service unavailable", "metadata": {}, "title": "Service Unavailable" } ], "statusCode": 503}Events POST examples
These examples are available:
- Example 1 (POST) - Get Fishing Events
- Example 2 (POST) - Get Encounter Events
- Example 3 (POST) - Get Loitering Events
- Example 4 (POST) - Get Port Visits
- Example 5 (POST) - Get Fishing Events Within Senegal EEZ
Get one by Event ID
Get by event id
Authorization
ApiKeyAuth In: header
Path Parameters
Query Parameters
Specify the dataset that will be used to search the vessel. You can learn more about which are the possible datasets here.
curl -X GET "https://example.com/api/v3/events/string?dataset=public-global-fishing-events%3Alatest"{ "boundingBox": [ "-26.6544916667", "-27.4231866667", "-58.2073683333", "-58.7976633333" ], "distances": { "endDistanceFromPortKm": "0.0", "endDistanceFromShoreKm": "0.0", "startDistanceFromPortKm": "0.0", "startDistanceFromShoreKm": "0.0" }, "end": "2015-01-04T02:20:00.000Z", "id": "a6e00481737d3e2c9903e1f565c51143", "position": { "lat": "125.2089", "lon": "12.14587" }, "regions": { "eez": [], "eez12Nm": [], "fao": [], "highSeas": [], "majorFao": [], "mpa": [], "mpaNoTake": [], "mpaNoTakePartial": [], "rfmo": [] }, "start": "2015-01-02T23:50:00.000Z", "type": "loitering", "vessel": { "flag": "ESP", "id": "a6e00481737d3e2c9903e1f565c51143", "name": "Don tito", "nextPort": {}, "publicAuthorizations": "12345789", "ssvid": "12345789", "type": "FSIHING" }}{ "error": "Unauthorized", "messages": [ { "detail": "No authorized", "metadata": {}, "title": "Unauthorized" } ], "statusCode": 401}{ "error": "Forbidden", "messages": [ { "detail": "You do not have permissions to do the action", "metadata": {}, "title": "Forbidden" } ], "statusCode": 403}{ "error": "Not Found", "messages": [ { "detail": "[resource] not found", "metadata": {}, "title": "Not Found" } ], "statusCode": 404}{ "error": "Unprocessable Entity", "messages": [ { "detail": "Validation exception", "metadata": {}, "title": "Unprocessable Entity" } ], "statusCode": 422}{ "error": "Service Unavailable", "messages": [ { "detail": "Service unavailable", "metadata": {}, "title": "Service Unavailable" } ], "statusCode": 503}GET A PORT VISIT EVENT BY ITS ID
curl --location --request GET 'https://gateway.api.globalfishingwatch.org/v3/events/c2f0967e061f99a01793edac065de003?dataset=public-global-port-visits-events:latest' \
-H "Authorization: Bearer [TOKEN]"result = await gfw_client.events.get_event_by_id(
id="c2f0967e061f99a01793edac065de003",
dataset="public-global-port-visits-events:latest",
)// Make sure to replace [TOKEN] with your API Access Token.
const res = await fetch(
'https://gateway.api.globalfishingwatch.org/v3/events/c2f0967e061f99a01793edac065de003?dataset=public-global-port-visits-events:latest',
{ headers: { Authorization: 'Bearer [TOKEN]' } }
)
const data = await res.json()Make sure to replace [TOKEN] with your API Access Token. If the request is successful, the response will be:
{
"start": "2020-01-26T05:52:47.000Z",
"end": "2020-01-29T14:39:33.000Z",
"id": "c2f0967e061f99a01793edac065de003",
"type": "port_visit",
"position": {
"lat": 20.8374,
"lon": -17.0161
},
"regions": {
"mpa": [],
"eez": ["8369"],
"rfmo": ["IWC", "NAMMCO", "ACAP", "ICCAT", "SRFC"],
"fao": ["34.1", "34.1.32", "34.1.3", "34"],
"majorFao": ["34"],
"eez12Nm": [],
"highSeas": [],
"mpaNoTakePartial": [],
"mpaNoTake": []
},
"boundingBox": [-17.0147743934, 20.7287971969, -17.0301185356, 20.8284907611],
"distances": {
"startDistanceFromShoreKm": 7,
"endDistanceFromShoreKm": 2,
"startDistanceFromPortKm": 0,
"endDistanceFromPortKm": 0
},
"vessel": {
"id": "8c7304226-6c71-edbe-0b63-c246734b3c01",
"name": "FRIOFORWIN",
"ssvid": "210631000"
},
"port_visit": {
"visitId": "54a297966f51994d8bad91ba58945f8c",
"confidence": 4,
"durationHrs": 80.77944444444445,
"startAnchorage": {
"anchorageId": "0ea1bbe7",
"atDock": false,
"distanceFromShoreKm": 7,
"flag": "MRT",
"id": "mrt-cansado",
"lat": 20.72879719687954,
"lon": -17.014774393446658,
"name": "CANSADO",
"topDestination": "NOUADHIBOU"
},
"intermediateAnchorage": {
"anchorageId": "0ea1b6ad",
"atDock": false,
"distanceFromShoreKm": 4,
"flag": "MRT",
"id": "mrt-nouadhibou",
"lat": 20.885489104200627,
"lon": -17.003218026679036,
"name": "NOUADHIBOU",
"topDestination": "NOUADHIBOU"
},
"endAnchorage": {
"anchorageId": "0ea1b0c3",
"atDock": true,
"distanceFromShoreKm": 2,
"flag": "MRT",
"id": "mrt-cansado",
"lat": 20.828490761089796,
"lon": -17.030118535609358,
"name": "CANSADO",
"topDestination": "NOUADHIBOU"
}
}
}Statistics on events (POST)
Get events statistics worldwide or for a specific region. The available events to get stats are:
-
Fishing events
-
Encounter events
-
Loitering events
-
AIS Off events (aka GAPs)
-
Port visits
Events Stats POST
Authorization
ApiKeyAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Operation to apply to the region after the buffer. Only works together with buffer-value and buffer-unit query param. If not send, the default operation is dissolve
Value in
- "DIFFERENCE"
- "DISSOLVE"
Distance to draw the buffer (negative values are allowed)
Value in
- "MILES"
- "NAUTICALMILES"
- "KILOMETERS"
- "RADIANS"
- "DEGREES"
Distance to draw the buffer (negative values are allowed)
This param applies only to port visits events, check data caveats to understand the different levels. Values go from 2 to 4, where 2 is low confidence, 3 is medium and 4 is high confidence. Values are separated by comma. Possible values: 2, 3, 4
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Specify the datasets that will be used to search the vessel. You can learn more about which are the possible datasets here.
Min duration, in minutes, of the event
Possible values: FISHING-BUNKER, BUNKER-FISHING, FISHING-TANKER, TANKER-FISHING, CARRIER-BUNKER, BUNKER-CARRIER, SUPPORT-BUNKER, BUNKER-SUPPORT, FISHING-NON_FISHING, FISHING-RESEARCH, FISHING-, NON_FISHING-FISHING, NON_FISHING-NON_FISHING, NON_FISHING-SUPPORT, NON_FISHING-CARRIER, NON_FISHING-RESEARCH, NON_FISHING-, SUPPORT-NON_FISHING, SUPPORT-RESEARCH, SUPPORT-, CARRIER-NON_FISHING, CARRIER-CARRIER, CARRIER-RESEARCH, CARRIER-, RESEARCH-FISHING, RESEARCH-NON_FISHING, RESEARCH-SUPPORT, RESEARCH-CARRIER, RESEARCH-RESEARCH, RESEARCH-, -FISHING, -NON_FISHING, -SUPPORT, -CARRIER, -RESEARCH, -, FISHING-FISHING, FISHING-SUPPORT, FISHING-CARRIER, SUPPORT-FISHING, SUPPORT-SUPPORT, SUPPORT-CARRIER, CARRIER-FISHING, CARRIER-SUPPORT
Operators to apply for the filter: [INCLUDE, EXCLUDE]
End date in format YYYY-MM-DD of the end date of the event (exclusive)
Flags in format ISO3.
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Flag to specify if you want to get those gaps that were intentional or not true means that the gap was intentional, false means that the gap was not intentional. If the flag is not present, then the response contains all gaps.
Geojson of the region to filter
Group data by. Options FLAG,GEARTYPE,REGION_EEZ,REGION_EEZ12NM,REGION_FAO,REGION_HIGH_SEAS,REGION_MAJOR_FAO,REGION_MPA,REGION_MPA_NO_TAKE,REGION_MPA_NO_TAKE_PARTIAL,REGION_RFMO,NEXT_PORT_ID
Value in
- "FLAG"
- "GEARTYPE"
- "REGION_EEZ"
- "REGION_EEZ12NM"
- "REGION_FAO"
- "REGION_HIGH_SEAS"
- "REGION_MAJOR_FAO"
- "REGION_MPA"
- "REGION_MPA_NO_TAKE"
- "REGION_MPA_NO_TAKE_PARTIAL"
- "REGION_RFMO"
- "NEXT_PORT_ID"
Data ton include in the response. Options TOTAL_COUNT,TIME_SERIES,EVENTS_GROUPED
If the gap event is closed
Max duration in hours (exclusive)
Min duration in hours (inclusive)
Next port id
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Port ids to filter by
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Geojson of the region to filter
Dataset of regions to filter by
Dataset ids of regions to filter by
Region info to filter
Start date in format YYYY-MM-DD of the start date of the event (inclusive)
Time filter mode
"OVERLAP"Time series granularity. Options HOUR,DAY,MONTH,YEAR
Value in
- "HOUR"
- "DAY"
- "MONTH"
- "YEAR"
Event types. Possible values: ENCOUNTER,FISHING,LOITERING,GAP_START,GAP,PORT_VISIT
Operators to apply for the filter: [INCLUDE, EXCLUDE]
Ids of vessel-groups
Vessel types. Possible values: BUNKER,CARGO,DISCREPANCY,CARRIER,FISHING,GEAR,OTHER,PASSENGER,SEISMIC_VESSEL,SUPPORT,NON_FISHING,RESEARCH,
Operators to apply for the filter: [INCLUDE, EXCLUDE]
List of vessel ids separated by comma. You can get this information using the search endpoints
curl -X POST "https://example.com/api/v3/events/stats" \ -H "Content-Type: application/json" \ -d '{ "datasets": [ "public-global-fishing-events:latest", "public-global-encounter-events:latest" ], "timeseriesInterval": "DAY" }'{ "flags": [ "ESP" ], "groups": [ { "flag": "", "label": "", "name": "", "value": 2 } ], "numEvents": 20, "numFlags": 2, "numVessels": 10, "timeseries": [ { "date": "", "value": 2 } ]}{ "error": "Unauthorized", "messages": [ { "detail": "No authorized", "metadata": {}, "title": "Unauthorized" } ], "statusCode": 401}{ "error": "Forbidden", "messages": [ { "detail": "You do not have permissions to do the action", "metadata": {}, "title": "Forbidden" } ], "statusCode": 403}{ "error": "Unprocessable Entity", "messages": [ { "detail": "Validation exception", "metadata": {}, "title": "Unprocessable Entity" } ], "statusCode": 422}{ "error": "Service Unavailable", "messages": [ { "detail": "Service unavailable", "metadata": {}, "title": "Service Unavailable" } ], "statusCode": 503}| 500 |
Internal Server Error
| Server side issue. Please contact us at apis@globalfishingwatch.org | Error Codes |
Properties Events Stats Response
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| flags | [string] | true | none | Distinct flags |
| numEvents | number | true | none | Number of events |
| numFlags | number | true | none | Number of distinct vessel flags |
| numVessels | number | true | none | Number of distinct vessels |
| timeseries | [See Timeseries definition below] | true | none | Timeseries |
Properties Events Stats Response Timeseries
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| date | string(date-time) | true | none | Date |
| value | number | true | none | Number of events |
Events Stats POST examples
These examples are available:
- Example 1 (POST) - Get Encounters Stats
- Example 2 (POST) - Get Fishing Events Stats in a Custom Region
- Example 3 (POST) - Get Port Visits Stats in a Region ID (Senegal)