Download OpenAPI specification:
Product API can be used by Routeguard and Voyage Configuration API customers for accessing products like the Route Advice Report and Route Comparison Report.
For Routeguard customers:
For Voyage Configuration API customer:
Get token for use in HTTP requests.
| client_id required | string Client ID as provided by ABB |
| client_secret required | string Client secret as provided by ABB |
| scope required | string Default: "https://genb2crs03euwprod.onmicrosoft.com/rs.iam/region" The scope the credentials should belong to. |
| grant_type required | string Default: "client_credentials" The type of token request |
{- "access_token": "string",
- "expires_in": 0,
- "token_type": "Bearer",
- "scope": "string",
- "resource": "string"
}| correlationId required | string <uuid> (CorrelationId) Example: abcd1234-0000-1111-2222-abcdef123456 This is the unique ID for a product. For RouteAdvice and Comparison: The correlation ID is the same as the 'ABB REFERENCE NR' that is available in the footer of route advice and route comparison PDF reports. The correlation ID is generated when a new product is created through the Create Route Advice or Create Route Comparison Report endpoint. The correlation ID is also generated every time the Route Calculation Scheduler creates a new Route Calculation. For Route Calculation: The routing calculation correlation ID from Routing API. |
| filename required | string Example: RouteAdvice.pdf The file name with its extension. |
{- "correlationId": "abcd1234-0000-1111-2222-abcdef123456",
- "requestId": "2613af67-b901-4e53-b13e-ebf18d9a1d2e",
- "version": "$VERSION",
- "origin": "VoyageConfigurationAPI",
- "status": "Success",
- "creationDate": "2023-06-05T07:00:00.000Z",
- "request": {
- "id": "string",
- "correlationId": "4fdda1b4-5e82-4f1e-8670-f607d9240338",
- "customerReferenceId": "CUST12345",
- "voyageInfo": {
- "id": "string",
- "name": "string",
- "comments": "string"
}, - "productInfo": {
- "customerId": "454545",
- "customerName": "string"
}, - "routeSourceType": "PreCalculated",
- "updateType": "DailyAdvice",
- "routingCorrelationId": "string",
- "previousCorrelationId": "string"
}, - "routeResults": [
- {
- "points": [
- {
- "type": "Feature",
- "properties": {
- "distance": 0,
- "course": 360,
- "legType": "GreatCircle",
- "routeNetworkInfo": {
- "membershipType": "Interior"
}, - "depthInfo": {
- "depthValue": 0,
- "depthType": "ManualDepth"
}, - "eta": "1997-07-16T19:20:30.45Z",
- "etaLocalTime": "1997-07-16T19:20:30.45+01:00",
- "speedInCalmWater": 50,
- "maxContinuousRating": 0,
- "speedOverGround": 50,
- "speedThroughWater": 50,
- "currentEffect": 0,
- "weatherEffect": 0,
- "weatherSource": {
- "type": "Forecast",
- "version": "2020-09-20T00:00:00Z"
}, - "weatherElements": [
- {
- "element": "Pressure",
- "min": 0,
- "max": 0,
- "avg": 0,
- "spot": 0
}
], - "warnings": [
- {
- "name": "HurricaneDistance",
- "minimum": 500,
- "warningSeverity": "Moderate"
}
], - "waypointType": "Hard",
- "conditionalAreasInfo": [
- {
- "name": "string",
- "type": "EmissionControl",
- "membershipType": "Interior"
}
], - "rpm": 0,
- "co2Emissions": 0,
- "name": "string",
- "port": "SEOER-42",
- "fuel": [
- {
- "consumption": 0,
- "cost": 0,
- "type": "string"
}
], - "otherFuel": [
- {
- "consumption": 0,
- "cost": 0,
- "type": "string"
}
]
}, - "geometry": {
- "type": "Point",
- "coordinates": [
- 4.085,
- 51.96
]
}
}, - {
- "type": "Feature",
- "properties": {
- "distance": 0,
- "course": 360,
- "legType": "GreatCircle",
- "routeNetworkInfo": {
- "membershipType": "Interior"
}, - "depthInfo": {
- "depthValue": 0,
- "depthType": "ManualDepth"
}, - "eta": "1997-07-16T19:20:30.45Z",
- "etaLocalTime": "1997-07-16T19:20:30.45+01:00",
- "speedInCalmWater": 50,
- "maxContinuousRating": 0,
- "speedOverGround": 50,
- "speedThroughWater": 50,
- "currentEffect": 0,
- "weatherEffect": 0,
- "weatherSource": {
- "type": "Forecast",
- "version": "2020-09-20T00:00:00Z"
}, - "weatherElements": [
- {
- "element": "Pressure",
- "min": 0,
- "max": 0,
- "avg": 0,
- "spot": 0
}
], - "warnings": [
- {
- "name": "HurricaneDistance",
- "minimum": 500,
- "warningSeverity": "Moderate"
}
], - "waypointType": "Hard",
- "conditionalAreasInfo": [
- {
- "name": "string",
- "type": "EmissionControl",
- "membershipType": "Interior"
}
], - "rpm": 0,
- "co2Emissions": 0,
- "name": "string",
- "port": "SEOER-42",
- "fuel": [
- {
- "consumption": 0,
- "cost": 0,
- "type": "string"
}
], - "otherFuel": [
- {
- "consumption": 0,
- "cost": 0,
- "type": "string"
}
]
}, - "geometry": {
- "type": "Point",
- "coordinates": [
- 4.085,
- 51.96
]
}
}
], - "eta": "1997-07-16T19:20:30.45Z",
- "etaLocalTime": "1997-07-16T19:20:30.45+01:00",
- "summaries": {
- "performance": {
- "distance": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "time": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "fuelUsed": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "otherFuelUsed": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "fuelCost": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "otherFuelCost": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "co2Emissions": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "vesselCost": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "totalCost": {
- "total": 0,
- "ECA": 0,
- "nonECA": 0
}, - "cii": {
- "route": {
- "attainedCii": 0,
- "referenceCii": 0,
- "requiredCii": 0,
- "ciiRating": "A"
}, - "totalAtRouteEnd": {
- "attainedCii": 0,
- "referenceCii": 0,
- "requiredCii": 0,
- "ciiRating": "A"
}
}, - "averageRpm": 0,
- "averageSpeedOverGround": 0
}, - "weather": {
- "sources": [
- {
- "type": "Forecast",
- "version": "2020-09-20T00:00:00Z"
}
], - "elements": [
- {
- "element": "Pressure",
- "min": 0,
- "max": 0,
- "avg": 0
}
]
}
}, - "usedVariables": {
- "routeNetworkVersion": "string",
- "routeNetworkDate": "string",
- "vesselProfile": {
- "beam": 75,
- "lengthOverall": 450,
- "vesselType": "ContainerVessel",
- "vesselModelSource": "Defaults"
}
}, - "status": "Success",
- "routingApiVersion": "$VERSION",
- "routingCorrelationId": "string",
- "warnings": [
- {
- "detail": "[Example] There may be insufficient depth along this route.",
- "extensions": { }
}
], - "request": {
- "id": "4fdda1b4-5e82-4f1e-8670-f607d9240338",
- "type": "InstructedSpeed",
- "points": [
- {
- "type": "Feature",
- "properties": {
- "name": "Rotterdam (NLRTM)",
- "port": "SEOER-42",
- "forceRhumbline": false,
- "delay": "P1DT2H",
- "departure": "1997-07-16T19:20:30.45Z",
- "speed": 5
}, - "geometry": {
- "type": "Point",
- "coordinates": [
- 4.085,
- 51.96
]
}
}, - {
- "type": "Feature",
- "properties": {
- "name": "Rotterdam (NLRTM)",
- "port": "NLRTM-2745",
- "forceRhumbline": false
}, - "geometry": {
- "type": "Point",
- "coordinates": [
- 4.0710449,
- 51.9672394
]
}
}
], - "optimizationType": "Fuel",
- "etd": "2020-09-20T19:20:30.45Z",
- "vesselParameters": {
- "vesselName": "Sedna Ocean",
- "imo": "8814275",
- "vesselType": "ContainerVessel",
- "measurements": {
- "draft": {
- "aft": 10,
- "fore": 10
}, - "lengthOverall": 100,
- "beam": 20,
- "airDraft": 10,
- "grossTonnage": 100000,
- "deadweight": 250000
}, - "fuelCurve": {
- "otherFuelConsumption": 1,
- "values": [
- {
- "speed": 8,
- "fuelUsage": 2.6
}, - {
- "speed": 12,
- "fuelUsage": 9.2
}
]
}, - "rpmCurve": {
- "values": [
- {
- "speed": 0,
- "rpm": 0
}, - {
- "speed": 10,
- "rpm": 20
}
]
}, - "powerCurve": {
- "values": [
- {
- "speed": 0,
- "maxContinuousRating": 0
}, - {
- "speed": 10,
- "maxContinuousRating": 0.5
}
]
}, - "customModel": {
- "wind": {
- "domains": {
- "angle": {
- "min": 0,
- "max": 180,
- "steps": 5
}, - "speed": {
- "min": 0,
- "max": 60,
- "steps": 7
}
}, - "values": [
- [
- 0,
- 0,
- 0,
- 0,
- 0
], - [
- 0.0432,
- 0.0345,
- 0.0094,
- -0.0143,
- -0.0222
], - [
- 0.1065,
- 0.0926,
- 0.0207,
- -0.0263,
- -0.0267
], - [
- 0.189,
- 0.1623,
- 0.0279,
- -0.0432,
- -0.0394
], - [
- 0.2894,
- 0.2447,
- 0.0322,
- -0.0683,
- -0.0647
], - [
- 0.4064,
- 0.3412,
- 0.0344,
- -0.1105,
- -0.1024
], - [
- 0.5392,
- 0.451,
- 0.032,
- -0.1636,
- -0.1523
]
]
}, - "waves": {
- "domains": {
- "angle": {
- "min": 0,
- "max": 180,
- "steps": 5
}, - "height": {
- "min": 0,
- "max": 12,
- "steps": 7
}, - "period": {
- "min": 4,
- "max": 13,
- "steps": 4
}
}, - "values": [
- [
- [
- 0,
- 0,
- 0,
- 0
], - [
- 0,
- 0,
- 0,
- 0
], - [
- 0,
- 0,
- 0,
- 0
], - [
- 0,
- 0,
- 0,
- 0
], - [
- 0,
- 0,
- 0,
- 0
]
], - [
- [
- 0.0479,
- 0.0525,
- 0.0692,
- 0.0543
], - [
- 0.071,
- 0.0833,
- 0.0811,
- 0.0467
], - [
- 0.0455,
- 0.0071,
- 0.0018,
- 0.0006
], - [
- 0.0414,
- 0.0412,
- 0.0344,
- 0.0209
], - [
- 0.0164,
- 0.0146,
- 0.0095,
- 0.006
]
], - [
- [
- 0.1915,
- 0.2098,
- 0.2686,
- 0.2086
], - [
- 0.2837,
- 0.33,
- 0.3079,
- 0.1792
], - [
- 0.1776,
- 0.0282,
- 0.0071,
- 0.0025
], - [
- 0.1673,
- 0.165,
- 0.1347,
- 0.0817
], - [
- 0.0659,
- 0.0587,
- 0.038,
- 0.0239
]
], - [
- [
- 0.4296,
- 0.4702,
- 0.5705,
- 0.4375
], - [
- 0.6361,
- 0.7235,
- 0.6317,
- 0.3764
], - [
- 0.3829,
- 0.063,
- 0.0159,
- 0.0056
], - [
- 0.3828,
- 0.371,
- 0.2924,
- 0.1772
], - [
- 0.1501,
- 0.1333,
- 0.0854,
- 0.0536
]
], - [
- [
- 0.7596,
- 0.8268,
- 0.9285,
- 0.7069
], - [
- 1.1225,
- 1.2095,
- 0.9901,
- 0.6103
], - [
- 0.641,
- 0.1106,
- 0.0281,
- 0.01
], - [
- 0.6971,
- 0.6562,
- 0.4927,
- 0.2998
], - [
- 0.2715,
- 0.2401,
- 0.1519,
- 0.0946
]
], - [
- [
- 1.1743,
- 1.2526,
- 1.273,
- 0.9841
], - [
- 1.7332,
- 1.7534,
- 1.3065,
- 0.8556
], - [
- 0.9284,
- 0.1701,
- 0.0438,
- 0.0156
], - [
- 1.1237,
- 1.0103,
- 0.7191,
- 0.4401
], - [
- 0.4343,
- 0.3817,
- 0.2371,
- 0.1466
]
], - [
- [
- 1.6624,
- 1.7345,
- 1.6187,
- 1.2345
], - [
- 2.4958,
- 2.525,
- 1.6609,
- 1.0909
], - [
- 1.2156,
- 0.2403,
- 0.0627,
- 0.0224
], - [
- 1.6664,
- 1.3838,
- 0.9546,
- 0.5905
], - [
- 0.6435,
- 0.5612,
- 0.341,
- 0.2088
]
]
]
}, - "speedLossCurve": {
- "values": [
- {
- "resistance": 1.3788,
- "speedFraction": 0.05
}, - {
- "resistance": 1.3606,
- "speedFraction": 0.1
}, - {
- "resistance": 1.3315,
- "speedFraction": 0.15
}, - {
- "resistance": 1.2934,
- "speedFraction": 0.2
}, - {
- "resistance": 1.248,
- "speedFraction": 0.25
}, - {
- "resistance": 1.1948,
- "speedFraction": 0.3
}, - {
- "resistance": 1.1359,
- "speedFraction": 0.35
}, - {
- "resistance": 1.0702,
- "speedFraction": 0.4
}, - {
- "resistance": 1.0009,
- "speedFraction": 0.45
}, - {
- "resistance": 0.9265,
- "speedFraction": 0.5
}, - {
- "resistance": 0.8492,
- "speedFraction": 0.55
}, - {
- "resistance": 0.7683,
- "speedFraction": 0.6
}, - {
- "resistance": 0.6858,
- "speedFraction": 0.65
}, - {
- "resistance": 0.6001,
- "speedFraction": 0.7
}, - {
- "resistance": 0.5114,
- "speedFraction": 0.75
}, - {
- "resistance": 0.4194,
- "speedFraction": 0.8
}, - {
- "resistance": 0.3249,
- "speedFraction": 0.85
}, - {
- "resistance": 0.2248,
- "speedFraction": 0.9
}, - {
- "resistance": 0.1164,
- "speedFraction": 0.95
}, - {
- "resistance": -0.0009,
- "speedFraction": 1
}
]
}
}, - "cargo": {
- "loadCondition": "Loaded",
- "loadState": "Packaged",
- "dangerousCargo": [
- "DangerousGoods"
]
}, - "safetyMargins": {
- "port": 0,
- "starboard": 0,
- "underKeel": 0,
- "air": 0,
- "aft": 0,
- "forward": 0
}, - "cii": {
- "yearToDateDistance": 10,
- "yearToDateCo2Emissions": 0
}
}, - "costs": null,
- "costsAndFuelInfo": {
- "vesselCosts": 25000,
- "nonEcaFuel": {
- "mainEngineFuel": [
- {
- "consumptionCurveFactor": 1,
- "cost": 800,
- "emissionFactor": 3.114,
- "fuelType": "string"
}
], - "otherFuel": [
- {
- "consumptionCurveFactor": 1,
- "cost": 200,
- "emissionFactor": 3.114,
- "fuelType": "string"
}
]
}, - "ecaFuel": {
- "default": {
- "mainEngineFuel": [
- {
- "consumptionCurveFactor": 1,
- "cost": 800,
- "emissionFactor": 3.206,
- "fuelType": "string"
}
], - "otherFuel": [
- {
- "consumptionCurveFactor": 1,
- "cost": 200,
- "emissionFactor": 3.206,
- "fuelType": "string"
}
]
}, - "byArea": [
- {
- "mainEngineFuel": [
- {
- "consumptionCurveFactor": 1,
- "cost": 900,
- "emissionFactor": 3.206,
- "fuelType": "string"
}
], - "otherFuel": [
- {
- "consumptionCurveFactor": 1,
- "cost": 300,
- "emissionFactor": 3.206,
- "fuelType": "string"
}
], - "areaIds": [
- "eca-1",
- "eca-2"
]
}
]
}
}, - "weatherSource": {
- "type": "Forecast",
- "version": "2020-09-20T00:00:00Z"
}, - "voyage": {
- "ports": [
- {
- "type": "Feature",
- "properties": null,
- "geometry": {
- "type": "Point",
- "coordinates": [
- 8.577543,
- 53.535847
]
}
}, - {
- "portId": "NLRTM-2745"
}
]
}, - "restrictions": {
- "northVertex": 80,
- "southVertex": 80,
- "conditionalAreas": {
- "defaultAreas": [
- "SpeedLimit",
- "EmissionControl"
], - "areaOverrides": [
- {
- "enabled": true,
- "areaId": "nogo-4"
}
], - "customAreas": [
- {
- "type": "Feature",
- "properties": {
- "condition": {
- "type": null
}, - "name": "string"
}, - "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 112.19238281249999,
- 21.207458730482642
], - [
- 111.302490234375,
- 20.2725032501349
], - [
- 112.08251953125,
- 18.323240460443397
], - [
- 114.3896484375,
- 19.321511226817176
], - [
- 114.840087890625,
- 21.34054846908118
], - [
- 112.19238281249999,
- 21.207458730482642
]
]
]
}
}
]
}, - "weatherLimits": [
- {
- "name": "HurricaneDistance",
- "minimum": 500,
- "action": {
- "actionType": "Warn",
- "warningSeverity": "Moderate"
}
}
]
}, - "speed": 10,
- "config": {
- "hoursBetweenRouteWaypoints": 6,
- "avoidCoastalAreas": true,
- "followShortestNavigableRoute": false
}
}
}
]
}| imo required | string Example: imo=1234567 The vessel's imo associated with the product. |
| productName | string (productName) Enum: "RouteAdvice" "RouteComparison" Example: productName=RouteAdvice The product's name. |
| customerReferenceId | string (CustomerReferenceId) <= 20 characters ^[a-zA-Z0-9]+$ Example: customerReferenceId=123456789 Customer Reference Id used to generate this product. This will be ignored if ReferenceId is present in the token. |
{- "correlationId": "abcd1234-0000-1111-2222-abcdef123456",
- "productName": "RouteAdvice",
- "statusTimestamp": "2024-02-05T00:00:00.000Z",
- "customerReferenceId": "123456789",
- "origin": "RouteGuardConsultancy",
- "status": "Sent",
- "deliverables": [
- {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.pdf",
- "productType": "pdf"
}, - {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.csv",
- "productType": "csv"
}, - {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.rtz",
- "productType": "rtz"
}, - {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.json",
- "productType": "json"
}
], - "warnings": [
- "Some or all images in the PDF could not be generated successfully. Please review the report."
], - "creationDate": "2024-02-05T00:00:00.000Z"
}| imo required | string Example: imo=1234567 The vessel's imo associated with the product. Required if | ||||||||||||
| from required | string <date (YYYY-MM-DDThh:mm:ss.sssZ or YYYY-MM-DDThh:mm:ssZ)> Example: from=2024-02-05T00:00:00Z Date & Time from which the data is requested. Required if correlationId is not provided. For successful statuses (New, Announced, Sent), filters by creation date. For failed status, filters by failure date. Required if | ||||||||||||
| to required | string <date (YYYY-MM-DDThh:mm:ss.sssZ or YYYY-MM-DDThh:mm:ssZ)> Example: to=2024-02-05T00:00:00Z Date & Time until which the data is requested. For successful statuses (New, Announced, Sent), filters by creation date. For failed status, filters by failure date. | ||||||||||||
| productName | string or null Enum: "RouteAdvice" "RouteComparison" Example: productName=RouteAdvice The product's name. | ||||||||||||
| status | string or null Default: "All"
| ||||||||||||
| customerReferenceId | string (CustomerReferenceId) <= 20 characters ^[a-zA-Z0-9]+$ Example: customerReferenceId=123456789 Customer Reference Id used to generate this product. This will be ignored if ReferenceId is present in the token. | ||||||||||||
| voyageInfoId | string Unique ID specific to the voyage. For RouteGuard customers, this is the unique RouteGuard voyage ID. | ||||||||||||
| routeCalculationScheduleId | string Example: routeCalculationScheduleId=b7f43e1a-076a-4e46-a6a8-04ff46f11d70 Route calculation schedule unique identifier. If provided, no other parameters required. |
[- {
- "correlationId": "abcd1234-0000-1111-2222-abcdef123456",
- "productName": "RouteAdvice",
- "statusTimestamp": "2024-02-05T00:00:00.000Z",
- "customerReferenceId": "123456789",
- "origin": "VoyageConfigurationAPI",
- "status": "New",
- "deliverables": [
- {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.pdf",
- "productType": "pdf"
}, - {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.csv",
- "productType": "csv"
}, - {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.rtz",
- "productType": "rtz"
}, - {
- "productLocation": "https://dev.api.voyageoptimization.abb.com/voyage/products/v1/reports/172b5d21-0ad3-49e7-a28e-66b36721146d/filename.json",
- "productType": "json"
}
], - "warnings": [
- "Some or all images in the PDF could not be generated successfully. Please review the report."
], - "creationDate": "2024-02-05T00:00:00.000Z"
}
]| correlationId required | string <uuid> (CorrelationId) Example: abcd1234-0000-1111-2222-abcdef123456 This is the unique ID for a product. For RouteAdvice and Comparison: The correlation ID is the same as the 'ABB REFERENCE NR' that is available in the footer of route advice and route comparison PDF reports. The correlation ID is generated when a new product is created through the Create Route Advice or Create Route Comparison Report endpoint. The correlation ID is also generated every time the Route Calculation Scheduler creates a new Route Calculation. For Route Calculation: The routing calculation correlation ID from Routing API. |
{- "correlationId": "abcd1234-0000-1111-2222-abcdef123456",
- "productName": "RouteAdvice",
- "statusTimestamp": "2024-02-05T00:00:00.000Z",
- "customerReferenceId": "123456789",
- "origin": "VoyageConfigurationAPI",
- "status": "InProgress"
}The Product API contains the routes, route advices and comparison reports created by the Voyage Configuration API
The Notification API will provide immediate notifications when a product or report has been generated.