Protocols, URLs, and configuration
Environments
| Environment | HTTPS base URL | HTTP API reference |
|---|---|---|
| Production | https://vista-gateway-api.dnv.com | Swagger UI |
| Customer test | https://vista-gateway-customer-test-api.dnv.com | Swagger UI |
Use the ingest API key for the customer + data provider connection in the same environment as the base URL. The tutorials use customer test and require customer-test keys.
HTTPS
Routes
All paths below are relative to the environment's base URL.
| Method and path | Purpose |
|---|---|
POST /ISO19848/ | Send a DataChannelList or TimeSeriesData JSON document. The asset is taken from Package.Header.ShipID. |
GET /ISO19848/DataChannelList/{assetId} | Read back recent DataChannelLists for an asset. |
POST /experimental/{dataType}/{assetId} | Send an experimental, registered JSON data type. |
POST /attachment/{packageId} | Upload a file linked to an existing package. |
For the experimental data-type route, the optional typeVersion query parameter
selects a version. See other data types.
The {packageId} in the attachment route is the ID returned by the Gateway,
not your external reference ID.
Headers
| Header | Required | Value |
|---|---|---|
Authorization | Yes | ApiKey <your-ingest-api-key> |
User-Agent | Yes for uploads | Your sending system and version, for example ExampleIngest/1.0 |
Content-Type | Yes for uploads | application/json for JSON packages; the file's media type for attachments |
X-Package-External-Id | No | Your own package reference, for traceability |
X-Package-Correlation-Id | No | A reference shared by related requests |
Content-Length | Yes for attachments | File size in bytes; normally set by your HTTP client |
X-Attachment-Filename | No; recommended for attachments | Filename including its extension, for example report.pdf |
External and correlation IDs are metadata. Do not treat either as an idempotency key or assume they prevent duplicate ingest.
Successful responses
JSON ingest returns 200 OK with a Gateway-assigned ID:
{
"packageId": "11111111-1111-4111-8111-111111111111"
}
Attachment upload returns 201 Created:
{
"attachmentPackageId": "22222222-2222-4222-8222-222222222222",
"parentPackageId": "11111111-1111-4111-8111-111111111111"
}
These IDs are illustrative. Store the actual response IDs for traceability and subsequent attachment uploads.
Error responses
Errors can contain problem details and field-level validation messages.
| Status | Meaning |
|---|---|
400 Bad Request | Invalid headers, payload, asset, data type/version, or failed validation. Oversized JSON can also return this status. |
401 Unauthorized | Missing or rejected ingest credentials, or an attachment's parent belongs to another ingest connection. |
404 Not Found | The route or referenced resource, such as an attachment's parent package, was not found. |
413 Payload Too Large | The request body exceeds the applicable size limit. |
429 Too Many Requests | The ingest connection's request rate is exceeded. |
500 Internal Server Error | An unexpected server error occurred. Contact your DNV representative with the request details, excluding the API key. |
Other 5xx | A service or dependency failure occurred. |
See request limits for thresholds and troubleshoot ingest for recovery steps.
MQTT
MQTT ingest uses MQTT v5 over secure WebSockets, not a plain TCP connection.
| Environment | WebSocket URL |
|---|---|
| Production | wss://vista-gateway-api.dnv.com/mqtt |
| Customer test | wss://vista-gateway-customer-test-api.dnv.com/mqtt |
Configure your connection and messages as follows:
| Setting | Value |
|---|---|
| Username | connection |
| Password | Your ingest API key |
| QoS | 1 (at least once) |
| Retain | false |
| Content type | application/json |
| Publish topic | Payload |
|---|---|
ISO19848 | ISO 19848 DataChannelList or TimeSeriesData; asset from Package.Header.ShipID |
experimental/{dataType}/{assetId} | Registered experimental JSON data type |
Optional MQTT user properties are externalId, correlationId, and typeVersion
(for generic data types). Use ISO19848 without a leading slash or asset suffix
for ISO 19848 packages.
Check publish acknowledgements and handle rejected messages. QoS 1 does not guarantee exactly-once delivery. Upload attachments over HTTPS.