ShipFinder AIS Data API · Arazzo Workflow

Plan a port-to-port route, predict ETA and check active tropical cyclones

Version 1.0.0

Native Arazzo workflow over the ShipFinder Global Maritime Data API. Generated by API Evangelist on 2026-08-09; every operationId is verified against openapi/shipfinder-ais-data-api-openapi.yml.

1 workflow 1 source API 1 provider
View Spec View on GitHub AISMaritime DataVessel TrackingShip TrackingVessel DataHistorical AISGeospatialGISLogisticsSupply ChainWeatherMeteorologyTradeCommoditiesComplianceRiskEvent StreamingWebhooksArazzoWorkflows

Provider

shipfinder-ais-data-api

Workflows

voyagePlanAndEta
Plan a port-to-port route, predict ETA and check active tropical cyclones
3 steps inputs: apiKey, endPortCode, mmsi, startPortCode outputs: cyclones
1
route
getRoutePlanPortToPort
2
eta
getETA
3
cyclones
getCyclonesList

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Plan a port-to-port route, predict ETA and check active tropical cyclones
  version: 1.0.0
  description: Native Arazzo workflow over the ShipFinder Global Maritime Data API. Generated by API Evangelist
    on 2026-08-09; every operationId is verified against openapi/shipfinder-ais-data-api-openapi.yml.
sourceDescriptions:
- name: shipfinder
  url: ../openapi/shipfinder-ais-data-api-openapi.yml
  type: openapi
workflows:
- workflowId: voyagePlanAndEta
  summary: Plan a port-to-port route, predict ETA and check active tropical cyclones
  inputs:
    type: object
    required:
    - apiKey
    - startPortCode
    - endPortCode
    - mmsi
    properties:
      apiKey:
        type: string
        description: ShipFinder API key
      startPortCode:
        type: string
        description: Origin UN/LOCODE
      endPortCode:
        type: string
        description: Destination UN/LOCODE
      mmsi:
        type: string
        description: MMSI of the vessel on the voyage
  steps:
  - stepId: route
    operationId: getRoutePlanPortToPort
    parameters:
    - name: key
      in: query
      value: $inputs.apiKey
    - name: start_port_code
      in: query
      value: $inputs.startPortCode
    - name: end_port_code
      in: query
      value: $inputs.endPortCode
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.status == 0
      type: jsonpath
    outputs:
      route: $response.body#/data
  - stepId: eta
    operationId: getETA
    parameters:
    - name: key
      in: query
      value: $inputs.apiKey
    - name: mmsi
      in: query
      value: $inputs.mmsi
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.status == 0
      type: jsonpath
    outputs:
      eta: $response.body#/data
  - stepId: cyclones
    operationId: getCyclonesList
    parameters:
    - name: key
      in: query
      value: $inputs.apiKey
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.status == 0
      type: jsonpath
    outputs:
      cyclones: $response.body#/data
  outputs:
    cyclones: $steps.cyclones.outputs.cyclones