IBM Cloud API Docs

Introduction

Data Product Exchange provides a lightweight end-to-end experience for onboarding, searching, accessing, and delivering stable and discoverable data products across your organization. By publishing data products on the Data Product Exchange, you enable teams to work faster and more efficiently. Data producers publish data products for use by the community. Data consumers access the data products for help with business decisions.

The Data Product Exchange API provides programmatic control for creating and managing data products. Data Product Exchange SDKs for Java, Node, Python, and Go are available to access the API from your code. The client libraries that are provided by the SDKs implement best practices for using the API and reduce the amount of required code. The tab for each language includes code examples that demonstrate how to use the client libraries. For more information about using IBM Cloud SDKs, see the IBM Cloud SDK Common project on GitHub.

For instructions on how to use Data Product Exchange, see Data Product Exchange.

This documentation describes the Java SDK version 0.0.5.

This documentation describes the Node SDK version version 0.0.5.

This documentation describes the Python SDK version version 0.0.5.

This documentation describes the Go SDK version version 0.0.5.

Installing the Java SDK

Maven

<dependency>
  <groupId>com.ibm.cloud</groupId>
  <artifactId>dpx</artifactId>
  <version>{version}</version>
</dependency>

Gradle

compile 'com.ibm.cloud:dpx:{version}'

Replace {version} in the example code with the current version of the Data Product Exchange Java SDK.

Installing the Node SDK

npm install @ibm-cloud/ibm-dpx-services

Installing the Python SDK

pip install --upgrade ibm-dpx-services

Import the appropriate service in your code by using the following command:

from ibm_dpx_services.<service-module-name> import *

where is data_product_exchange_api_service_v1

Installing the Go SDK

Go modules (recommended method)

Add the following import to your code, and then run the go build or go mod tidy commands.

import (
  "github.com/IBM/data-product-exchange-go-sdk/dataproductexchangeapiservicev1"
)

Go get (alternate method)

An alternate installation method is to run the go get command to download and install the appropriate packages.

go get -u github.com/IBM/data-product-exchange-go-sdk/dataproductexchangeapiservicev1

Endpoint URLs

The Data Product Exchange API uses the following global endpoint URL for all regions. When you call the API, add the path for each method to form the complete API endpoint for your requests.

Replace {access_token}, {request_method}, and {method_endpoint} in this example with the values for your particular API call.

Public API endpoint

https://api.dataplatform.cloud.ibm.com

Private API endpoint

This endpoint can be used from within the IBM Cloud network.

https://private.api.dataplatform.cloud.ibm.com

Example request

curl -H "Authorization: Bearer {access_token}" -X {request_method} "https://api.dataplatform.cloud.ibm.com/{method_endpoint}"

Authentication

Before you can call a Data Product Exchange API you must first create an IAM bearer token. Each token is valid only for one hour, and after a token expires you must create a new one if you want to continue using the API. The recommended method to retrieve a token programmatically is to create an API key for your IBM Cloud identity and then use the IAM token API to exchange that key for a token.

You can create a token in IBM Cloud or by using the IBM Cloud command line interface (CLI).

To create a token in the IBM Cloud:

  1. Log in to IBM Cloud and select Manage > Access (IAM) > API keys.
  2. Create an API key for your own personal identity, copy the key value, and save it in a secure place. After you leave the page, you will no longer be able to access this value.
  3. With your API key, set up Postman or another REST API tool and run the following command to the right.

To create a token by using the IBM Cloud CLI:

  1. Follow the steps to install the CLI, log in to IBM Cloud, and get the token described here.
  2. Remove Bearer from the returned IAM token value in your API calls.

Curl command with API key to retrieve token

curl -X POST 'https://iam.cloud.ibm.com/identity/token'   -H 'Content-Type: application/x-www-form-urlencoded'   -d 'grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=MY_APIKEY'

Response

{
"access_token": "eyJhbGciOiJIUz......sgrKIi8hdFs",
"refresh_token": "SPrXw5tBE3......KBQ+luWQVY=",
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1473188353
}

Use the value of the access_token property for your Data Product Exchange API calls. Set the access_token value as the authorization header parameter for requests to the Watson Data APIs. The format is Authorization: Bearer <access_token>. For example: Authorization: Bearer eyJhbGciOiJIUz......sgrKIi8hdFs

Error handling

The Data Product Exchange API uses standard HTTP response codes to indicate whether a method completed successfully. A 200 response indicates success. A 400 type response indicates a failure, and a 500 type response indicates an internal system error.

Table 1. Error codes
HTTP Error Code Description Recovery
200 Success The request was successful.
201 Created The request was successful and led to a resource creation.
202 Accepted The request was successful and accepted for processing, but the processing has not been completed.
400 Bad Request The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request.
401 Unauthorized You are not authorized to make this request.
403 Forbidden The supplied authentication is not authorized to access '{namespace}'.
404 Not Found The requested resource could not be found.
408 Request Timeout The connection to the server timed out. Wait a few minutes, then try again.
409 Conflict The entity is already in the requested state.
500 Internal Server Error offering_name is currently unavailable. Your request could not be processed. Wait a few minutes and try again.

The Data Product Exchange API service provides a set of APIs for creating and working with data products. Some functionality around the use of data products will require use of the Watson Data APIs as described below.

Data Product Exchange catalog

Each Data Product Exchange contains a default catalog containing the data products and associated assets.

To retrieve the Data Product Exchange catalog, use the Get Catalog API to retrieve the catalog with the ibm-default-hub ID.

Get the Data Product Exchange catalog

GET /v2/catalogs/ibm-default-hub

Sample response

{
  "metadata": {
    "guid": "eada118a-8ebb-4688-b30d-303f019b9079",
    "url": "https://api.dataplatform..cloud.ibm.com/v2/catalogs/eada118a-8ebb-4688-b30d-303f019b9079",
    "creator_id": "IBMid-XXXXXXXX",
    "create_time": "2023-06-21T23:59:18Z",
    "update_time": "2023-10-06T04:55:09Z"
  },
  "entity": {
    "name": "Default Data Product Catalog",
    "description": "Default catalog for IBM Data Product Exchange",
    "generator": "sampleuser",
    "bss_account_id": "fbdabb6a815f02770c31f2ddbdf8442e",
    "capacity_limit": 0,
    "is_governed": false,
    "auto_profiling": false,
    "saml_instance_name": "IBM w3id",
    "uid": "ibm-default-hub",
    "subtype": "ibm_data_product_catalog"
  },
  "href": "https://api.dataplatform.dev.cloud.ibm.com/v2/catalogs/eada118a-8ebb-4688-b30d-303f019b9079"
}

Data product domains

All data products must be associated with a business domain. The business domain facilitates easier discovery by consumers, and helps consumers to better understand the contents of a data product.

Domains are represented as system assets in the Data Product Exchange catalog. Primary business domains have a level1 tag, while sub-domains have a level2 tag.

To list domains, use the Asset Type Search API

{: middle}

Data products include one or more parts. These parts represent assets which can be delivered to consumers of the data product.

For example, a data product may contain:

  • One or more data_asset parts containing structured or unstructured data which can be downloaded by a data consumer
  • One or more ibm_url_definition parts containing a URL to any data-related hosted artifact which can be opened and used by a data consumer

Each part of a data product must be manufactured before it can be included in a data product. This can be done using the Create Asset API.

For connected data assets, see Connections and Creating a Data Asset for additional information.

For security purposes, assets can only be included in a data product when:

  • The asset is public (rov.mode: 0). Asset metadata must be public to allow data consumers to discover and understand the contents of a data product.
  • For connected data assets, the connection is private (rov.mode: 16). Connection must be private to prevent data consumers from accessing the data directly. Controlled delivery of data to consumers is facilitated through delivery of the data product.

For each data product part, one or more delivery methods must also be specified. Delivery methods describe how data will be delivered to consumers who order the data product. Delivery methods are represented as system assets in the Data Product Exchange catalog.

To list domains, use the Asset Type Search API

List domains

POST /v2/asset_types/ibm_data_product_domain/search?catalog_id={catalog_guid}

Example request to list all domains

{
    "query": "*:*"
}

Example request to list all top-level domains

{
    "query": "asset.tags:level1"
}

List delivery methods

POST /v2/asset_types/ibm_data_product_delivery_method/search?catalog_id={catalog_guid}

Example request to list all domains

{
    "query": "*:*"
}

Searching for data products

Search for data products using the Global Search APIs. Using this API, you can create flexible, advanced queries on indexed fields of a data product.

Data Products indexed in global search have artifact_type = ibm_data_product_version, with the following structure:

{
    "tenant_id": "string",
    "artifact_id": "string",
    "last_updated_at": 0,
    "metadata": {
        "name": "string",
        "description": "string",
        "artifact_type": "ibm_data_product_version",
        "tags": ["string"],
        "modified_on": "date",
        "modified_by": "string",
    },
    "entity": {
        "data_product_version": {
           "product_id": "string",
           "version": "string",
           "state": "string",
           "domain": "string",
           "domain_id": "string" 
        }
    }
}

Search in a Data Product Exchange catalog

POST /v3/search?auth_scope=ibm_data_product_catalog&auth_cache=true

Example search for available data products matching a search string

{
   "query": {
      "bool": {
        "must": [
           {
              "gs_user_query": {
                  "search_string": "my search string",
                  "nlq_analyzer_enabled": true
               }
           }
        ],
        "filter": [
           {
                "term": {
                    "entity.data_product_version.state": "available"
                }
           }
        ]
      }
   }
}

Data product orders

To place an order of a data product, use the Create Asset List API to create an asset list with type = order.

Placing an order automatically implies acceptance of the data contract terms for the data product version being ordered.

Order List Item Description Required Input Properties Output Properties
Data Product Version Specifies the asset representing the data product version that is being ordered. Put this item in the top level asset of the order.
  • data_product_id - The data product to which this item in the order belongs
  • data_product_delivery_state - The overall delivery state of the data product for this order
Data Product Part(s) For each part of the data product, specifies the asset representing the data product part along with the selected delivery method. Put these items in the items of the order.
  • data_product_id - The data product to which this item in the order belongs
  • delivery_method.asset_id - The ID of the asset representing the data product part for this item
  • delivery_method.catalog_id - The catalog ID for the asset representing the data product part for this item
  • data_product_delivery_state - The delivery state for this item
  • data_product_delivery_state_modified - The date when the delivery state for this item was last modified
  • assets_out - The IDs of any assets produced as part of the delivery of this item

Delivery of data product orders is asynchronous. The order can be tracked using the id of the asset list representing the data product order. Depending on the delivery method, the delivery process may generate one or more assets as output.

To check the status of an order or to get the IDs of the generated output assets, use the Get Asset List Items API. The delivery status of each item in the order is returned in properties.data_product_delivery_state.

For items that have been successfully delivered, any generated assets are returned in properties.assets_out.

To retrieve an output asset from an order, use the Get Asset API.

Create an asset list for the order

POST /v2/asset_lists

Example order for a data product containing two parts

{
  "name": "Sample Data Product Order",
  "description": "This is an example data product order",
  "type": "order",
  "state": "received",
  "asset": {
      "asset": {
        "metadata": {
          "id": "6768e6c4-800b-4edc-94fc-86da210175d9",
          "type": "ibm_data_product_version",
          "container": {
            "id": "eada118a-8ebb-4688-b30d-303f019b9079",
            "type": "catalog"
          }
        }
      }
  },
  "items": [
    {
      "asset": {
        "metadata": {
          "id": "87469e5f-4b02-43d5-8f12-386cff8dc970",
          "type": "data_asset",
          "container": {
            "id": "eada118a-8ebb-4688-b30d-303f019b9079",
            "type": "catalog"
          }
        }
      },
      "properties": {
        "data_product_id": "a6f0de47-eb41-4504-a67a-d295a1227056",
        "delivery_method": {
          "asset_id": "1bc501fe-09cb-4fb8-ba7d-abc6e134894e",
          "catalog_id": "eada118a-8ebb-4688-b30d-303f019b9079"
        }
      }
    }
  ]
}

Get order status

GET /v2/asset_lists/{id}/items

Example order status

{
  "items": [
    {
      "id": "48683ee2-3fcd-4ea2-a7e1-e55b2858d1a3",
      "access_control": {
        "owner": "IBMid-XXXXXXXX"
      },
      "created_at": "2023-10-06T19:53:44Z",
      "last_updated_at": "2023-10-06T20:06:43Z",
      "last_updated_by": "IBMid-XXXXXXXX",
      "asset": {
        "metadata": {
          "id": "87469e5f-4b02-43d5-8f12-386cff8dc970",
          "type": "data_asset",
          "container": {
            "id": "eada118a-8ebb-4688-b30d-303f019b9079",
            "type": "catalog"
          }
        }
      },
      "properties": {
        "data_product_id": "a6f0de47-eb41-4504-a67a-d295a1227056",
        "delivery_method": {
          "asset_id": "1bc501fe-09cb-4fb8-ba7d-abc6e134894e",
          "catalog_id": "eada118a-8ebb-4688-b30d-303f019b9079"
        },
        "data_product_delivery_state": "delivered",
        "data_product_delivery_state_modified": "1696622803073",
        "assets_out": [
          {
            "catalog_id": "eada118a-8ebb-4688-b30d-303f019b9079",
            "asset_id": "814a4735-e120-4b30-afe7-c755a8723c52"
          }
        ]
      }
    }
  ],
  "limit": 200,
  "total_count": 1,
  "first": {
    "href": "https://api.dataplatform.cloud.ibm.com/v2/asset_lists/387ea8a3-aeae-4556-8619-9329efbe8cf0/items"
  },
  "next": {
    "start": "g1AAAACdeJzLYWBgYMpgTmHQTElKzi9KdUhJMtJLytVNTtYtLdYtzi8tydA1stBLzskvTUnMK9HLSy3JAWlJZEji____f1YGk5uDgtFUBaBYojiqOWbEmJPHAiQZPgCp_3DjhFeAxBLFsgC40DAN",
    "href": "https://api.dataplatform.cloud.ibm.com/v2/asset_lists/387ea8a3-aeae-4556-8619-9329efbe8cf0/items?start=g1AAAACdeJzLYWBgYMpgTmHQTElKzi9KdUhJMtJLytVNTtYtLdYtzi8tydA1stBLzskvTUnMK9HLSy3JAWlJZEji____f1YGk5uDgtFUBaBYojiqOWbEmJPHAiQZPgCp_3DjhFeAxBLFsgC40DAN"
  }
}

Methods

Get resource initialization status

Use this API to get the status of resource initialization in Data Product Exchange.

If the data product catalog exists but has never been initialized, the status will be "not_started".

If the data product catalog exists and has been or is being initialized, the response will contain the status of the last or current initialization. If the initialization failed, the "errors" and "trace" fields will contain the error(s) encountered during the initialization, including the ID to trace the error(s).

If the data product catalog doesn't exist, an HTTP 404 response is returned.

Use this API to get the status of resource initialization in Data Product Exchange.

If the data product catalog exists but has never been initialized, the status will be "not_started".

If the data product catalog exists and has been or is being initialized, the response will contain the status of the last or current initialization. If the initialization failed, the "errors" and "trace" fields will contain the error(s) encountered during the initialization, including the ID to trace the error(s).

If the data product catalog doesn't exist, an HTTP 404 response is returned.

Use this API to get the status of resource initialization in Data Product Exchange.

