Skip to main content

Ingest other data types

Vista Gateway accepts registered JSON data types beyond ISO 19848, such as checklists and maintenance data. This guide uses the experimental ingest route. For a guided exercise with a sample payload, follow Send another JSON data type.

Agree the contract first

Ask your DNV representative for the experimental data type name, version, and payload contract (including a JSON schema where available) in your target environment. Identify the asset the payload concerns separately.

A data type must already be registered before you can ingest it. Sending to an arbitrary route does not create a new type. Registration is coordinated by DNV. This is separate from obtaining an API key: the key identifies the customer + data provider connection, not the data type.

Use POST /experimental/{dataType}/{assetId} for an experimental data type. For a service-specific ingest endpoint, use the contract supplied by DNV.

The experimental route accepts the JSON document directly as the request body, with the standard ingest headers. The asset ID is supplied in the path, unlike the dedicated ISO 19848 route. Payloads are checked against the registered schema and additional validation rules when configured.

Select the version

Add ?typeVersion=<agreed-version> to select a registered version. If omitted, the Gateway resolves the experimental version marked latest for that data type. Pin the version when your integration depends on a specific contract.

When a version is promoted to official, coordinate switching from the experimental route to the endpoint supplied by DNV. Do not assume the experimental route continues accepting that version after promotion.

Send a package

Configure VISTA_GATEWAY_URL and VISTA_GATEWAY_API_KEY as shown in the authentication guide. Select the key for the customer whose data you are sending and the same environment as the URL. Save your agreed JSON document as payload.json, then replace all placeholders below:

export VISTA_DATA_TYPE='<registered-data-type>'
export VISTA_ASSET_ID='<asset-id-for-this-customer>'
export VISTA_TYPE_VERSION='<agreed-version>'

curl --fail-with-body --silent --show-error \
--request POST "${VISTA_GATEWAY_URL}/experimental/${VISTA_DATA_TYPE}/${VISTA_ASSET_ID}?typeVersion=${VISTA_TYPE_VERSION}" \
--header "Authorization: ApiKey ${VISTA_GATEWAY_API_KEY}" \
--header 'Content-Type: application/json' \
--header 'User-Agent: ExampleIngest/1.0' \
--header 'X-Package-External-Id: example-package-001' \
--data-binary @payload.json

URL-encode path segments and query values if they contain reserved characters.

A successful request returns 200 OK with packageId. Store this ID for traceability and attachment uploads. The same request limits and error-handling guidance apply as for ISO 19848.