If the data product catalog exists but has never been initialized, the status will be "not_started".

If the data product catalog exists and has been or is being initialized, the response will contain the status of the last or current initialization. If the initialization failed, the "errors" and "trace" fields will contain the error(s) encountered during the initialization, including the ID to trace the error(s).

If the data product catalog doesn't exist, an HTTP 404 response is returned.

Use this API to get the status of resource initialization in Data Product Exchange.

If the data product catalog exists but has never been initialized, the status will be "not_started".

If the data product catalog exists and has been or is being initialized, the response will contain the status of the last or current initialization. If the initialization failed, the "errors" and "trace" fields will contain the error(s) encountered during the initialization, including the ID to trace the error(s).

If the data product catalog doesn't exist, an HTTP 404 response is returned.

Use this API to get the status of resource initialization in Data Product Exchange.

If the data product catalog exists but has never been initialized, the status will be "not_started".

If the data product catalog exists and has been or is being initialized, the response will contain the status of the last or current initialization. If the initialization failed, the "errors" and "trace" fields will contain the error(s) encountered during the initialization, including the ID to trace the error(s).

If the data product catalog doesn't exist, an HTTP 404 response is returned.

GET /data_product_exchange/v1/configuration/initialize/status
(dpx *DpxV1) GetInitializeStatus(getInitializeStatusOptions *GetInitializeStatusOptions) (result *InitializeResource, response *core.DetailedResponse, err error)
(dpx *DpxV1) GetInitializeStatusWithContext(ctx context.Context, getInitializeStatusOptions *GetInitializeStatusOptions) (result *InitializeResource, response *core.DetailedResponse, err error)
ServiceCall<InitializeResource> getInitializeStatus(GetInitializeStatusOptions getInitializeStatusOptions)
getInitializeStatus(params)
get_initialize_status(
        self,
        *,
        container_id: Optional[str] = None,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.configuration.monitor

Request

Instantiate the GetInitializeStatusOptions struct and set the fields to provide parameter values for the GetInitializeStatus method.

Use the GetInitializeStatusOptions.Builder to create a GetInitializeStatusOptions object that contains the parameter values for the getInitializeStatus method.

Query Parameters

  • Container ID of the data product catalog. If not supplied, the data product catalog is looked up by using the uid of the default data product catalog.

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The GetInitializeStatus options.

The getInitializeStatus options.

parameters

  • Container ID of the data product catalog. If not supplied, the data product catalog is looked up by using the uid of the default data product catalog.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Container ID of the data product catalog. If not supplied, the data product catalog is looked up by using the uid of the default data product catalog.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'GET' '{url}/data_product_exchange/v1/configuration/initialize/status' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • GetInitializeStatusOptions getInitializeStatusOptions = new GetInitializeStatusOptions.Builder()
      .build();
    
    Response<InitializeResource> response = dpxService.getInitializeStatus(getInitializeStatusOptions).execute();
    InitializeResource initializeResource = response.getResult();
    
    System.out.println(initializeResource);
  • response = dpx_service.get_initialize_status()
    initialize_resource = response.get_result()
    
    print(json.dumps(initialize_resource, indent=2))
  • let res;
    try {
      res = await dpxService.getInitializeStatus({});
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • getInitializeStatusOptions := dpxService.NewGetInitializeStatusOptions()
    
    initializeResource, response, err := dpxService.GetInitializeStatus(getInitializeStatusOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(initializeResource, "", "  ")
    fmt.Println(string(b))

Response

Resource defining initialization parameters

Resource defining initialization parameters.

Resource defining initialization parameters.

Resource defining initialization parameters.

Resource defining initialization parameters.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "href": "https://api.example.com/configuration/initialize/status?container.id=d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "status": "not_started",
      "trace": "string",
      "errors": [
        {
          "code": "missing_required_value",
          "message": "Missing required field catalog."
        }
      ],
      "last_started_at": "2023-02-17T12:03:17Z",
      "last_finished_at": "2023-09-14T03:57:06Z",
      "initialized_options": [
        {
          "name": "string",
          "version": 1
        }
      ]
    }
  • {
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "href": "https://api.example.com/configuration/initialize/status?container.id=d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "status": "not_started",
      "trace": "string",
      "errors": [
        {
          "code": "missing_required_value",
          "message": "Missing required field catalog."
        }
      ],
      "last_started_at": "2023-02-17T12:03:17Z",
      "last_finished_at": "2023-09-14T03:57:06Z",
      "initialized_options": [
        {
          "name": "string",
          "version": 1
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Initialize resources

Use this API to initialize default assets for data product exchange.

You can initialize:

  • delivery_methods - Methods through which data product parts can be delivered to consumers of the data product exchange
  • domains_multi_industry - Taxonomy of domains and use cases applicable to multiple industries
  • data_product_samples - Sample data products used to illustrate capabilities of the data product exchange


If a resource depends on resources that are not specified in the request, these dependent resources will be automatically initialized. E.g., initializing data_product_samples will also initialize domains_multi_industry and delivery_methods even if they are not specified in the request because it depends on them.

If initializing the data product exchange for the first time, do not specify a container. The default data product catalog will be created.
For first time initialization, it is recommended that at least delivery_methods and domains_multi_industry is included in the initialize operation.

If the data product exchange has already been initialized, you may call this API again to initialize new resources, such as new delivery methods.In this case, specify the default data product catalog container information.

Use this API to initialize default assets for data product exchange.

You can initialize:

  • delivery_methods - Methods through which data product parts can be delivered to consumers of the data product exchange
  • domains_multi_industry - Taxonomy of domains and use cases applicable to multiple industries
  • data_product_samples - Sample data products used to illustrate capabilities of the data product exchange


If a resource depends on resources that are not specified in the request, these dependent resources will be automatically initialized. E.g., initializing data_product_samples will also initialize domains_multi_industry and delivery_methods even if they are not specified in the request because it depends on them.

If initializing the data product exchange for the first time, do not specify a container. The default data product catalog will be created.
For first time initialization, it is recommended that at least delivery_methods and domains_multi_industry is included in the initialize operation.

If the data product exchange has already been initialized, you may call this API again to initialize new resources, such as new delivery methods.In this case, specify the default data product catalog container information.

Use this API to initialize default assets for data product exchange.

You can initialize:

  • delivery_methods - Methods through which data product parts can be delivered to consumers of the data product exchange
  • domains_multi_industry - Taxonomy of domains and use cases applicable to multiple industries
  • data_product_samples - Sample data products used to illustrate capabilities of the data product exchange


If a resource depends on resources that are not specified in the request, these dependent resources will be automatically initialized. E.g., initializing data_product_samples will also initialize domains_multi_industry and delivery_methods even if they are not specified in the request because it depends on them.

If initializing the data product exchange for the first time, do not specify a container. The default data product catalog will be created.
For first time initialization, it is recommended that at least delivery_methods and domains_multi_industry is included in the initialize operation.

If the data product exchange has already been initialized, you may call this API again to initialize new resources, such as new delivery methods.In this case, specify the default data product catalog container information.

Use this API to initialize default assets for data product exchange.

You can initialize:

  • delivery_methods - Methods through which data product parts can be delivered to consumers of the data product exchange
  • domains_multi_industry - Taxonomy of domains and use cases applicable to multiple industries
  • data_product_samples - Sample data products used to illustrate capabilities of the data product exchange


If a resource depends on resources that are not specified in the request, these dependent resources will be automatically initialized. E.g., initializing data_product_samples will also initialize domains_multi_industry and delivery_methods even if they are not specified in the request because it depends on them.

If initializing the data product exchange for the first time, do not specify a container. The default data product catalog will be created.
For first time initialization, it is recommended that at least delivery_methods and domains_multi_industry is included in the initialize operation.

If the data product exchange has already been initialized, you may call this API again to initialize new resources, such as new delivery methods.In this case, specify the default data product catalog container information.

Use this API to initialize default assets for data product exchange.

You can initialize:

  • delivery_methods - Methods through which data product parts can be delivered to consumers of the data product exchange
  • domains_multi_industry - Taxonomy of domains and use cases applicable to multiple industries
  • data_product_samples - Sample data products used to illustrate capabilities of the data product exchange


If a resource depends on resources that are not specified in the request, these dependent resources will be automatically initialized. E.g., initializing data_product_samples will also initialize domains_multi_industry and delivery_methods even if they are not specified in the request because it depends on them.

If initializing the data product exchange for the first time, do not specify a container. The default data product catalog will be created.
For first time initialization, it is recommended that at least delivery_methods and domains_multi_industry is included in the initialize operation.

If the data product exchange has already been initialized, you may call this API again to initialize new resources, such as new delivery methods.In this case, specify the default data product catalog container information.

POST /data_product_exchange/v1/configuration/initialize
(dpx *DpxV1) Initialize(initializeOptions *InitializeOptions) (result *InitializeResource, response *core.DetailedResponse, err error)
(dpx *DpxV1) InitializeWithContext(ctx context.Context, initializeOptions *InitializeOptions) (result *InitializeResource, response *core.DetailedResponse, err error)
ServiceCall<InitializeResource> initialize(InitializeOptions initializeOptions)
initialize(params)
initialize(
        self,
        *,
        container: Optional['ContainerReference'] = None,
        include: Optional[List[str]] = None,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.configuration.create

Request

Instantiate the InitializeOptions struct and set the fields to provide parameter values for the Initialize method.

Use the InitializeOptions.Builder to create a InitializeOptions object that contains the parameter values for the initialize method.

Configuration parameters for initializing Data Product Exchange

Examples:
Initialize the data product catalog for the first time. In this example, delivery methods and the multi-industry domain taxonomy are initialized and a set of sample data products is generated.
Initialize a subset of resources in an existing data product catalog. In this example, only delivery methods are re-initialized. This will initialize any new delivery methods available on the platform.

WithContext method only

The Initialize options.

The initialize options.

parameters

  • Data product exchange container.

  • List of configuration options to (re-)initialize.

    Allowable values: [delivery_methods,domains_multi_industry,workflows,data_product_samples]

    Possible values: 1 ≤ number of items ≤ 4, 1 ≤ length ≤ 36

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product exchange container.

  • List of configuration options to (re-)initialize.

    Allowable values: [delivery_methods,domains_multi_industry,workflows,data_product_samples]

    Possible values: 1 ≤ number of items ≤ 4, 1 ≤ length ≤ 36

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'POST' '{url}/data_product_exchange/v1/configuration/initialize' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "include": [
        "delivery_methods",
        "data_product_samples",
        "domains_multi_industry"
      ]
    }'
    
  • curl -X 'POST' '{url}/data_product_exchange/v1/configuration/initialize' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "include": [
        "delivery_methods"
      ]
    }'
    
  • InitializeOptions initializeOptions = new InitializeOptions.Builder()
      .include(java.util.Arrays.asList("delivery_methods", "data_product_samples", "domains_multi_industry"))
      .build();
    
    Response<InitializeResource> response = dpxService.initialize(initializeOptions).execute();
    InitializeResource initializeResource = response.getResult();
    
    System.out.println(initializeResource);
  • response = dpx_service.initialize(
      include=['delivery_methods', 'data_product_samples', 'domains_multi_industry'],
    )
    initialize_resource = response.get_result()
    
    print(json.dumps(initialize_resource, indent=2))
  • const params = {
      include: ['delivery_methods', 'data_product_samples', 'domains_multi_industry'],
    };
    
    let res;
    try {
      res = await dpxService.initialize(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • initializeOptions := dpxService.NewInitializeOptions()
    initializeOptions.SetInclude([]string{"delivery_methods", "data_product_samples", "domains_multi_industry"})
    
    initializeResource, response, err := dpxService.Initialize(initializeOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(initializeResource, "", "  ")
    fmt.Println(string(b))

Response

Resource defining initialization parameters

Resource defining initialization parameters.

Resource defining initialization parameters.

Resource defining initialization parameters.

Resource defining initialization parameters.

Status Code

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Conflict

  • Internal error

Example responses
  • {
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "href": "https://api.example.com/configuration/initialize/status?container.id=d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "status": "not_started",
      "trace": "string",
      "errors": [
        {
          "code": "missing_required_value",
          "message": "Missing required field catalog."
        }
      ],
      "last_started_at": "2023-02-17T12:03:17Z",
      "last_finished_at": "2023-09-14T03:57:06Z",
      "initialized_options": [
        {
          "name": "string",
          "version": 1
        }
      ]
    }
  • {
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "href": "https://api.example.com/configuration/initialize/status?container.id=d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "status": "not_started",
      "trace": "string",
      "errors": [
        {
          "code": "missing_required_value",
          "message": "Missing required field catalog."
        }
      ],
      "last_started_at": "2023-02-17T12:03:17Z",
      "last_finished_at": "2023-09-14T03:57:06Z",
      "initialized_options": [
        {
          "name": "string",
          "version": 1
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Manage API keys for a data product exchange

Use this API to manage API keys for a Data Product Exchange.

You can do:

  • rotate - rotate API keys for a Data Product Exchange


Use this API to rotate credentials for a Data Product Exchange instance.

Use this API to rotate credentials for a Data Product Exchange instance.

Use this API to rotate credentials for a Data Product Exchange instance.

Use this API to rotate credentials for a Data Product Exchange instance.

POST /data_product_exchange/v1/configuration/rotate_credentials
(dpx *DpxV1) ManageApiKeys(manageApiKeysOptions *ManageApiKeysOptions) (response *core.DetailedResponse, err error)
(dpx *DpxV1) ManageApiKeysWithContext(ctx context.Context, manageApiKeysOptions *ManageApiKeysOptions) (response *core.DetailedResponse, err error)
ServiceCall<Void> manageApiKeys()
manageApiKeys(params)
manage_api_keys(
        self,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.configuration-apikey.rotate

Request

Configuration parameters for managing API keys for a data product exchange

Examples:
Rotate catalog service id API key

WithContext method only

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

No Request Parameters

This method does not accept any request parameters.

  • curl -X 'POST' '{url}/data_product_exchange/v1/configuration/api_keys' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "rotate": [
        "data_product_admin_service_id"
      ]
    }'
    
  • ManageApiKeysOptions manageApiKeysOptions = new ManageApiKeysOptions();
    
    Response<Void> response = dpxService.manageApiKeys(manageApiKeysOptions).execute();
  • response = dpx_service.manage_api_keys()
  • try {
      await dpxService.manageApiKeys({});
    } catch (err) {
      console.warn(err);
    }
  • manageApiKeysOptions := dpxService.NewManageApiKeysOptions()
    
    response, err := dpxService.ManageApiKeys(manageApiKeysOptions)
    if err != nil {
      panic(err)
    }
    if response.StatusCode != 204 {
      fmt.Printf("\nUnexpected response status code received from ManageApiKeys(): %d\n", response.StatusCode)
    }

Response

Response of POST /v1/configuration/api_keys API

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Conflict

  • Internal error

Example responses
  • {
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      }
    }
  • {
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      }
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Retrieve a list of data products

Retrieve a list of data products

Retrieve a list of data products.

Retrieve a list of data products.

Retrieve a list of data products.

Retrieve a list of data products.

GET /data_product_exchange/v1/data_products
(dpx *DpxV1) ListDataProducts(listDataProductsOptions *ListDataProductsOptions) (result *DataProductSummaryCollection, response *core.DetailedResponse, err error)
(dpx *DpxV1) ListDataProductsWithContext(ctx context.Context, listDataProductsOptions *ListDataProductsOptions) (result *DataProductSummaryCollection, response *core.DetailedResponse, err error)
ServiceCall<DataProductSummaryCollection> listDataProducts(ListDataProductsOptions listDataProductsOptions)
listDataProducts(params)
list_data_products(
        self,
        *,
        limit: Optional[int] = None,
        start: Optional[str] = None,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product.list

Request

Instantiate the ListDataProductsOptions struct and set the fields to provide parameter values for the ListDataProducts method.

Use the ListDataProductsOptions.Builder to create a ListDataProductsOptions object that contains the parameter values for the listDataProducts method.

Query Parameters

  • Limit the number of data products in the results. The maximum limit is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The ListDataProducts options.

The listDataProducts options.

parameters

  • Limit the number of data products in the results. The maximum limit is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Limit the number of data products in the results. The maximum limit is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • ListDataProductsOptions listDataProductsOptions = new ListDataProductsOptions.Builder()
      .limit(Long.valueOf("10"))
      .build();
    
    DataProductsPager pager = new DataProductsPager(dpxService, listDataProductsOptions);
    List<DataProductSummary> allResults = new ArrayList<>();
    while (pager.hasNext()) {
      List<DataProductSummary> nextPage = pager.getNext();
      allResults.addAll(nextPage);
    }
    
    System.out.println(GsonSingleton.getGson().toJson(allResults));
  • all_results = []
    pager = DataProductsPager(
      client=dpx_service,
      limit=10,
    )
    while pager.has_next():
      next_page = pager.get_next()
      assert next_page is not None
      all_results.extend(next_page)
    
    print(json.dumps(all_results, indent=2))
  • const params = {
      limit: 5,
    };
    
    const allResults = [];
    try {
      const pager = new DpxV1.DataProductsPager(dpxService, params);
      while (pager.hasNext()) {
        const nextPage = await pager.getNext();
        expect(nextPage).not.toBeNull();
        allResults.push(...nextPage);
      }
      console.log(JSON.stringify(allResults, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • listDataProductsOptions := &dpxv1.ListDataProductsOptions{
      Limit: core.Int64Ptr(int64(10)),
    }
    
    pager, err := dpxService.NewDataProductsPager(listDataProductsOptions)
    if err != nil {
      panic(err)
    }
    
    var allResults []dpxv1.DataProductSummary
    for pager.HasNext() {
      nextPage, err := pager.GetNext()
      if err != nil {
        panic(err)
      }
      allResults = append(allResults, nextPage...)
    }
    b, _ := json.MarshalIndent(allResults, "", "  ")
    fmt.Println(string(b))

Response

A collection of data products

A collection of data product summaries.

A collection of data product summaries.

A collection of data product summaries.

A collection of data product summaries.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Internal error

Example responses
  • {
      "limit": 200,
      "first": {
        "href": "https://api.example.com/collection"
      },
      "next": {
        "href": "https://api.example.com/collection?start=eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9",
        "start": "eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9"
      },
      "data_products": [
        {
          "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
          "container": {
            "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
            "type": "catalog"
          },
          "name": "Sample Data Product"
        }
      ]
    }
  • {
      "limit": 200,
      "first": {
        "href": "https://api.example.com/collection"
      },
      "next": {
        "href": "https://api.example.com/collection?start=eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9",
        "start": "eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9"
      },
      "data_products": [
        {
          "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
          "container": {
            "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
            "type": "catalog"
          },
          "name": "Sample Data Product"
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Create a new data product

Use this API to create a new data product.

Provide the initial draft of the data product.

Required fields:

- name
- container

If version is not specified, the default version 1.0.0 will be used.

The domain is optional.

Use this API to create a new data product.

Provide the initial draft of the data product.

Required fields:

- name
- container

If version is not specified, the default version 1.0.0 will be used.

The domain is optional.

Use this API to create a new data product.

Provide the initial draft of the data product.

Required fields:

- name
- container

If version is not specified, the default version 1.0.0 will be used.

The domain is optional.

Use this API to create a new data product.

Provide the initial draft of the data product.

Required fields:

- name
- container

If version is not specified, the default version 1.0.0 will be used.

The domain is optional.

Use this API to create a new data product.

Provide the initial draft of the data product.

Required fields:

- name
- container

If version is not specified, the default version 1.0.0 will be used.

The domain is optional.

POST /data_product_exchange/v1/data_products
(dpx *DpxV1) CreateDataProduct(createDataProductOptions *CreateDataProductOptions) (result *DataProduct, response *core.DetailedResponse, err error)
(dpx *DpxV1) CreateDataProductWithContext(ctx context.Context, createDataProductOptions *CreateDataProductOptions) (result *DataProduct, response *core.DetailedResponse, err error)
ServiceCall<DataProduct> createDataProduct(CreateDataProductOptions createDataProductOptions)
createDataProduct(params)
create_data_product(
        self,
        drafts: List['DataProductVersionPrototype'],
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product.create

Request

Instantiate the CreateDataProductOptions struct and set the fields to provide parameter values for the CreateDataProduct method.

Use the CreateDataProductOptions.Builder to create a CreateDataProductOptions object that contains the parameter values for the createDataProduct method.

Data Product request

Examples:
Create a new data product by specifying a list of a single draft, containing the data product container id, and the name of the data product. If no other information is specified, then a data product draft with version 1.0.0 will be created. Additional information can be added using the PATCH `/data_product_exchange/v1/data_product/{id}/drafts/{draft_id}` API until the data product draft is published.

WithContext method only

The CreateDataProduct options.

The createDataProduct options.

parameters

  • Collection of data products drafts to add to data product.

    Possible values: 0 ≤ number of items ≤ 1

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Collection of data products drafts to add to data product.

    Possible values: 0 ≤ number of items ≤ 1

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'POST' '{url}/data_product_exchange/v1/data_products' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "drafts": [
        {
          "name": "My New Data Product",
          "container": {
            "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
          }
        }
      ]
    }'
    
  • ContainerReference containerReferenceModel = new ContainerReference.Builder()
      .id(containerIdLink)
      .build();
    AssetReference assetReferenceModel = new AssetReference.Builder()
      .container(containerReferenceModel)
      .build();
    DataProductVersionPrototype dataProductVersionPrototypeModel = new DataProductVersionPrototype.Builder()
      .name("My New Data Product")
      .asset(assetReferenceModel)
      .build();
    CreateDataProductOptions createDataProductOptions = new CreateDataProductOptions.Builder()
      .drafts(java.util.Arrays.asList(dataProductVersionPrototypeModel))
      .build();
    
    Response<DataProduct> response = dpxService.createDataProduct(createDataProductOptions).execute();
    DataProduct dataProduct = response.getResult();
    
    System.out.println(dataProduct);
  • container_reference_model = {
      'id': container_id_link,
    }
    
    asset_reference_model = {
      'container': container_reference_model,
    }
    
    data_product_version_prototype_model = {
      'name': 'My New Data Product',
      'asset': asset_reference_model,
    }
    
    response = dpx_service.create_data_product(
      drafts=[data_product_version_prototype_model],
    )
    data_product = response.get_result()
    
    print(json.dumps(data_product, indent=2))
  • // Request models needed by this operation.
    
    // ContainerReference
    const containerReferenceModel = {
      id: containerIdLink,
    };
    
    // AssetReference
    const assetReferenceModel = {
      container: containerReferenceModel,
    };
    
    // DataProductVersionPrototype
    const dataProductVersionPrototypeModel = {
      name: 'My New Data Product',
      asset: assetReferenceModel,
    };
    
    const params = {
      drafts: [dataProductVersionPrototypeModel],
    };
    
    let res;
    try {
      res = await dpxService.createDataProduct(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • containerReferenceModel := &dpxv1.ContainerReference{
      ID: &containerIdLink,
    }
    
    assetReferenceModel := &dpxv1.AssetReference{
      Container: containerReferenceModel,
    }
    
    dataProductVersionPrototypeModel := &dpxv1.DataProductVersionPrototype{
      Name:  core.StringPtr("My New Data Product"),
      Asset: assetReferenceModel,
    }
    
    createDataProductOptions := dpxService.NewCreateDataProductOptions(
      []dpxv1.DataProductVersionPrototype{*dataProductVersionPrototypeModel},
    )
    
    dataProduct, response, err := dpxService.CreateDataProduct(createDataProductOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProduct, "", "  ")
    fmt.Println(string(b))

Response

Data Product

Data Product.

Data Product.

Data Product.

Data Product.

Status Code

  • Created

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "drafts": [
        {
          "id": "2eec88cf-eec2-4860-95d0-8db734474340@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "version": "1.0.0",
          "state": "draft",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "Sample Data Product",
          "description": "A sample data product",
          "parts_out": [],
          "contract_terms": [],
          "asset": {
            "id": "2eec88cf-eec2-4860-95d0-8db734474340",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "drafts": [
        {
          "id": "2eec88cf-eec2-4860-95d0-8db734474340@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "version": "1.0.0",
          "state": "draft",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "Sample Data Product",
          "description": "A sample data product",
          "parts_out": [],
          "contract_terms": [],
          "asset": {
            "id": "2eec88cf-eec2-4860-95d0-8db734474340",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Retrieve a data product identified by id

Retrieve a data product identified by id

Retrieve a data product identified by id.

Retrieve a data product identified by id.

Retrieve a data product identified by id.

Retrieve a data product identified by id.

GET /data_product_exchange/v1/data_products/{data_product_id}
(dpx *DpxV1) GetDataProduct(getDataProductOptions *GetDataProductOptions) (result *DataProduct, response *core.DetailedResponse, err error)
(dpx *DpxV1) GetDataProductWithContext(ctx context.Context, getDataProductOptions *GetDataProductOptions) (result *DataProduct, response *core.DetailedResponse, err error)
ServiceCall<DataProduct> getDataProduct(GetDataProductOptions getDataProductOptions)
getDataProduct(params)
get_data_product(
        self,
        data_product_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product.read

Request

Instantiate the GetDataProductOptions struct and set the fields to provide parameter values for the GetDataProduct method.

Use the GetDataProductOptions.Builder to create a GetDataProductOptions object that contains the parameter values for the getDataProduct method.

Path Parameters

  • Data product ID

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The GetDataProduct options.

The getDataProduct options.

parameters

  • Data product ID.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products/{data_product_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • GetDataProductOptions getDataProductOptions = new GetDataProductOptions.Builder()
      .dataProductId(dataProductIdLink)
      .build();
    
    Response<DataProduct> response = dpxService.getDataProduct(getDataProductOptions).execute();
    DataProduct dataProduct = response.getResult();
    
    System.out.println(dataProduct);
  • response = dpx_service.get_data_product(
      data_product_id=data_product_id_link,
    )
    data_product = response.get_result()
    
    print(json.dumps(data_product, indent=2))
  • const params = {
      dataProductId: dataProductIdLink,
    };
    
    let res;
    try {
      res = await dpxService.getDataProduct(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • getDataProductOptions := dpxService.NewGetDataProductOptions(
      dataProductIdLink,
    )
    
    dataProduct, response, err := dpxService.GetDataProduct(getDataProductOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProduct, "", "  ")
    fmt.Println(string(b))

Response

Data Product

Data Product.

Data Product.

Data Product.

Data Product.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "drafts": [
        {
          "id": "2eec88cf-eec2-4860-95d0-8db734474340@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "version": "1.0.0",
          "state": "draft",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "Sample Data Product",
          "description": "A sample data product",
          "parts_out": [],
          "contract_terms": [],
          "asset": {
            "id": "2eec88cf-eec2-4860-95d0-8db734474340",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
        "type": "catalog"
      },
      "drafts": [
        {
          "id": "2eec88cf-eec2-4860-95d0-8db734474340@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "version": "1.0.0",
          "state": "draft",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "Sample Data Product",
          "description": "A sample data product",
          "parts_out": [],
          "contract_terms": [],
          "asset": {
            "id": "2eec88cf-eec2-4860-95d0-8db734474340",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Complete a contract document upload operation

After uploading a file to the provided signed URL, call this endpoint to mark the upload as complete. After the upload operation is marked as complete, the file is available to download.

  • After the upload is marked as complete, the returned URL is displayed in the "url" field. The signed URL is used to download the document.
  • Calling complete on referential documents results in an error.
  • Calling complete on attachment documents for which the file has not been uploaded will result in an error.

After uploading a file to the provided signed URL, call this endpoint to mark the upload as complete. After the upload operation is marked as complete, the file is available to download.

  • After the upload is marked as complete, the returned URL is displayed in the "url" field. The signed URL is used to download the document.
  • Calling complete on referential documents results in an error.
  • Calling complete on attachment documents for which the file has not been uploaded will result in an error.

After uploading a file to the provided signed URL, call this endpoint to mark the upload as complete. After the upload operation is marked as complete, the file is available to download.

  • After the upload is marked as complete, the returned URL is displayed in the "url" field. The signed URL is used to download the document.
  • Calling complete on referential documents results in an error.
  • Calling complete on attachment documents for which the file has not been uploaded will result in an error.

After uploading a file to the provided signed URL, call this endpoint to mark the upload as complete. After the upload operation is marked as complete, the file is available to download.

  • After the upload is marked as complete, the returned URL is displayed in the "url" field. The signed URL is used to download the document.
  • Calling complete on referential documents results in an error.
  • Calling complete on attachment documents for which the file has not been uploaded will result in an error.

After uploading a file to the provided signed URL, call this endpoint to mark the upload as complete. After the upload operation is marked as complete, the file is available to download.

  • After the upload is marked as complete, the returned URL is displayed in the "url" field. The signed URL is used to download the document.
  • Calling complete on referential documents results in an error.
  • Calling complete on attachment documents for which the file has not been uploaded will result in an error.
POST /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}/complete
(dpx *DpxV1) CompleteDraftContractTermsDocument(completeDraftContractTermsDocumentOptions *CompleteDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
(dpx *DpxV1) CompleteDraftContractTermsDocumentWithContext(ctx context.Context, completeDraftContractTermsDocumentOptions *CompleteDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
ServiceCall<ContractTermsDocument> completeDraftContractTermsDocument(CompleteDraftContractTermsDocumentOptions completeDraftContractTermsDocumentOptions)
completeDraftContractTermsDocument(params)
complete_draft_contract_terms_document(
        self,
        data_product_id: str,
        draft_id: str,
        contract_terms_id: str,
        document_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft-contract-term-document.complete

Request

Instantiate the CompleteDraftContractTermsDocumentOptions struct and set the fields to provide parameter values for the CompleteDraftContractTermsDocument method.

Use the CompleteDraftContractTermsDocumentOptions.Builder to create a CompleteDraftContractTermsDocumentOptions object that contains the parameter values for the completeDraftContractTermsDocument method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Contract terms id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Document id

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The CompleteDraftContractTermsDocument options.

The completeDraftContractTermsDocument options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'POST' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}/complete' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • CompleteDraftContractTermsDocumentOptions completeDraftContractTermsDocumentOptions = new CompleteDraftContractTermsDocumentOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .contractTermsId(contractTermsIdLink)
      .documentId(documentIdLink)
      .build();
    
    Response<ContractTermsDocument> response = dpxService.completeDraftContractTermsDocument(completeDraftContractTermsDocumentOptions).execute();
    ContractTermsDocument contractTermsDocument = response.getResult();
    
    System.out.println(contractTermsDocument);
  • response = dpx_service.complete_draft_contract_terms_document(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
      contract_terms_id=contract_terms_id_link,
      document_id=document_id_link,
    )
    contract_terms_document = response.get_result()
    
    print(json.dumps(contract_terms_document, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
      contractTermsId: contractTermsIdLink,
      documentId: documentIdLink,
    };
    
    let res;
    try {
      res = await dpxService.completeDraftContractTermsDocument(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • completeDraftContractTermsDocumentOptions := dpxService.NewCompleteDraftContractTermsDocumentOptions(
      optionalDataProductIdLink,
      draftIdLink,
      contractTermsIdLink,
      documentIdLink,
    )
    
    contractTermsDocument, response, err := dpxService.CompleteDraftContractTermsDocument(completeDraftContractTermsDocumentOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(contractTermsDocument, "", "  ")
    fmt.Println(string(b))

Response

Standard contract terms document, which is used for get and list contract terms responses

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

Example responses
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }

Retrieve a list of data product drafts

Retrieve a list of data product drafts

Retrieve a list of data product drafts.

Retrieve a list of data product drafts.

Retrieve a list of data product drafts.

Retrieve a list of data product drafts.

GET /data_product_exchange/v1/data_products/{data_product_id}/drafts
(dpx *DpxV1) ListDataProductDrafts(listDataProductDraftsOptions *ListDataProductDraftsOptions) (result *DataProductDraftCollection, response *core.DetailedResponse, err error)
(dpx *DpxV1) ListDataProductDraftsWithContext(ctx context.Context, listDataProductDraftsOptions *ListDataProductDraftsOptions) (result *DataProductDraftCollection, response *core.DetailedResponse, err error)
ServiceCall<DataProductDraftCollection> listDataProductDrafts(ListDataProductDraftsOptions listDataProductDraftsOptions)
listDataProductDrafts(params)
list_data_product_drafts(
        self,
        data_product_id: str,
        *,
        asset_container_id: Optional[str] = None,
        version: Optional[str] = None,
        limit: Optional[int] = None,
        start: Optional[str] = None,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft.list

Request

Instantiate the ListDataProductDraftsOptions struct and set the fields to provide parameter values for the ListDataProductDrafts method.

Use the ListDataProductDraftsOptions.Builder to create a ListDataProductDraftsOptions object that contains the parameter values for the listDataProductDrafts method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

Query Parameters

  • Filter the list of data product drafts by container id.

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Filter the list of data product drafts by version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression ^[\d]+.[\d]+.[\d]+$

  • Limit the number of data product drafts in the results. The maximum limit is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination

    Possible values: 1 ≤ length ≤ 512, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The ListDataProductDrafts options.

The listDataProductDrafts options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Filter the list of data product drafts by container id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Filter the list of data product drafts by version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression /^[\\d]+.[\\d]+.[\\d]+$/

  • Limit the number of data product drafts in the results. The maximum limit is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination.

    Possible values: 1 ≤ length ≤ 512, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Filter the list of data product drafts by container id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Filter the list of data product drafts by version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression /^[\\d]+.[\\d]+.[\\d]+$/

  • Limit the number of data product drafts in the results. The maximum limit is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination.

    Possible values: 1 ≤ length ≤ 512, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • ListDataProductDraftsOptions listDataProductDraftsOptions = new ListDataProductDraftsOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      // .assetContainerId("testString")
      // .version("testString")
      .limit(Long.valueOf("10"))
      .build();
    
    DataProductDraftsPager pager = new DataProductDraftsPager(dpxService, listDataProductDraftsOptions);
    List<DataProductVersionSummary> allResults = new ArrayList<>();
    while (pager.hasNext()) {
      List<DataProductVersionSummary> nextPage = pager.getNext();
      allResults.addAll(nextPage);
    }
    
    System.out.println(GsonSingleton.getGson().toJson(allResults));
  • all_results = []
    pager = DataProductDraftsPager(
      client=dpx_service,
      data_product_id=optional_data_product_id_link,
      # asset_container_id='testString',
      # version='testString',
      limit=10,
    )
    while pager.has_next():
      next_page = pager.get_next()
      assert next_page is not None
      all_results.extend(next_page)
    
    print(json.dumps(all_results, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      // assetContainerId: 'testString',
      // version: 'testString',
      limit: 5,
    };
    
    const allResults = [];
    try {
      const pager = new DpxV1.DataProductDraftsPager(dpxService, params);
      while (pager.hasNext()) {
        const nextPage = await pager.getNext();
        expect(nextPage).not.toBeNull();
        allResults.push(...nextPage);
      }
      console.log(JSON.stringify(allResults, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • listDataProductDraftsOptions := &dpxv1.ListDataProductDraftsOptions{
      DataProductID: &optionalDataProductIdLink,
      Limit:         core.Int64Ptr(int64(10)),
    }
    
    pager, err := dpxService.NewDataProductDraftsPager(listDataProductDraftsOptions)
    if err != nil {
      panic(err)
    }
    
    var allResults []dpxv1.DataProductVersionSummary
    for pager.HasNext() {
      nextPage, err := pager.GetNext()
      if err != nil {
        panic(err)
      }
      allResults = append(allResults, nextPage...)
    }
    b, _ := json.MarshalIndent(allResults, "", "  ")
    fmt.Println(string(b))

Response

A collection of data product draft summaries

A collection of data product draft summaries.

A collection of data product draft summaries.

A collection of data product draft summaries.

A collection of data product draft summaries.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "limit": 200,
      "first": {
        "href": "https://api.example.com/collection"
      },
      "next": {
        "href": "https://api.example.com/collection?start=eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9",
        "start": "eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9"
      },
      "drafts": [
        {
          "version": "1.0.0",
          "state": "draft",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "My Data Product",
          "description": "This is a description of My Data Product.",
          "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "limit": 200,
      "first": {
        "href": "https://api.example.com/collection"
      },
      "next": {
        "href": "https://api.example.com/collection?start=eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9",
        "start": "eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9"
      },
      "drafts": [
        {
          "version": "1.0.0",
          "state": "draft",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "My Data Product",
          "description": "This is a description of My Data Product.",
          "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Create a new draft of an existing data product

Create a new draft of an existing data product

Create a new draft of an existing data product.

Create a new draft of an existing data product.

Create a new draft of an existing data product.

Create a new draft of an existing data product.

POST /data_product_exchange/v1/data_products/{data_product_id}/drafts
(dpx *DpxV1) CreateDataProductDraft(createDataProductDraftOptions *CreateDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
(dpx *DpxV1) CreateDataProductDraftWithContext(ctx context.Context, createDataProductDraftOptions *CreateDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
ServiceCall<DataProductVersion> createDataProductDraft(CreateDataProductDraftOptions createDataProductDraftOptions)
createDataProductDraft(params)
create_data_product_draft(
        self,
        data_product_id: str,
        asset: 'AssetReference',
        *,
        version: Optional[str] = None,
        state: Optional[str] = None,
        data_product: Optional['DataProductIdentity'] = None,
        name: Optional[str] = None,
        description: Optional[str] = None,
        tags: Optional[List[str]] = None,
        use_cases: Optional[List['UseCase']] = None,
        domain: Optional['Domain'] = None,
        types: Optional[List[str]] = None,
        parts_out: Optional[List['DataProductPart']] = None,
        contract_terms: Optional[List['DataProductContractTerms']] = None,
        is_restricted: Optional[bool] = None,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft.create

Request

Instantiate the CreateDataProductDraftOptions struct and set the fields to provide parameter values for the CreateDataProductDraft method.

Use the CreateDataProductDraftOptions.Builder to create a CreateDataProductDraftOptions object that contains the parameter values for the createDataProductDraft method.

Path Parameters

  • Data product ID

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

Data Product Draft request

Examples:
Create a new draft of a data product by specifying: - The data product container id to create the data product draft in - The new version number - The data product id for which the draft was created <br/><br/>If no other information is specified, the new draft will be a copy of the latest available data product draft or release.

WithContext method only

The CreateDataProductDraft options.

The createDataProductDraft options.

parameters

  • Data product ID.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • The asset referenced by the data product version.

  • The data product version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression /^[\\d]+.[\\d]+.[\\d]+$/

    Examples:
    value
    _source
    _lines
    _html
  • The state of the data product version. If not specified, the data product version will be created in draft state.

    Allowable values: [draft,available,retired]

  • Data product identifier.

  • The name that refers to the new data product version. If this is a new data product, this value must be specified. If this is a new version of an existing data product, the name will default to the name of the previous data product version. A name can contain letters, numbers, understores, dashes, spaces or periods. A name must contain at least one non-space character.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Description of the data product version. If this is a new version of an existing data product, the description will default to the description of the previous version of the data product.

    Possible values: 1 ≤ length ≤ 4000, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Tags on the new data product version. If this is the first version of a data product, tags defaults to an empty list. If this is a new version of an existing data product, tags will default to the list of tags on the previous version of the data product.

    Possible values: 0 ≤ number of items ≤ 1000, 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Use cases that the data product version serves. If this is the first version of a data product, use cases defaults to an empty list. If this is a new version of an existing data product, use cases will default to the list of use cases on the previous version of the data product.

    Possible values: 0 ≤ number of items ≤ 1000

  • Domain that the data product version belongs to. If this is the first version of a data product, this field is required. If this is a new version of an existing data product, the domain will default to the domain of the previous version of the data product.

  • The types of the parts included in this data product version. If this is the first version of a data product, this field defaults to an empty list. If this is a new version of an existing data product, the types will default to the types of the previous version of the data product.

    Allowable values: [data,code]

    Possible values: 0 ≤ number of items ≤ 1000

  • The outgoing parts of this data product version to be delivered to consumers. If this is the first version of a data product, this field defaults to an empty list. If this is a new version of an existing data product, the data product parts will default to the parts list from the previous version of the data product.

    Possible values: 0 ≤ number of items ≤ 1000

  • The contract terms that bind interactions with this data product version.

    Possible values: 0 ≤ number of items ≤ 1000

  • Indicates whether the data product is restricted or not. A restricted data product indicates that orders of the data product requires explicit approval before data is delivered.

parameters

  • Data product ID.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • The asset referenced by the data product version.

  • The data product version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression /^[\\d]+.[\\d]+.[\\d]+$/

    Examples:
    value
    _source
    _lines
    _html
  • The state of the data product version. If not specified, the data product version will be created in draft state.

    Allowable values: [draft,available,retired]

  • Data product identifier.

  • The name that refers to the new data product version. If this is a new data product, this value must be specified. If this is a new version of an existing data product, the name will default to the name of the previous data product version. A name can contain letters, numbers, understores, dashes, spaces or periods. A name must contain at least one non-space character.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Description of the data product version. If this is a new version of an existing data product, the description will default to the description of the previous version of the data product.

    Possible values: 1 ≤ length ≤ 4000, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Tags on the new data product version. If this is the first version of a data product, tags defaults to an empty list. If this is a new version of an existing data product, tags will default to the list of tags on the previous version of the data product.

    Possible values: 0 ≤ number of items ≤ 1000, 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Use cases that the data product version serves. If this is the first version of a data product, use cases defaults to an empty list. If this is a new version of an existing data product, use cases will default to the list of use cases on the previous version of the data product.

    Possible values: 0 ≤ number of items ≤ 1000

  • Domain that the data product version belongs to. If this is the first version of a data product, this field is required. If this is a new version of an existing data product, the domain will default to the domain of the previous version of the data product.

  • The types of the parts included in this data product version. If this is the first version of a data product, this field defaults to an empty list. If this is a new version of an existing data product, the types will default to the types of the previous version of the data product.

    Allowable values: [data,code]

    Possible values: 0 ≤ number of items ≤ 1000

  • The outgoing parts of this data product version to be delivered to consumers. If this is the first version of a data product, this field defaults to an empty list. If this is a new version of an existing data product, the data product parts will default to the parts list from the previous version of the data product.

    Possible values: 0 ≤ number of items ≤ 1000

  • The contract terms that bind interactions with this data product version.

    Possible values: 0 ≤ number of items ≤ 1000

  • Indicates whether the data product is restricted or not. A restricted data product indicates that orders of the data product requires explicit approval before data is delivered.

  • curl -X 'POST' '{url}/data_product_exchange/v1/data_product_versions' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "name": "My Data Product",
      "state": "draft",
     "version": "1.0.0",
      "description": "This is a description of My Data Product.",
      "tags": ["some_tag"],
      "use_cases": [
        "id": "a4e28c73-b2d6-4df5-aaf2-747fe3033b1a",
        "name": "Sample Use Case Name"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name"
      },
      "type": ["data"],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          },
          "delivery_methods": [
            "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          ]
        }
      ]
    }'
  • curl -X 'POST' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "version": "1.2.0",
      "container": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      }
    }'
    
  • ContainerReference containerReferenceModel = new ContainerReference.Builder()
      .id(containerIdLink)
      .build();
    AssetReference assetReferenceModel = new AssetReference.Builder()
      .container(containerReferenceModel)
      .build();
    DataProductIdentity dataProductIdentityModel = new DataProductIdentity.Builder()
      .id(dataProductIdLink)
      .build();
      Domain domainModel = new Domain.Builder()
      .id("918c0bfd-6943-4468-b74f-bc111018e0d1")  // Domain ID
      .name("Customer Service") // Domain Name
      .container(containerReferenceModel) // Assign the container reference
      .build();
    CreateDataProductDraftOptions createDataProductDraftOptions = new CreateDataProductDraftOptions.Builder()
      .dataProductId(dataProductIdLink)
      .asset(assetReferenceModel)
      .version("1.2.0")
      .dataProduct(dataProductIdentityModel)
      .domain(domainModel)
      .build();
    
    Response<DataProductVersion> response = dpxService.createDataProductDraft(createDataProductDraftOptions).execute();
    DataProductVersion dataProductVersion = response.getResult();
    
    System.out.println(dataProductVersion);
    ContainerReference containerReferenceModel = new ContainerReference.Builder()
      .id(containerIdLink)
      .build();
    AssetReference assetReferenceModel = new AssetReference.Builder()
      .container(containerReferenceModel)
      .build();
    DataProductIdentity dataProductIdentityModel = new DataProductIdentity.Builder()
      .id(dataProductIdLink)
      .build();
      Domain domainModel = new Domain.Builder()
      .id("918c0bfd-6943-4468-b74f-bc111018e0d1")  // Domain ID
      .name("Customer Service") // Domain Name
      .container(containerReferenceModel) // Assign the container reference
      .build();
    CreateDataProductDraftOptions createDataProductDraftOptions = new CreateDataProductDraftOptions.Builder()
      .dataProductId(dataProductIdLink)
      .asset(assetReferenceModel)
      .version("1.2.0")
      .dataProduct(dataProductIdentityModel)
      .domain(domainModel)
      .build();
    
    Response<DataProductVersion> response = dpxService.createDataProductDraft(createDataProductDraftOptions).execute();
    DataProductVersion dataProductVersion = response.getResult();
    
    System.out.println(dataProductVersion);
  • container_reference_model = {
      'id': container_id_link,
    }
    
    asset_reference_model = {
      'container': container_reference_model,
    }
    
    data_product_identity_model = {
      'id': data_product_id_link,
    }
    
    domain_model = {
      'id': '918c0bfd-6943-4468-b74f-bc111018e0d1',
      'name': 'Customer Service',
      'container': container_reference_model,
    }
    
    response = dpx_service.create_data_product_draft(
      data_product_id=data_product_id_link,
      asset=asset_reference_model,
      version='1.2.0',
      data_product=data_product_identity_model,
      domain=domain_model,
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
    
    
    container_reference_model = {
      'id': container_id_link,
    }
    
    asset_reference_model = {
      'container': container_reference_model,
    }
    
    data_product_identity_model = {
      'id': data_product_id_link,
    }
    
    domain_model = {
      'id': '918c0bfd-6943-4468-b74f-bc111018e0d1',
      'name': 'Customer Service',
      'container': container_reference_model,
    }
    
    response = dpx_service.create_data_product_draft(
      data_product_id=data_product_id_link,
      asset=asset_reference_model,
      version='1.2.0',
      data_product=data_product_identity_model,
      domain=domain_model,
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
  • // Request models needed by this operation.
    
    // ContainerReference
    const containerReferenceModel = {
      id: containerIdLink,
    };
    
    // AssetReference
    const assetReferenceModel = {
      container: containerReferenceModel,
    };
    
    // DataProductIdentity
    const dataProductIdentityModel = {
      id: dataProductIdLink,
    };
    
    // Domain
    const domainModel = {
      id: '918c0bfd-6943-4468-b74f-bc111018e0d1',
      name: 'Customer Service',
      container: containerReferenceModel,
    };
    
    const params = {
      dataProductId: dataProductIdLink,
      asset: assetReferenceModel,
      version: '1.2.0',
      dataProduct: dataProductIdentityModel,
      domain: domainModel,
    };
    
    let res;
    try {
      res = await dpxService.createDataProductDraft(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
    
    
    // Request models needed by this operation.
    
    // ContainerReference
    const containerReferenceModel = {
      id: containerIdLink,
    };
    
    // AssetReference
    const assetReferenceModel = {
      container: containerReferenceModel,
    };
    
    // DataProductIdentity
    const dataProductIdentityModel = {
      id: dataProductIdLink,
    };
    
    // Domain
    const domainModel = {
      id: '918c0bfd-6943-4468-b74f-bc111018e0d1',
      name: 'Customer Service',
      container: containerReferenceModel,
    };
    
    const params = {
      dataProductId: dataProductIdLink,
      asset: assetReferenceModel,
      version: '1.2.0',
      dataProduct: dataProductIdentityModel,
      domain: domainModel,
    };
    
    let res;
    try {
      res = await dpxService.createDataProductDraft(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • containerReferenceModel := &dpxv1.ContainerReference{
      ID: &containerIdLink,
    }
    
    assetReferenceModel := &dpxv1.AssetReference{
      Container: containerReferenceModel,
    }
    
    dataProductIdentityModel := &dpxv1.DataProductIdentity{
      ID: &dataProductIdLink,
    }
    
    domainModel := &dpxv1.Domain{
      ID:        core.StringPtr("918c0bfd-6943-4468-b74f-bc111018e0d1"),
      Name:      core.StringPtr("Customer Service"),
      Container: containerReferenceModel,
    }
    
    createDataProductDraftOptions := dpxService.NewCreateDataProductDraftOptions(
      dataProductIdLink,
      assetReferenceModel,
    )
    createDataProductDraftOptions.SetVersion("1.2.0")
    createDataProductDraftOptions.SetDataProduct(dataProductIdentityModel)
    createDataProductDraftOptions.SetDomain(domainModel)
    
    dataProductVersion, response, err := dpxService.CreateDataProductDraft(createDataProductDraftOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))
    
    
    containerReferenceModel := &dpxv1.ContainerReference{
      ID: &containerIdLink,
    }
    
    assetReferenceModel := &dpxv1.AssetReference{
      Container: containerReferenceModel,
    }
    
    dataProductIdentityModel := &dpxv1.DataProductIdentity{
      ID: &dataProductIdLink,
    }
    
    domainModel := &dpxv1.Domain{
      ID:        core.StringPtr("918c0bfd-6943-4468-b74f-bc111018e0d1"),
      Name:      core.StringPtr("Customer Service"),
      Container: containerReferenceModel,
    }
    
    createDataProductDraftOptions := dpxService.NewCreateDataProductDraftOptions(
      dataProductIdLink,
      assetReferenceModel,
    )
    createDataProductDraftOptions.SetVersion("1.2.0")
    createDataProductDraftOptions.SetDataProduct(dataProductIdentityModel)
    createDataProductDraftOptions.SetDomain(domainModel)
    
    dataProductVersion, response, err := dpxService.CreateDataProductDraft(createDataProductDraftOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))

Response

Data Product version

Data Product version.

Data Product version.

Data Product version.

Data Product version.

Status Code

  • Created

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Upload a contract document to the data product draft contract terms

Upload a contract document to the data product draft identified by draft_id.

  • If the request object contains a "url" parameter, a referential document is created to store the provided url.
  • If the request object does not contain a "url" parameter, an attachment document is created, and a signed url will be returned in an "upload_url" parameter. The data product producer can upload the document using the provided "upload_url". After the upload is completed, call "complete_contract_terms_document" for the given document needs to be called to mark the upload as completed. After completion of the upload, "get_contract_terms_document" for the given document returns a signed "url" parameter that can be used to download the attachment document.

Upload a contract document to the data product draft identified by draft_id.

  • If the request object contains a "url" parameter, a referential document is created to store the provided url.
  • If the request object does not contain a "url" parameter, an attachment document is created, and a signed url will be returned in an "upload_url" parameter. The data product producer can upload the document using the provided "upload_url". After the upload is completed, call "complete_contract_terms_document" for the given document needs to be called to mark the upload as completed. After completion of the upload, "get_contract_terms_document" for the given document returns a signed "url" parameter that can be used to download the attachment document.

Upload a contract document to the data product draft identified by draft_id.

  • If the request object contains a "url" parameter, a referential document is created to store the provided url.
  • If the request object does not contain a "url" parameter, an attachment document is created, and a signed url will be returned in an "upload_url" parameter. The data product producer can upload the document using the provided "upload_url". After the upload is completed, call "complete_contract_terms_document" for the given document needs to be called to mark the upload as completed. After completion of the upload, "get_contract_terms_document" for the given document returns a signed "url" parameter that can be used to download the attachment document.

Upload a contract document to the data product draft identified by draft_id.

  • If the request object contains a "url" parameter, a referential document is created to store the provided url.
  • If the request object does not contain a "url" parameter, an attachment document is created, and a signed url will be returned in an "upload_url" parameter. The data product producer can upload the document using the provided "upload_url". After the upload is completed, call "complete_contract_terms_document" for the given document needs to be called to mark the upload as completed. After completion of the upload, "get_contract_terms_document" for the given document returns a signed "url" parameter that can be used to download the attachment document.

Upload a contract document to the data product draft identified by draft_id.

  • If the request object contains a "url" parameter, a referential document is created to store the provided url.
  • If the request object does not contain a "url" parameter, an attachment document is created, and a signed url will be returned in an "upload_url" parameter. The data product producer can upload the document using the provided "upload_url". After the upload is completed, call "complete_contract_terms_document" for the given document needs to be called to mark the upload as completed. After completion of the upload, "get_contract_terms_document" for the given document returns a signed "url" parameter that can be used to download the attachment document.
POST /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents
(dpx *DpxV1) CreateDraftContractTermsDocument(createDraftContractTermsDocumentOptions *CreateDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
(dpx *DpxV1) CreateDraftContractTermsDocumentWithContext(ctx context.Context, createDraftContractTermsDocumentOptions *CreateDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
ServiceCall<ContractTermsDocument> createDraftContractTermsDocument(CreateDraftContractTermsDocumentOptions createDraftContractTermsDocumentOptions)
createDraftContractTermsDocument(params)
create_draft_contract_terms_document(
        self,
        data_product_id: str,
        draft_id: str,
        contract_terms_id: str,
        type: str,
        name: str,
        id: str,
        *,
        url: Optional[str] = None,
        attachment: Optional['ContractTermsDocumentAttachment'] = None,
        upload_url: Optional[str] = None,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft-contract-term-document.upload

Request

Instantiate the CreateDraftContractTermsDocumentOptions struct and set the fields to provide parameter values for the CreateDraftContractTermsDocument method.

Use the CreateDraftContractTermsDocumentOptions.Builder to create a CreateDraftContractTermsDocumentOptions object that contains the parameter values for the createDraftContractTermsDocument method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Contract terms id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

Definition of a ContractTermsDocument object

Examples:
Managed document example
Referenced document example

WithContext method only

The CreateDraftContractTermsDocument options.

The createDraftContractTermsDocument options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Type of the contract document.

    Allowable values: [terms_and_conditions,sla]

    Examples:
    value
    _source
    _lines
    _html
  • Name of the contract document.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Id uniquely identifying this document within the contract terms instance.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • URL that can be used to retrieve the contract document.

    Possible values: 1 ≤ length ≤ 1000, Value must match regular expression /^https?:\/\/[^\\s<>]+$/

  • Attachment associated witht the document.

  • URL which can be used to upload document file.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Type of the contract document.

    Allowable values: [terms_and_conditions,sla]

    Examples:
    value
    _source
    _lines
    _html
  • Name of the contract document.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Id uniquely identifying this document within the contract terms instance.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • URL that can be used to retrieve the contract document.

    Possible values: 1 ≤ length ≤ 1000, Value must match regular expression /^https?:\/\/[^\\s<>]+$/

  • Attachment associated witht the document.

  • URL which can be used to upload document file.

  • curl -X 'POST' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "name": "Terms and conditions document",
      "type": "terms_and_conditions"
    }'
    
  • curl -X 'POST' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents' -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: bearer {bearer_token}' -d '{
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "name": "Terms and conditions document",
      "type": "terms_and_conditions",
      "url": "https://www.ibm.com/some_document"
    }'
    
  • CreateDraftContractTermsDocumentOptions createDraftContractTermsDocumentOptions = new CreateDraftContractTermsDocumentOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .contractTermsId(contractTermsIdLink)
      .type("terms_and_conditions")
      .name("Terms and conditions document")
      .id("b38df608-d34b-4d58-8136-ed25e6c6684e")
      .url("https://www.google.com")
      .build();
    
    Response<ContractTermsDocument> response = dpxService.createDraftContractTermsDocument(createDraftContractTermsDocumentOptions).execute();
    ContractTermsDocument contractTermsDocument = response.getResult();
    
    System.out.println(contractTermsDocument);
    CreateDraftContractTermsDocumentOptions createDraftContractTermsDocumentOptions = new CreateDraftContractTermsDocumentOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .contractTermsId(contractTermsIdLink)
      .type("terms_and_conditions")
      .name("Terms and conditions document")
      .id("b38df608-d34b-4d58-8136-ed25e6c6684e")
      .url("https://www.google.com")
      .build();
    
    Response<ContractTermsDocument> response = dpxService.createDraftContractTermsDocument(createDraftContractTermsDocumentOptions).execute();
    ContractTermsDocument contractTermsDocument = response.getResult();
    
    System.out.println(contractTermsDocument);
  • response = dpx_service.create_draft_contract_terms_document(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
      contract_terms_id=contract_terms_id_link,
      type='terms_and_conditions',
      name='Terms and conditions document',
      id='b38df608-d34b-4d58-8136-ed25e6c6684e',
      url='https://www.google.com',
    )
    contract_terms_document = response.get_result()
    
    print(json.dumps(contract_terms_document, indent=2))
    
    
    response = dpx_service.create_draft_contract_terms_document(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
      contract_terms_id=contract_terms_id_link,
      type='terms_and_conditions',
      name='Terms and conditions document',
      id='b38df608-d34b-4d58-8136-ed25e6c6684e',
      url='https://www.google.com',
    )
    contract_terms_document = response.get_result()
    
    print(json.dumps(contract_terms_document, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
      contractTermsId: contractTermsIdLink,
      type: 'terms_and_conditions',
      name: 'Terms and conditions document',
      id: 'b38df608-d34b-4d58-8136-ed25e6c6684e',
      url: 'https://www.google.com',
    };
    
    let res;
    try {
      res = await dpxService.createDraftContractTermsDocument(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
    
    
    const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
      contractTermsId: contractTermsIdLink,
      type: 'terms_and_conditions',
      name: 'Terms and conditions document',
      id: 'b38df608-d34b-4d58-8136-ed25e6c6684e',
      url: 'https://www.google.com',
    };
    
    let res;
    try {
      res = await dpxService.createDraftContractTermsDocument(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • createDraftContractTermsDocumentOptions := dpxService.NewCreateDraftContractTermsDocumentOptions(
      optionalDataProductIdLink,
      draftIdLink,
      contractTermsIdLink,
      "terms_and_conditions",
      "Terms and conditions document",
      "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "https://www.google.com",
    )
    
    contractTermsDocument, response, err := dpxService.CreateDraftContractTermsDocument(createDraftContractTermsDocumentOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(contractTermsDocument, "", "  ")
    fmt.Println(string(b))
    
    
    createDraftContractTermsDocumentOptions := dpxService.NewCreateDraftContractTermsDocumentOptions(
      optionalDataProductIdLink,
      draftIdLink,
      contractTermsIdLink,
      "terms_and_conditions",
      "Terms and conditions document",
      "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "https://www.google.com",
    )
    
    contractTermsDocument, response, err := dpxService.CreateDraftContractTermsDocument(createDraftContractTermsDocumentOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(contractTermsDocument, "", "  ")
    fmt.Println(string(b))

Response

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Status Code

  • Created

  • Bad Request

  • Unauthorized

  • Forbidden

  • Conflict

  • Internal error

Example responses
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "upload_url": "https://s3"
    }
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "upload_url": "https://s3"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Get a draft of an existing data product

Get a draft of an existing data product

Get a draft of an existing data product.

Get a draft of an existing data product.

Get a draft of an existing data product.

Get a draft of an existing data product.

GET /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}
(dpx *DpxV1) GetDataProductDraft(getDataProductDraftOptions *GetDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
(dpx *DpxV1) GetDataProductDraftWithContext(ctx context.Context, getDataProductDraftOptions *GetDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
ServiceCall<DataProductVersion> getDataProductDraft(GetDataProductDraftOptions getDataProductDraftOptions)
getDataProductDraft(params)
get_data_product_draft(
        self,
        data_product_id: str,
        draft_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft.read

Request

Instantiate the GetDataProductDraftOptions struct and set the fields to provide parameter values for the GetDataProductDraft method.

Use the GetDataProductDraftOptions.Builder to create a GetDataProductDraftOptions object that contains the parameter values for the getDataProductDraft method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

WithContext method only

The GetDataProductDraft options.

The getDataProductDraft options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • GetDataProductDraftOptions getDataProductDraftOptions = new GetDataProductDraftOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .build();
    
    Response<DataProductVersion> response = dpxService.getDataProductDraft(getDataProductDraftOptions).execute();
    DataProductVersion dataProductVersion = response.getResult();
    
    System.out.println(dataProductVersion);
  • response = dpx_service.get_data_product_draft(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
    };
    
    let res;
    try {
      res = await dpxService.getDataProductDraft(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • getDataProductDraftOptions := dpxService.NewGetDataProductDraftOptions(
      optionalDataProductIdLink,
      draftIdLink,
    )
    
    dataProductVersion, response, err := dpxService.GetDataProductDraft(getDataProductDraftOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))

Response

Data Product version

Data Product version.

Data Product version.

Data Product version.

Data Product version.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Delete a data product draft identified by ID

Delete a data product draft identified by a valid ID.

Delete a data product draft identified by a valid ID.

Delete a data product draft identified by a valid ID.

Delete a data product draft identified by a valid ID.

Delete a data product draft identified by a valid ID.

DELETE /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}
(dpx *DpxV1) DeleteDataProductDraft(deleteDataProductDraftOptions *DeleteDataProductDraftOptions) (response *core.DetailedResponse, err error)
(dpx *DpxV1) DeleteDataProductDraftWithContext(ctx context.Context, deleteDataProductDraftOptions *DeleteDataProductDraftOptions) (response *core.DetailedResponse, err error)
ServiceCall<Void> deleteDataProductDraft(DeleteDataProductDraftOptions deleteDataProductDraftOptions)
deleteDataProductDraft(params)
delete_data_product_draft(
        self,
        data_product_id: str,
        draft_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft.delete

Request

Instantiate the DeleteDataProductDraftOptions struct and set the fields to provide parameter values for the DeleteDataProductDraft method.

Use the DeleteDataProductDraftOptions.Builder to create a DeleteDataProductDraftOptions object that contains the parameter values for the deleteDataProductDraft method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

WithContext method only

The DeleteDataProductDraft options.

The deleteDataProductDraft options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'DELETE' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • DeleteDataProductDraftOptions deleteDataProductDraftOptions = new DeleteDataProductDraftOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .build();
    
    Response<Void> response = dpxService.deleteDataProductDraft(deleteDataProductDraftOptions).execute();
  • response = dpx_service.delete_data_product_draft(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
    )
  • const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
    };
    
    try {
      await dpxService.deleteDataProductDraft(params);
    } catch (err) {
      console.warn(err);
    }
  • deleteDataProductDraftOptions := dpxService.NewDeleteDataProductDraftOptions(
      optionalDataProductIdLink,
      draftIdLink,
    )
    
    response, err := dpxService.DeleteDataProductDraft(deleteDataProductDraftOptions)
    if err != nil {
      panic(err)
    }
    if response.StatusCode != 204 {
      fmt.Printf("\nUnexpected response status code received from DeleteDataProductDraft(): %d\n", response.StatusCode)
    }

Response

Status Code

  • No Content

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

Example responses
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Update the data product draft identified by ID

Use this API to update the properties of a data product draft identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/Remove parts from a data product (up to 20 parts)

- Add/Remove use cases from a data product

- Update the data product state

Use this API to update the properties of a data product draft identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/Remove parts from a data product (up to 20 parts)

- Add/Remove use cases from a data product

- Update the data product state

.

Use this API to update the properties of a data product draft identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/Remove parts from a data product (up to 20 parts)

- Add/Remove use cases from a data product

- Update the data product state

.

Use this API to update the properties of a data product draft identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/Remove parts from a data product (up to 20 parts)

- Add/Remove use cases from a data product

- Update the data product state

.

Use this API to update the properties of a data product draft identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/Remove parts from a data product (up to 20 parts)

- Add/Remove use cases from a data product

- Update the data product state

.

PATCH /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}
(dpx *DpxV1) UpdateDataProductDraft(updateDataProductDraftOptions *UpdateDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
(dpx *DpxV1) UpdateDataProductDraftWithContext(ctx context.Context, updateDataProductDraftOptions *UpdateDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
ServiceCall<DataProductVersion> updateDataProductDraft(UpdateDataProductDraftOptions updateDataProductDraftOptions)
updateDataProductDraft(params)
update_data_product_draft(
        self,
        data_product_id: str,
        draft_id: str,
        json_patch_instructions: List['JsonPatchOperation'],
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft.update

Request

Instantiate the UpdateDataProductDraftOptions struct and set the fields to provide parameter values for the UpdateDataProductDraft method.

Use the UpdateDataProductDraftOptions.Builder to create a UpdateDataProductDraftOptions object that contains the parameter values for the updateDataProductDraft method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

Examples:
Change state to available.
Update the description.
Add parts.
Remove parts.

WithContext method only

The UpdateDataProductDraft options.

The updateDataProductDraft options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'PATCH' '{url}/data_product_exchange/v1/data_product_versions/{data_product_id}/drafts/{draft_id}' -H 'Accept: application/json' -H 'Content-Type: application/json-patch+json' -H 'Authorization: bearer {bearer_token}' -d '[
      {
        "op": "replace",
        "path": "/state",
        "value": "available"
      }
    ]'
  • curl -X 'PATCH' '{url}/data_product_exchange/v1/data_product_versions/{data_product_id}/drafts/{draft_id}' -H 'Accept: application/json' -H 'Content-Type: application/json-patch+json' -H 'Authorization: bearer {bearer_token}' -d '[
      {
        "op": "replace",
        "path": "/description",
        "value": "My new description for the data product"
      }
    ]'
  • curl -X 'PATCH' '{url}/data_product_exchange/v1/data_product_versions/{data_product_id}/drafts/{draft_id}' -H 'Accept: application/json' -H 'Content-Type: application/json-patch+json' -H 'Authorization: bearer {bearer_token}' -d '[
      {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          },
          "delivery_methods": [
            "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          ]
        }
    ]'
  • curl -X 'PATCH' {url}/data_product_exchange/v1/data_product_versions/{data_product_id}/drafts/{draft_id}' -H 'Accept: application/json' -H 'Content-Type: application/json-patch+json' -H 'Authorization: bearer {bearer_token}' -d '[
      {
        "op": "remove",
        "path": "/parts_out/0"
      }
    ]
  •   // Construct the asset object
    String assetString = "{\"id\":\"669a570b-31f7-4c84-bfd1-851282ab5b86\",\"container\":{\"id\":\"b6eb50b4-ace4-4dab-b2c4-318bb4c032a6\",\"type\":\"catalog\"}}";
    
    // Parse the JSON string to a Map using Gson
    java.lang.reflect.Type mapType = new TypeToken<Map<String, Object>>() { }.getType();
    Map<String, Object> assetMap = new Gson().fromJson(assetString, mapType);
    
    // Create a list to hold the asset object
    List<Map<String, Object>> partsOutList = new ArrayList<>();
    Map<String, Object> assetObject = new HashMap<>();
    assetObject.put("asset", assetMap);
    partsOutList.add(assetObject);
    
    // Print the contents of partsOutList
    System.out.println("partsOutList:");
    for (Map<String, Object> part : partsOutList) {
        System.out.println(part);
    }
      JsonPatchOperation jsonPatchOperationModel = new JsonPatchOperation.Builder()
        .op("add")
        .path("/parts_out")
        .value(partsOutList)
        .build();
      UpdateDataProductDraftOptions updateDataProductDraftOptions = new UpdateDataProductDraftOptions.Builder()
        .dataProductId(optionalDataProductIdLink)
        .draftId(draftIdLink)
        .jsonPatchInstructions(java.util.Arrays.asList(jsonPatchOperationModel))
        .build();
    
      Response<DataProductVersion> response = dpxService.updateDataProductDraft(updateDataProductDraftOptions).execute();
      DataProductVersion dataProductVersion = response.getResult();
    
      System.out.println(dataProductVersion);
  • # Construct the asset object
    asset_string = '{"id":"669a570b-31f7-4c84-bfd1-851282ab5b86","container":{"id":"b6eb50b4-ace4-4dab-b2c4-318bb4c032a6","type":"catalog"}}'
    
    # Parse the JSON string to a dictionary
    asset_map = json.loads(asset_string)
    
    # Create a list to hold the asset object
    parts_out_list = [{"asset": asset_map}]
    
    json_patch_operation_model = {
      'op': 'add',
      'path': '/parts_out',
      'value': parts_out_list,
    }
    
    response = dpx_service.update_data_product_draft(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
      json_patch_instructions=[json_patch_operation_model],
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
  • // Request models needed by this operation.
    
    // Construct the asset object
    const assetString =
      '{"id":"669a570b-31f7-4c84-bfd1-851282ab5b86","container":{"id":"b6eb50b4-ace4-4dab-b2c4-318bb4c032a6","type":"catalog"}}';
    
    // Parse the JSON string to a dictionary
    const assetMap = JSON.parse(assetString);
    
    // Create a list to hold the asset object
    const partsOutList = [{ asset: assetMap }];
    
    // JsonPatchOperation
    const jsonPatchOperationModel = {
      op: 'add',
      path: '/parts_out',
      value: partsOutList,
    };
    
    const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
      jsonPatchInstructions: [jsonPatchOperationModel],
    };
    
    let res;
    try {
      res = await dpxService.updateDataProductDraft(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • // Define the asset structure
    asset := map[string]interface{}{
      "id": "669a570b-31f7-4c84-bfd1-851282ab5b86",
      "container": map[string]string{
        "id":   "b6eb50b4-ace4-4dab-b2c4-318bb4c032a6",
        "type": "catalog",
      },
    }
    
    // Create a list to hold the asset object
    partsOutList := []map[string]interface{}{{"asset": asset}}
    
    jsonPatchOperationModel := &dpxv1.JSONPatchOperation{
      Op:    core.StringPtr("add"),
      Path:  core.StringPtr("/parts_out"),
      Value: partsOutList,
    }
    
    updateDataProductDraftOptions := dpxService.NewUpdateDataProductDraftOptions(
      optionalDataProductIdLink,
      draftIdLink,
      []dpxv1.JSONPatchOperation{*jsonPatchOperationModel},
    )
    
    dataProductVersion, response, err := dpxService.UpdateDataProductDraft(updateDataProductDraftOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))

Response

Data Product version

Data Product version.

Data Product version.

Data Product version.

Data Product version.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

Example responses
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Get a contract document

If a document has a completed attachment, the response contains the url which can be used to download the attachment. If a document does not have a completed attachment, the response contains the url which was submitted at document creation. If a document has an attachment that is incomplete, an error is returned to prompt the user to upload the document file and complete it.

If a document has a completed attachment, the response contains the url which can be used to download the attachment. If a document does not have a completed attachment, the response contains the url which was submitted at document creation. If a document has an attachment that is incomplete, an error is returned to prompt the user to upload the document file and complete it.

If a document has a completed attachment, the response contains the url which can be used to download the attachment. If a document does not have a completed attachment, the response contains the url which was submitted at document creation. If a document has an attachment that is incomplete, an error is returned to prompt the user to upload the document file and complete it.

If a document has a completed attachment, the response contains the url which can be used to download the attachment. If a document does not have a completed attachment, the response contains the url which was submitted at document creation. If a document has an attachment that is incomplete, an error is returned to prompt the user to upload the document file and complete it.

If a document has a completed attachment, the response contains the url which can be used to download the attachment. If a document does not have a completed attachment, the response contains the url which was submitted at document creation. If a document has an attachment that is incomplete, an error is returned to prompt the user to upload the document file and complete it.

GET /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}
(dpx *DpxV1) GetDraftContractTermsDocument(getDraftContractTermsDocumentOptions *GetDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
(dpx *DpxV1) GetDraftContractTermsDocumentWithContext(ctx context.Context, getDraftContractTermsDocumentOptions *GetDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
ServiceCall<ContractTermsDocument> getDraftContractTermsDocument(GetDraftContractTermsDocumentOptions getDraftContractTermsDocumentOptions)
getDraftContractTermsDocument(params)
get_draft_contract_terms_document(
        self,
        data_product_id: str,
        draft_id: str,
        contract_terms_id: str,
        document_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft-contract-term-document.read

Request

Instantiate the GetDraftContractTermsDocumentOptions struct and set the fields to provide parameter values for the GetDraftContractTermsDocument method.

Use the GetDraftContractTermsDocumentOptions.Builder to create a GetDraftContractTermsDocumentOptions object that contains the parameter values for the getDraftContractTermsDocument method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Contract terms id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Document id

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

WithContext method only

The GetDraftContractTermsDocument options.

The getDraftContractTermsDocument options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • GetDraftContractTermsDocumentOptions getDraftContractTermsDocumentOptions = new GetDraftContractTermsDocumentOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .contractTermsId(contractTermsIdLink)
      .documentId(documentIdLink)
      .build();
    
    Response<ContractTermsDocument> response = dpxService.getDraftContractTermsDocument(getDraftContractTermsDocumentOptions).execute();
    ContractTermsDocument contractTermsDocument = response.getResult();
    
    System.out.println(contractTermsDocument);
  • response = dpx_service.get_draft_contract_terms_document(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
      contract_terms_id=contract_terms_id_link,
      document_id=document_id_link,
    )
    contract_terms_document = response.get_result()
    
    print(json.dumps(contract_terms_document, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
      contractTermsId: contractTermsIdLink,
      documentId: documentIdLink,
    };
    
    let res;
    try {
      res = await dpxService.getDraftContractTermsDocument(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • getDraftContractTermsDocumentOptions := dpxService.NewGetDraftContractTermsDocumentOptions(
      optionalDataProductIdLink,
      draftIdLink,
      contractTermsIdLink,
      documentIdLink,
    )
    
    contractTermsDocument, response, err := dpxService.GetDraftContractTermsDocument(getDraftContractTermsDocumentOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(contractTermsDocument, "", "  ")
    fmt.Println(string(b))

Response

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

Example responses
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }

Delete a contract document

Delete an existing contract document.

Contract documents can only be deleted for data product versions that are in DRAFT state.

Delete an existing contract document.

Contract documents can only be deleted for data product versions that are in DRAFT state.

Delete an existing contract document.

Contract documents can only be deleted for data product versions that are in DRAFT state.

Delete an existing contract document.

Contract documents can only be deleted for data product versions that are in DRAFT state.

Delete an existing contract document.

Contract documents can only be deleted for data product versions that are in DRAFT state.

DELETE /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}
(dpx *DpxV1) DeleteDraftContractTermsDocument(deleteDraftContractTermsDocumentOptions *DeleteDraftContractTermsDocumentOptions) (response *core.DetailedResponse, err error)
(dpx *DpxV1) DeleteDraftContractTermsDocumentWithContext(ctx context.Context, deleteDraftContractTermsDocumentOptions *DeleteDraftContractTermsDocumentOptions) (response *core.DetailedResponse, err error)
ServiceCall<Void> deleteDraftContractTermsDocument(DeleteDraftContractTermsDocumentOptions deleteDraftContractTermsDocumentOptions)
deleteDraftContractTermsDocument(params)
delete_draft_contract_terms_document(
        self,
        data_product_id: str,
        draft_id: str,
        contract_terms_id: str,
        document_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft-contract-term-document.delete

Request

Instantiate the DeleteDraftContractTermsDocumentOptions struct and set the fields to provide parameter values for the DeleteDraftContractTermsDocument method.

Use the DeleteDraftContractTermsDocumentOptions.Builder to create a DeleteDraftContractTermsDocumentOptions object that contains the parameter values for the deleteDraftContractTermsDocument method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Contract terms id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Document id

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The DeleteDraftContractTermsDocument options.

The deleteDraftContractTermsDocument options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'DELETE' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • DeleteDraftContractTermsDocumentOptions deleteDraftContractTermsDocumentOptions = new DeleteDraftContractTermsDocumentOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .contractTermsId(contractTermsIdLink)
      .documentId(documentIdLink)
      .build();
    
    Response<Void> response = dpxService.deleteDraftContractTermsDocument(deleteDraftContractTermsDocumentOptions).execute();
  • response = dpx_service.delete_draft_contract_terms_document(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
      contract_terms_id=contract_terms_id_link,
      document_id=document_id_link,
    )
  • const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
      contractTermsId: contractTermsIdLink,
      documentId: documentIdLink,
    };
    
    try {
      await dpxService.deleteDraftContractTermsDocument(params);
    } catch (err) {
      console.warn(err);
    }
  • deleteDraftContractTermsDocumentOptions := dpxService.NewDeleteDraftContractTermsDocumentOptions(
      optionalDataProductIdLink,
      draftIdLink,
      contractTermsIdLink,
      documentIdLink,
    )
    
    response, err := dpxService.DeleteDraftContractTermsDocument(deleteDraftContractTermsDocumentOptions)
    if err != nil {
      panic(err)
    }
    if response.StatusCode != 204 {
      fmt.Printf("\nUnexpected response status code received from DeleteDraftContractTermsDocument(): %d\n", response.StatusCode)
    }

Response

Status Code

  • No Content

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

No Sample Response

This method does not specify any sample responses.

Update a contract document

Use this API to update the properties of a contract document that is identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

  • Update the url of document if it does not have an attachment.
  • Update the type of the document.

    Contract terms documents can only be updated if the associated data product version is in DRAFT state.

Use this API to update the properties of a contract document that is identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

  • Update the url of document if it does not have an attachment.
  • Update the type of the document.

    Contract terms documents can only be updated if the associated data product version is in DRAFT state.

Use this API to update the properties of a contract document that is identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

  • Update the url of document if it does not have an attachment.
  • Update the type of the document.

    Contract terms documents can only be updated if the associated data product version is in DRAFT state.

Use this API to update the properties of a contract document that is identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

  • Update the url of document if it does not have an attachment.
  • Update the type of the document.

    Contract terms documents can only be updated if the associated data product version is in DRAFT state.

Use this API to update the properties of a contract document that is identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

  • Update the url of document if it does not have an attachment.
  • Update the type of the document.

    Contract terms documents can only be updated if the associated data product version is in DRAFT state.
PATCH /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}
(dpx *DpxV1) UpdateDraftContractTermsDocument(updateDraftContractTermsDocumentOptions *UpdateDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
(dpx *DpxV1) UpdateDraftContractTermsDocumentWithContext(ctx context.Context, updateDraftContractTermsDocumentOptions *UpdateDraftContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
ServiceCall<ContractTermsDocument> updateDraftContractTermsDocument(UpdateDraftContractTermsDocumentOptions updateDraftContractTermsDocumentOptions)
updateDraftContractTermsDocument(params)
update_draft_contract_terms_document(
        self,
        data_product_id: str,
        draft_id: str,
        contract_terms_id: str,
        document_id: str,
        json_patch_instructions: List['JsonPatchOperation'],
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft-contract-term-document.update

Request

Instantiate the UpdateDraftContractTermsDocumentOptions struct and set the fields to provide parameter values for the UpdateDraftContractTermsDocument method.

Use the UpdateDraftContractTermsDocumentOptions.Builder to create a UpdateDraftContractTermsDocumentOptions object that contains the parameter values for the updateDraftContractTermsDocument method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Contract terms id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Document id

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

Examples:
Change type to SLA.

WithContext method only

The UpdateDraftContractTermsDocument options.

The updateDraftContractTermsDocument options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'PATCH' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/contract_terms/{contract_terms_id}/documents/{document_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • JsonPatchOperation jsonPatchOperationModel = new JsonPatchOperation.Builder()
      .op("replace")
      .path("/url")
      .value("https://google.com")
      .build();
    UpdateDraftContractTermsDocumentOptions updateDraftContractTermsDocumentOptions = new UpdateDraftContractTermsDocumentOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .contractTermsId(contractTermsIdLink)
      .documentId(documentIdLink)
      .jsonPatchInstructions(java.util.Arrays.asList(jsonPatchOperationModel))
      .build();
    
    Response<ContractTermsDocument> response = dpxService.updateDraftContractTermsDocument(updateDraftContractTermsDocumentOptions).execute();
    ContractTermsDocument contractTermsDocument = response.getResult();
    
    System.out.println(contractTermsDocument);
  • json_patch_operation_model = {
      'op': 'replace',
      'path': '/url',
      'value': 'https://google.com',
    }
    
    response = dpx_service.update_draft_contract_terms_document(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
      contract_terms_id=contract_terms_id_link,
      document_id=document_id_link,
      json_patch_instructions=[json_patch_operation_model],
    )
    contract_terms_document = response.get_result()
    
    print(json.dumps(contract_terms_document, indent=2))
  • // Request models needed by this operation.
    
    // JsonPatchOperation
    const jsonPatchOperationModel = {
      op: 'replace',
      path: '/url',
      value: 'https://google.com',
    };
    
    const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
      contractTermsId: contractTermsIdLink,
      documentId: documentIdLink,
      jsonPatchInstructions: [jsonPatchOperationModel],
    };
    
    let res;
    try {
      res = await dpxService.updateDraftContractTermsDocument(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • jsonPatchOperationModel := &dpxv1.JSONPatchOperation{
      Op:    core.StringPtr("replace"),
      Path:  core.StringPtr("/url"),
      Value: "https://google.com",
    }
    
    updateDraftContractTermsDocumentOptions := dpxService.NewUpdateDraftContractTermsDocumentOptions(
      optionalDataProductIdLink,
      draftIdLink,
      contractTermsIdLink,
      documentIdLink,
      []dpxv1.JSONPatchOperation{*jsonPatchOperationModel},
    )
    
    contractTermsDocument, response, err := dpxService.UpdateDraftContractTermsDocument(updateDraftContractTermsDocumentOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(contractTermsDocument, "", "  ")
    fmt.Println(string(b))

Response

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

Example responses
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }

Publish a draft of an existing data product

Publish a draft of an existing data product

Publish a draft of an existing data product.

Publish a draft of an existing data product.

Publish a draft of an existing data product.

Publish a draft of an existing data product.

POST /data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/publish
(dpx *DpxV1) PublishDataProductDraft(publishDataProductDraftOptions *PublishDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
(dpx *DpxV1) PublishDataProductDraftWithContext(ctx context.Context, publishDataProductDraftOptions *PublishDataProductDraftOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
ServiceCall<DataProductVersion> publishDataProductDraft(PublishDataProductDraftOptions publishDataProductDraftOptions)
publishDataProductDraft(params)
publish_data_product_draft(
        self,
        data_product_id: str,
        draft_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-draft.publish

Request

Instantiate the PublishDataProductDraftOptions struct and set the fields to provide parameter values for the PublishDataProductDraft method.

Use the PublishDataProductDraftOptions.Builder to create a PublishDataProductDraftOptions object that contains the parameter values for the publishDataProductDraft method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product draft id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

Query Parameters

  • Whether to perform the publish operation in the background after validating the request.

WithContext method only

The PublishDataProductDraft options.

The publishDataProductDraft options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product draft id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'POST' '{url}/data_product_exchange/v1/data_products/{data_product_id}/drafts/{draft_id}/publish' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • PublishDataProductDraftOptions publishDataProductDraftOptions = new PublishDataProductDraftOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .draftId(draftIdLink)
      .build();
    
    Response<DataProductVersion> response = dpxService.publishDataProductDraft(publishDataProductDraftOptions).execute();
    DataProductVersion dataProductVersion = response.getResult();
    
    System.out.println(dataProductVersion);
  • response = dpx_service.publish_data_product_draft(
      data_product_id=optional_data_product_id_link,
      draft_id=draft_id_link,
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      draftId: draftIdLink,
    };
    
    let res;
    try {
      res = await dpxService.publishDataProductDraft(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • publishDataProductDraftOptions := dpxService.NewPublishDataProductDraftOptions(
      optionalDataProductIdLink,
      draftIdLink,
    )
    
    dataProductVersion, response, err := dpxService.PublishDataProductDraft(publishDataProductDraftOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))

Response

Data Product version

Data Product version.

Data Product version.

Data Product version.

Data Product version.

Status Code

  • OK

  • Accepted

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "href": "https://api.example.com/data_product_exchange/v1/data_products/3b45a1a0-0400-4eda-bcd0-46ab6422a1cf/drafts/7237ef6f-63cf-4943-a5a9-05a9220e1f2f@3d0c42fd-a6bf-4e62-91b8-f23d5e8b2f29"
    }
  • {
      "href": "https://api.example.com/data_product_exchange/v1/data_products/3b45a1a0-0400-4eda-bcd0-46ab6422a1cf/drafts/7237ef6f-63cf-4943-a5a9-05a9220e1f2f@3d0c42fd-a6bf-4e62-91b8-f23d5e8b2f29"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Get a release of an existing data product

Get a release of an existing data product

Get a release of an existing data product.

Get a release of an existing data product.

Get a release of an existing data product.

Get a release of an existing data product.

GET /data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}
(dpx *DpxV1) GetDataProductRelease(getDataProductReleaseOptions *GetDataProductReleaseOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
(dpx *DpxV1) GetDataProductReleaseWithContext(ctx context.Context, getDataProductReleaseOptions *GetDataProductReleaseOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
ServiceCall<DataProductVersion> getDataProductRelease(GetDataProductReleaseOptions getDataProductReleaseOptions)
getDataProductRelease(params)
get_data_product_release(
        self,
        data_product_id: str,
        release_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-release.read

Request

Instantiate the GetDataProductReleaseOptions struct and set the fields to provide parameter values for the GetDataProductRelease method.

Use the GetDataProductReleaseOptions.Builder to create a GetDataProductReleaseOptions object that contains the parameter values for the getDataProductRelease method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product release id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

WithContext method only

The GetDataProductRelease options.

The getDataProductRelease options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • GetDataProductReleaseOptions getDataProductReleaseOptions = new GetDataProductReleaseOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .releaseId(releaseIdLink)
      .build();
    
    Response<DataProductVersion> response = dpxService.getDataProductRelease(getDataProductReleaseOptions).execute();
    DataProductVersion dataProductVersion = response.getResult();
    
    System.out.println(dataProductVersion);
  • response = dpx_service.get_data_product_release(
      data_product_id=optional_data_product_id_link,
      release_id=release_id_link,
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      releaseId: releaseIdLink,
    };
    
    let res;
    try {
      res = await dpxService.getDataProductRelease(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • getDataProductReleaseOptions := dpxService.NewGetDataProductReleaseOptions(
      optionalDataProductIdLink,
      releaseIdLink,
    )
    
    dataProductVersion, response, err := dpxService.GetDataProductRelease(getDataProductReleaseOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))

Response

Data Product version

Data Product version.

Data Product version.

Data Product version.

Data Product version.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Update the data product release identified by ID

Use this API to update the properties of a data product release identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/remove parts from a data product (up to 20 parts)

- Add/remove use cases from a data product

Use this API to update the properties of a data product release identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/remove parts from a data product (up to 20 parts)

- Add/remove use cases from a data product

.

Use this API to update the properties of a data product release identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/remove parts from a data product (up to 20 parts)

- Add/remove use cases from a data product

.

Use this API to update the properties of a data product release identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/remove parts from a data product (up to 20 parts)

- Add/remove use cases from a data product

.

Use this API to update the properties of a data product release identified by a valid ID.

Specify patch operations using http://jsonpatch.com/ syntax.

Supported patch operations include:

- Update the properties of a data product

- Add/remove parts from a data product (up to 20 parts)

- Add/remove use cases from a data product

.

PATCH /data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}
(dpx *DpxV1) UpdateDataProductRelease(updateDataProductReleaseOptions *UpdateDataProductReleaseOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
(dpx *DpxV1) UpdateDataProductReleaseWithContext(ctx context.Context, updateDataProductReleaseOptions *UpdateDataProductReleaseOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
ServiceCall<DataProductVersion> updateDataProductRelease(UpdateDataProductReleaseOptions updateDataProductReleaseOptions)
updateDataProductRelease(params)
update_data_product_release(
        self,
        data_product_id: str,
        release_id: str,
        json_patch_instructions: List['JsonPatchOperation'],
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-release.update

Request

Instantiate the UpdateDataProductReleaseOptions struct and set the fields to provide parameter values for the UpdateDataProductRelease method.

Use the UpdateDataProductReleaseOptions.Builder to create a UpdateDataProductReleaseOptions object that contains the parameter values for the updateDataProductRelease method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product release id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

Examples:
Update the description.
Add parts.
Remove parts.

WithContext method only

The UpdateDataProductRelease options.

The updateDataProductRelease options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information.

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'PATCH' '{url}/data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • JsonPatchOperation jsonPatchOperationModel = new JsonPatchOperation.Builder()
      .op("replace")
      .path("/description")
      .build();
    UpdateDataProductReleaseOptions updateDataProductReleaseOptions = new UpdateDataProductReleaseOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .releaseId(releaseIdLink)
      .jsonPatchInstructions(java.util.Arrays.asList(jsonPatchOperationModel))
      .build();
    
    Response<DataProductVersion> response = dpxService.updateDataProductRelease(updateDataProductReleaseOptions).execute();
    DataProductVersion dataProductVersion = response.getResult();
    
    System.out.println(dataProductVersion);
  • json_patch_operation_model = {
      'op': 'replace',
      'path': '/description',
      'value': '"New Description',
    }
    
    response = dpx_service.update_data_product_release(
      data_product_id=optional_data_product_id_link,
      release_id=release_id_link,
      json_patch_instructions=[json_patch_operation_model],
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
  • // Request models needed by this operation.
    
    // JsonPatchOperation
    const jsonPatchOperationModel = {
      op: 'replace',
      path: '/description',
      value: 'New Description',
    };
    
    const params = {
      dataProductId: optionalDataProductIdLink,
      releaseId: releaseIdLink,
      jsonPatchInstructions: [jsonPatchOperationModel],
    };
    
    let res;
    try {
      res = await dpxService.updateDataProductRelease(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • jsonPatchOperationModel := &dpxv1.JSONPatchOperation{
      Op:    core.StringPtr("replace"),
      Path:  core.StringPtr("/description"),
      Value: "New Description",
    }
    
    updateDataProductReleaseOptions := dpxService.NewUpdateDataProductReleaseOptions(
      optionalDataProductIdLink,
      releaseIdLink,
      []dpxv1.JSONPatchOperation{*jsonPatchOperationModel},
    )
    
    dataProductVersion, response, err := dpxService.UpdateDataProductRelease(updateDataProductReleaseOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))

Response

Data Product version

Data Product version.

Data Product version.

Data Product version.

Data Product version.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

Example responses
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Get a contract document

If the document has a completed attachment, the response contains the url to download the attachment.

If the document does not have an attachment, the response contains the url which was submitted at document creation.

If the document has an incomplete attachment, an error is returned to prompt the user to upload the document file to complete the attachment.

If the document has a completed attachment, the response contains the url to download the attachment.

If the document does not have an attachment, the response contains the url which was submitted at document creation.

If the document has an incomplete attachment, an error is returned to prompt the user to upload the document file to complete the attachment.

If the document has a completed attachment, the response contains the url to download the attachment.

If the document does not have an attachment, the response contains the url which was submitted at document creation.

If the document has an incomplete attachment, an error is returned to prompt the user to upload the document file to complete the attachment.

If the document has a completed attachment, the response contains the url to download the attachment.

If the document does not have an attachment, the response contains the url which was submitted at document creation.

If the document has an incomplete attachment, an error is returned to prompt the user to upload the document file to complete the attachment.

If the document has a completed attachment, the response contains the url to download the attachment.

If the document does not have an attachment, the response contains the url which was submitted at document creation.

If the document has an incomplete attachment, an error is returned to prompt the user to upload the document file to complete the attachment.

GET /data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}/contract_terms/{contract_terms_id}/documents/{document_id}
(dpx *DpxV1) GetReleaseContractTermsDocument(getReleaseContractTermsDocumentOptions *GetReleaseContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
(dpx *DpxV1) GetReleaseContractTermsDocumentWithContext(ctx context.Context, getReleaseContractTermsDocumentOptions *GetReleaseContractTermsDocumentOptions) (result *ContractTermsDocument, response *core.DetailedResponse, err error)
ServiceCall<ContractTermsDocument> getReleaseContractTermsDocument(GetReleaseContractTermsDocumentOptions getReleaseContractTermsDocumentOptions)
getReleaseContractTermsDocument(params)
get_release_contract_terms_document(
        self,
        data_product_id: str,
        release_id: str,
        contract_terms_id: str,
        document_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-release-contract-term-document.read

Request

Instantiate the GetReleaseContractTermsDocumentOptions struct and set the fields to provide parameter values for the GetReleaseContractTermsDocument method.

Use the GetReleaseContractTermsDocumentOptions.Builder to create a GetReleaseContractTermsDocumentOptions object that contains the parameter values for the getReleaseContractTermsDocument method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product release id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Contract terms id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

  • Document id

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The GetReleaseContractTermsDocument options.

The getReleaseContractTermsDocument options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Contract terms id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Document id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}/contract_terms/{contract_terms_id}/documents/{document_id}' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • GetReleaseContractTermsDocumentOptions getReleaseContractTermsDocumentOptions = new GetReleaseContractTermsDocumentOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .releaseId(releaseIdLink)
      .contractTermsId(contractTermsIdLink)
      .documentId(documentIdLink)
      .build();
    
    Response<ContractTermsDocument> response = dpxService.getReleaseContractTermsDocument(getReleaseContractTermsDocumentOptions).execute();
    ContractTermsDocument contractTermsDocument = response.getResult();
    
    System.out.println(contractTermsDocument);
  • response = dpx_service.get_release_contract_terms_document(
      data_product_id=optional_data_product_id_link,
      release_id=release_id_link,
      contract_terms_id=contract_terms_id_link,
      document_id=document_id_link,
    )
    contract_terms_document = response.get_result()
    
    print(json.dumps(contract_terms_document, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      releaseId: releaseIdLink,
      contractTermsId: contractTermsIdLink,
      documentId: documentIdLink,
    };
    
    let res;
    try {
      res = await dpxService.getReleaseContractTermsDocument(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • getReleaseContractTermsDocumentOptions := dpxService.NewGetReleaseContractTermsDocumentOptions(
      optionalDataProductIdLink,
      releaseIdLink,
      contractTermsIdLink,
      documentIdLink,
    )
    
    contractTermsDocument, response, err := dpxService.GetReleaseContractTermsDocument(getReleaseContractTermsDocumentOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(contractTermsDocument, "", "  ")
    fmt.Println(string(b))

Response

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Standard contract terms document, which is used for get and list contract terms responses.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Conflict

  • Internal error

Example responses
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }
  • {
      "name": "contract 1",
      "id": "b38df608-d34b-4d58-8136-ed25e6c6684e",
      "type": "terms_and_conditions",
      "attachment": {
        "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd"
      },
      "url": "https://s3"
    }

Retrieve a list of data product releases

Retrieve a list of data product releases

Retrieve a list of data product releases.

Retrieve a list of data product releases.

Retrieve a list of data product releases.

Retrieve a list of data product releases.

GET /data_product_exchange/v1/data_products/{data_product_id}/releases
(dpx *DpxV1) ListDataProductReleases(listDataProductReleasesOptions *ListDataProductReleasesOptions) (result *DataProductReleaseCollection, response *core.DetailedResponse, err error)
(dpx *DpxV1) ListDataProductReleasesWithContext(ctx context.Context, listDataProductReleasesOptions *ListDataProductReleasesOptions) (result *DataProductReleaseCollection, response *core.DetailedResponse, err error)
ServiceCall<DataProductReleaseCollection> listDataProductReleases(ListDataProductReleasesOptions listDataProductReleasesOptions)
listDataProductReleases(params)
list_data_product_releases(
        self,
        data_product_id: str,
        *,
        asset_container_id: Optional[str] = None,
        state: Optional[List[str]] = None,
        version: Optional[str] = None,
        limit: Optional[int] = None,
        start: Optional[str] = None,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-release.list

Request

Instantiate the ListDataProductReleasesOptions struct and set the fields to provide parameter values for the ListDataProductReleases method.

Use the ListDataProductReleasesOptions.Builder to create a ListDataProductReleasesOptions object that contains the parameter values for the listDataProductReleases method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

Query Parameters

  • Filter the list of data product releases by container id.

    Possible values: length = 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Filter the list of data product versions by state. States are: available and retired. Default is "available","retired".

    Allowable values: [available,retired]

    Possible values: 0 ≤ number of items ≤ 2

  • Filter the list of data product releases by version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression ^[\d]+.[\d]+.[\d]+$

  • Limit the number of data product releases in the results. The maximum is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination

    Possible values: 1 ≤ length ≤ 512, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

WithContext method only

The ListDataProductReleases options.

The listDataProductReleases options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Filter the list of data product releases by container id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Filter the list of data product versions by state. States are: available and retired. Default is "available","retired".

    Allowable values: [available,retired]

    Possible values: 0 ≤ number of items ≤ 2

  • Filter the list of data product releases by version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression /^[\\d]+.[\\d]+.[\\d]+$/

  • Limit the number of data product releases in the results. The maximum is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination.

    Possible values: 1 ≤ length ≤ 512, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Filter the list of data product releases by container id.

    Possible values: length = 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • Filter the list of data product versions by state. States are: available and retired. Default is "available","retired".

    Allowable values: [available,retired]

    Possible values: 0 ≤ number of items ≤ 2

  • Filter the list of data product releases by version number.

    Possible values: 5 ≤ length ≤ 36, Value must match regular expression /^[\\d]+.[\\d]+.[\\d]+$/

  • Limit the number of data product releases in the results. The maximum is 200.

    Possible values: 1 ≤ value ≤ 200

    Default: 200

  • Start token for pagination.

    Possible values: 1 ≤ length ≤ 512, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

  • curl -X 'GET' '{url}/data_product_exchange/v1/data_products/{data_product_id}/releases' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • ListDataProductReleasesOptions listDataProductReleasesOptions = new ListDataProductReleasesOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      // .assetContainerId("testString")
      // .state(java.util.Arrays.asList("available"))
      // .version("testString")
      .limit(Long.valueOf("10"))
      .build();
    
    DataProductReleasesPager pager = new DataProductReleasesPager(dpxService, listDataProductReleasesOptions);
    List<DataProductVersionSummary> allResults = new ArrayList<>();
    while (pager.hasNext()) {
      List<DataProductVersionSummary> nextPage = pager.getNext();
      allResults.addAll(nextPage);
    }
    
    System.out.println(GsonSingleton.getGson().toJson(allResults));
  • all_results = []
    pager = DataProductReleasesPager(
      client=dpx_service,
      data_product_id=optional_data_product_id_link,
      # asset_container_id='testString',
      state=['available'],
      # version='testString',
      limit=10,
    )
    while pager.has_next():
      next_page = pager.get_next()
      assert next_page is not None
      all_results.extend(next_page)
    
    print(json.dumps(all_results, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      // assetContainerId: 'testString',
      state: ['available'],
      // version: 'testString',
      limit: 10,
    };
    
    const allResults = [];
    try {
      const pager = new DpxV1.DataProductReleasesPager(dpxService, params);
      while (pager.hasNext()) {
        const nextPage = await pager.getNext();
        expect(nextPage).not.toBeNull();
        allResults.push(...nextPage);
      }
      console.log(JSON.stringify(allResults, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • listDataProductReleasesOptions := &dpxv1.ListDataProductReleasesOptions{
      DataProductID: &optionalDataProductIdLink,
      State:         []string{"available"},
      Limit:         core.Int64Ptr(int64(10)),
    }
    
    pager, err := dpxService.NewDataProductReleasesPager(listDataProductReleasesOptions)
    if err != nil {
      panic(err)
    }
    
    var allResults []dpxv1.DataProductVersionSummary
    for pager.HasNext() {
      nextPage, err := pager.GetNext()
      if err != nil {
        panic(err)
      }
      allResults = append(allResults, nextPage...)
    }
    b, _ := json.MarshalIndent(allResults, "", "  ")
    fmt.Println(string(b))

Response

A collection of data product release summaries

A collection of data product release summaries.

A collection of data product release summaries.

A collection of data product release summaries.

A collection of data product release summaries.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "limit": 200,
      "first": {
        "href": "https://api.example.com/collection"
      },
      "next": {
        "href": "https://api.example.com/collection?start=eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9",
        "start": "eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9"
      },
      "releases": [
        {
          "version": "1.0.0",
          "state": "available",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "My Data Product",
          "description": "This is a description of My Data Product.",
          "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "limit": 200,
      "first": {
        "href": "https://api.example.com/collection"
      },
      "next": {
        "href": "https://api.example.com/collection?start=eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9",
        "start": "eyJvZmZzZXQiOjAsImRvbmUiOnRydWV9"
      },
      "releases": [
        {
          "version": "1.0.0",
          "state": "available",
          "data_product": {
            "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
          },
          "name": "My Data Product",
          "description": "This is a description of My Data Product.",
          "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            }
          }
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }

Retire a release of an existing data product

Retire a release of an existing data product

Retire a release of an existing data product.

Retire a release of an existing data product.

Retire a release of an existing data product.

Retire a release of an existing data product.

POST /data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}/retire
(dpx *DpxV1) RetireDataProductRelease(retireDataProductReleaseOptions *RetireDataProductReleaseOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
(dpx *DpxV1) RetireDataProductReleaseWithContext(ctx context.Context, retireDataProductReleaseOptions *RetireDataProductReleaseOptions) (result *DataProductVersion, response *core.DetailedResponse, err error)
ServiceCall<DataProductVersion> retireDataProductRelease(RetireDataProductReleaseOptions retireDataProductReleaseOptions)
retireDataProductRelease(params)
retire_data_product_release(
        self,
        data_product_id: str,
        release_id: str,
        **kwargs,
    ) -> DetailedResponse

Auditing

Calling this method generates the following auditing event.

  • data-product-hub.data-product-release.expire

Request

Instantiate the RetireDataProductReleaseOptions struct and set the fields to provide parameter values for the RetireDataProductRelease method.

Use the RetireDataProductReleaseOptions.Builder to create a RetireDataProductReleaseOptions object that contains the parameter values for the retireDataProductRelease method.

Path Parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression ^[\w\.,:$&\(\)\s\-\_\^"]+$

  • Data product release id

    Possible values: length = 73, Value must match regular expression ^[\w\.,:$&@\(\)\s\-\_\^"]+$

WithContext method only

The RetireDataProductRelease options.

The retireDataProductRelease options.

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html

parameters

  • Data product ID. Use '-' to skip specifying the data product ID explicitly.

    Possible values: 1 ≤ length ≤ 36, Value must match regular expression /^[\\w\\.,:$&\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • Data product release id.

    Possible values: length = 73, Value must match regular expression /^[\\w\\.,:$&@\\(\\)\\s\\-\\_\\^\"]+$/

    Examples:
    value
    _source
    _lines
    _html
  • curl -X 'POST' '{url}/data_product_exchange/v1/data_products/{data_product_id}/releases/{release_id}/retire' -H 'Accept: application/json' -H 'Authorization: bearer {bearer_token}'
  • RetireDataProductReleaseOptions retireDataProductReleaseOptions = new RetireDataProductReleaseOptions.Builder()
      .dataProductId(optionalDataProductIdLink)
      .releaseId(releaseIdLink)
      .build();
    
    Response<DataProductVersion> response = dpxService.retireDataProductRelease(retireDataProductReleaseOptions).execute();
    DataProductVersion dataProductVersion = response.getResult();
    
    System.out.println(dataProductVersion);
  • response = dpx_service.retire_data_product_release(
      data_product_id=optional_data_product_id_link,
      release_id=release_id_link,
    )
    data_product_version = response.get_result()
    
    print(json.dumps(data_product_version, indent=2))
  • const params = {
      dataProductId: optionalDataProductIdLink,
      releaseId: releaseIdLink,
    };
    
    let res;
    try {
      res = await dpxService.retireDataProductRelease(params);
      console.log(JSON.stringify(res.result, null, 2));
    } catch (err) {
      console.warn(err);
    }
  • retireDataProductReleaseOptions := dpxService.NewRetireDataProductReleaseOptions(
      optionalDataProductIdLink,
      releaseIdLink,
    )
    
    dataProductVersion, response, err := dpxService.RetireDataProductRelease(retireDataProductReleaseOptions)
    if err != nil {
      panic(err)
    }
    b, _ := json.MarshalIndent(dataProductVersion, "", "  ")
    fmt.Println(string(b))

Response

Data Product version

Data Product version.

Data Product version.

Data Product version.

Data Product version.

Status Code

  • OK

  • Bad Request

  • Unauthorized

  • Forbidden

  • Not Found

  • Internal error

Example responses
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "version": "1.0.0",
      "state": "available",
      "data_product": {
        "id": "b38df608-d34b-4d58-8136-ed25e6c6684e"
      },
      "name": "My Data Product",
      "description": "This is a description of My Data Product.",
      "id": "2b0bf220-079c-11ee-be56-0242ac120002@d29c42eb-7100-4b7a-8257-c196dbcca1cd",
      "contract_terms": [
        {
          "id": "598183cd-b910-4e8d-9a97-97097afda3c1@e4fe2f87-0e56-46dd-b3b8-e9af32309e82",
          "documents": [
            {
              "url": "https://www.ibm.com/some_document",
              "type": "terms_and_conditions",
              "name": "Terms and conditions document",
              "id": "c1258691-0dd8-48ab-8e65-70640eb537b8"
            }
          ]
        }
      ],
      "asset": {
        "id": "2b0bf220-079c-11ee-be56-0242ac120002",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "tags": [
        "sometag"
      ],
      "domain": {
        "id": "c410bd17-a365-482f-8884-f6c08a162597",
        "name": "Sample Domain Name",
        "container": {
          "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
          "type": "catalog"
        }
      },
      "type": [
        "data"
      ],
      "parts_out": [
        {
          "asset": {
            "id": "2b0bf220-079c-11ee-be56-0242ac120002",
            "container": {
              "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
              "type": "catalog"
            },
            "type": "data_asset"
          },
          "revision": 1,
          "updated_at": "2023-06-27T15:55:07Z",
          "delivery_methods": [
            {
              "id": "09cf5fcc-cb9d-4995-a8e4-16517b25229f",
              "container": {
                "id": "d29c42eb-7100-4b7a-8257-c196dbcca1cd",
                "type": "catalog"
              }
            }
          ]
        }
      ],
      "created_by": "userid",
      "created_at": "2023-06-27T15:00:07Z",
      "published_by": "userid",
      "published_at": "2023-06-27T15:55:07Z"
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }
  • {
      "trace": "byj4o9ubzrspbyh7ymkspfot0",
      "errors": [
        {
          "code": "unexpected_exception",
          "message": "Example error message."
        }
      ]
    }