> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.umnai.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.umnai.com/_mcp/server.

# Quickstart

Use this quickstart to complete one end-to-end workflow with the REST API.

You will upload sample data to Amazon S3, ingest it, onboard it, train a model, deploy it, and query the deployed model for a prediction and explanation.

## Before you start

Download sample dataset

This quickstart assumes that you will:

1. download the sample dataset;
2. upload it to an Amazon S3 bucket you control; and
3. use that S3 location as the source data for the workflow.

You also need permission to:

* create account API credentials; and
* grant the platform read-only access to your S3 bucket.

> **Note**
>
> Organisations and accounts are currently created by Umnai during onboarding. Each account uses storage that is either provisioned by Umnai or provided by the customer.
>
> If your account uses provided storage, complete the [Account storage](/guides/setup/account-storage) setup before starting. Account storage has a different role from the read-only source storage used in this quickstart. The two roles can use the same S3 bucket, but dedicated buckets are strongly recommended.

> **Note**
>
> Several steps start asynchronous jobs. After you start a job, retrieve its status and continue only when it reaches the status shown in the step.

As you go, save the IDs returned by the API. Later steps use those IDs in request bodies, path parameters, or headers.

## 1. Authenticate

Authenticate once at the start of the workflow.

Create account API credentials in the dashboard.

Create API credentials

Store the generated `client_id` and `client_secret` securely.

### Request

POST [https://api.hi.umnai.com/oauth/token](https://api.hi.umnai.com/oauth/token)

**`Account Credentials Authentication`**

```curl Account Credentials Authentication
curl -X POST https://api.hi.umnai.com/oauth/token \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials" \
     -d "client_id=62608e08adc29a8d6dbc9754e659f125" \
     -d "client_secret=37b599fa-8a7f-495e-a3d4-1e5f824a522f"
```

**`Account Credentials Authentication`**

```python Account Credentials Authentication
import requests

url = "https://api.hi.umnai.com/oauth/token"

payload = ""
headers = {"Content-Type": "application/x-www-form-urlencoded"}

response = requests.post(url, data=payload, headers=headers)

print(response.json())
```

**`Account Credentials Authentication`**

```javascript Account Credentials Authentication
const url = 'https://api.hi.umnai.com/oauth/token';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/x-www-form-urlencoded'},
  body: new URLSearchParams('')
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Account Credentials Authentication`**

```go Account Credentials Authentication
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/oauth/token"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("Content-Type", "application/x-www-form-urlencoded")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Account Credentials Authentication`**

```ruby Account Credentials Authentication
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/oauth/token")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/x-www-form-urlencoded'

response = http.request(request)
puts response.read_body
```

**`Account Credentials Authentication`**

```java Account Credentials Authentication
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/oauth/token")
  .header("Content-Type", "application/x-www-form-urlencoded")
  .asString();
```

**`Account Credentials Authentication`**

```php Account Credentials Authentication
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/oauth/token', [
  'form_params' => null,
  'headers' => [
    'Content-Type' => 'application/x-www-form-urlencoded',
  ],
]);

echo $response->getBody();
```

**`Account Credentials Authentication`**

```csharp Account Credentials Authentication
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/oauth/token");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
IRestResponse response = client.Execute(request);
```

**`Account Credentials Authentication`**

```swift Account Credentials Authentication
import Foundation

let headers = ["Content-Type": "application/x-www-form-urlencoded"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/oauth/token")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "access_token": "eyJhbGaiOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCx6Ijg5YzlmMzdhIn0.eyJzdWIiOiI4ZjQxOWE2Zi1lNDUxLTRiYjItYmQ0Ny1kZGIxZjVmYjM1N2MiLCJuYW1lIjoiSm9zZXBoIE1hc2luaSIsImVtYWlsIjoiam9zZXBoLm1hc2luaUB1bW5haS5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwibWV0YWRhdGEiOnsibGFzdFRlcm1zQ2hlY2siOiIyMDI1LTAyLTI4VDE3OjA3OjU2LjU3M1oifSwicm9sZXMiOlsiQWRtaW4iXSwicGVybWlzc2lvbnMiOlsiZmUuYWNjb3VudC1zZXR0aW5ncy5yZWFkLmFwcCIsImZlLmNvbm5lY3Rpdml0eS4qIiwiZmUuc2VjdXJlLioiLCJ1bW5haS5tb2RlbHMuZGVsZXRlLnBlcm1hbnRlbnRseURlbGV0ZSJdLCJ0ZW5hbnRJZCI6ImNmNWIwOTNlLTdmNjUtNDgwZS05ODEwLTdmZWI3ODY0OTIyMiIsInRlbmFudElkcyI6WyJjMDU1MmUzZC00ZWI0LTQyODktOTg2Yi1mMGVkMWU0YWM3OWMiLCJjZjViMDkzZS03ZjY1LTQ4MGUtOTgxMC03ZmViNzg2NDkyMjIiXSwicHJvZmlsZVBpY3R1cmVVcmwiOiJodHRwczovL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLzA3ZDQ1YmE5Nzk2MDExZGQ5ZmRiZDJiMzkyZmM5NDdkP2Q9aHR0cHM6Ly91aS1hdmF0YXJzLmNvbS9hcGkvSm9zZXBoK01hc2luaS8xMjgvcmFuZG9tIiwiZXh0ZXJuYWxJZCI6bnVsbCwicGhvbmVOdW1iZXIiOm51bGwsInNpZCI6ImJmZmZjZjNmLTE3ODkt4GRhNi1hN2JkLThkZTRkMGUwODYwYiIsInR5cGUiOiJ1c2VyVG9rZW4iLCJhcHBsaWNhdGlvbklkIjoiZmJhMzE3YjQtNmIyMS00NjZhLTlkMjktZDZjZTNlZWEzZWVhIiwiYXVkIjoiODljOWYzN2EtMmQyNC00ZmE2LWJlMTItYjkxOGM4ZmIzZDEzIiwiaXNzIjoiaHR0cHM6Ly9hcHAtaXIwZXhsajh0a3ZnLmZyb250ZWdnLmNvbSIsImlhdCI6MTc3NDU0MDA1MSwiZXhwIjoxNzc3MTMyMDUxfQ.WTbu-NBi9NSxn9y4tusGJIentDWkDWF2uwcGwp3Ms_2e7yxyqJLSjYXgLjj3oZUs-oVbTJaRmFDPK7B5x8eiyUoD7WxhkcOBTwzFMkcQMkVEVCxCO_zeI_xVPz1auxiKmfNEMcToYMpxkiX401b5Oq_59vESpZPvWhsrV-eLxnADsEV8B2hGEmemAcb_64JJIHipyDfpclpznMzirE6KEJ6AEMlE3BedKV2g0Zb_jsBsQNxY-ZH-EgcGYSc8ft8JlhQZCvva32YD8Z2eJV3BIycGsEs9vnMd1RXiEL3ZrJm7T9S_fzKkIQ5d2Qarg9PAdNBOIPYFsb2Y2klkvs-GsQ",
  "token_type": "Bearer",
  "expires_in": 2592000
}
```

Save the returned `access_token` as `ACCESS_TOKEN`.

Use it in the `Authorization` header for each API request:

```bash
Authorization: Bearer ACCESS_TOKEN
```

## 2. Connect source data

Grant the platform read-only access to the S3 bucket that contains your source data.

1. In the AWS Console, open **S3**. Ensure that the selected AWS Region matches the region agreed with Umnai during onboarding.

2. Select the bucket that contains your source data and open the **Permissions** tab.

3. Under **Bucket policy**, select **Edit**, then paste the following policy.

4. Obtain the Umnai platform AWS account ID for your environment from Umnai support.

5. Replace `<ACCOUNT-ID>` with the account ID provided to you and `<YOUR-BUCKET-NAME>` with your bucket's name:

   ```json
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Sid": "AllowSourceObjectRead",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::<ACCOUNT-ID>:root"
         },
         "Action": [
           "s3:GetObject"
         ],
         "Resource": "arn:aws:s3:::<YOUR-BUCKET-NAME>/*"
       },
       {
         "Sid": "AllowSourceBucketList",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::<ACCOUNT-ID>:root"
         },
         "Action": [
           "s3:ListBucket"
         ],
         "Resource": "arn:aws:s3:::<YOUR-BUCKET-NAME>"
       }
     ]
   }
   ```

6. Select **Save changes**. You should see confirmation that the bucket policy was updated.

Create a storage connector for the bucket.

### Request

POST [https://api.hi.umnai.com/storage-connectors](https://api.hi.umnai.com/storage-connectors)

**`Create storage connector`**

```curl Create storage connector
curl -X POST https://api.hi.umnai.com/storage-connectors \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "bucket_name": "sample-storage-connector-bucket",
  "name": "Sample Storage Connector"
}'
```

**`Create storage connector`**

```python Create storage connector
import requests

url = "https://api.hi.umnai.com/storage-connectors"

payload = {
    "bucket_name": "sample-storage-connector-bucket",
    "name": "Sample Storage Connector"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create storage connector`**

```javascript Create storage connector
const url = 'https://api.hi.umnai.com/storage-connectors';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"bucket_name":"sample-storage-connector-bucket","name":"Sample Storage Connector"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create storage connector`**

```go Create storage connector
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/storage-connectors"

	payload := strings.NewReader("{\n  \"bucket_name\": \"sample-storage-connector-bucket\",\n  \"name\": \"Sample Storage Connector\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create storage connector`**

```ruby Create storage connector
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/storage-connectors")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"bucket_name\": \"sample-storage-connector-bucket\",\n  \"name\": \"Sample Storage Connector\"\n}"

response = http.request(request)
puts response.read_body
```

**`Create storage connector`**

```java Create storage connector
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/storage-connectors")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"bucket_name\": \"sample-storage-connector-bucket\",\n  \"name\": \"Sample Storage Connector\"\n}")
  .asString();
```

**`Create storage connector`**

```php Create storage connector
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/storage-connectors', [
  'body' => '{
  "bucket_name": "sample-storage-connector-bucket",
  "name": "Sample Storage Connector"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create storage connector`**

```csharp Create storage connector
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/storage-connectors");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"bucket_name\": \"sample-storage-connector-bucket\",\n  \"name\": \"Sample Storage Connector\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create storage connector`**

```swift Create storage connector
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "bucket_name": "sample-storage-connector-bucket",
  "name": "Sample Storage Connector"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/storage-connectors")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "02910f90b30a5b94ad505efe83280dca",
  "name": "Sample Storage Connector",
  "bucket_name": "sample-storage-connector-bucket",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "created_at": "2026-03-12T13:55:14.315928Z",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  }
}
```

Save the returned `id` as `CONNECTOR_ID`.

## 3. Create processing resources

Create the processing compute configuration used by ingestion and onboarding jobs.

### Request

POST [https://api.hi.umnai.com/compute-configurations](https://api.hi.umnai.com/compute-configurations)

**`Processing compute configuration`**

```curl Processing compute configuration
curl -X POST https://api.hi.umnai.com/compute-configurations \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "name": "Sample Compute Configuration",
  "compute_type": "PROCESSING",
  "machine_type": "ml.m5.4xlarge"
}'
```

**`Processing compute configuration`**

```python Processing compute configuration
import requests

url = "https://api.hi.umnai.com/compute-configurations"

payload = {
    "name": "Sample Compute Configuration",
    "compute_type": "PROCESSING",
    "machine_type": "ml.m5.4xlarge"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Processing compute configuration`**

```javascript Processing compute configuration
const url = 'https://api.hi.umnai.com/compute-configurations';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"name":"Sample Compute Configuration","compute_type":"PROCESSING","machine_type":"ml.m5.4xlarge"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Processing compute configuration`**

```go Processing compute configuration
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/compute-configurations"

	payload := strings.NewReader("{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"PROCESSING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Processing compute configuration`**

```ruby Processing compute configuration
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/compute-configurations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"PROCESSING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}"

response = http.request(request)
puts response.read_body
```

**`Processing compute configuration`**

```java Processing compute configuration
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/compute-configurations")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"PROCESSING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}")
  .asString();
```

**`Processing compute configuration`**

```php Processing compute configuration
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/compute-configurations', [
  'body' => '{
  "name": "Sample Compute Configuration",
  "compute_type": "PROCESSING",
  "machine_type": "ml.m5.4xlarge"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Processing compute configuration`**

```csharp Processing compute configuration
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/compute-configurations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"PROCESSING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Processing compute configuration`**

```swift Processing compute configuration
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "name": "Sample Compute Configuration",
  "compute_type": "PROCESSING",
  "machine_type": "ml.m5.4xlarge"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/compute-configurations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "351df95006b1350e597762a1d58e9319",
  "name": "Sample Compute Configuration",
  "machine_type": "ml.m5.4xlarge",
  "compute_type": "PROCESSING",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "created_at": "2026-03-25T15:23:50.965824Z",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  }
}
```

Save the returned `id` as `PROCESSING_COMPUTE_CONFIGURATION_ID`.

Create a data schema that describes the source data.

### Request

POST [https://api.hi.umnai.com/data-schemas](https://api.hi.umnai.com/data-schemas)

**`Create data schema`**

```curl Create data schema
curl -X POST https://api.hi.umnai.com/data-schemas \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "name": "Sample Schema",
  "fields": [
    {
      "name": "age",
      "data_type": {
        "data_type": "NUMBER",
        "format": "INT64"
      },
      "designation": "FEATURE",
      "semantic_type": "CONTINUOUS"
    },
    {
      "name": "occupation",
      "data_type": {
        "data_type": "STRING"
      },
      "designation": "FEATURE",
      "semantic_type": "CATEGORICAL"
    },
    {
      "name": "income",
      "data_type": {
        "data_type": "NUMBER",
        "format": "INT64"
      },
      "designation": "TARGET",
      "semantic_type": "CATEGORICAL"
    }
  ]
}'
```

**`Create data schema`**

```python Create data schema
import requests

url = "https://api.hi.umnai.com/data-schemas"

payload = {
    "name": "Sample Schema",
    "fields": [
        {
            "name": "age",
            "data_type": {
                "data_type": "NUMBER",
                "format": "INT64"
            },
            "designation": "FEATURE",
            "semantic_type": "CONTINUOUS"
        },
        {
            "name": "occupation",
            "data_type": { "data_type": "STRING" },
            "designation": "FEATURE",
            "semantic_type": "CATEGORICAL"
        },
        {
            "name": "income",
            "data_type": {
                "data_type": "NUMBER",
                "format": "INT64"
            },
            "designation": "TARGET",
            "semantic_type": "CATEGORICAL"
        }
    ]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create data schema`**

```javascript Create data schema
const url = 'https://api.hi.umnai.com/data-schemas';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"name":"Sample Schema","fields":[{"name":"age","data_type":{"data_type":"NUMBER","format":"INT64"},"designation":"FEATURE","semantic_type":"CONTINUOUS"},{"name":"occupation","data_type":{"data_type":"STRING"},"designation":"FEATURE","semantic_type":"CATEGORICAL"},{"name":"income","data_type":{"data_type":"NUMBER","format":"INT64"},"designation":"TARGET","semantic_type":"CATEGORICAL"}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create data schema`**

```go Create data schema
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/data-schemas"

	payload := strings.NewReader("{\n  \"name\": \"Sample Schema\",\n  \"fields\": [\n    {\n      \"name\": \"age\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CONTINUOUS\"\n    },\n    {\n      \"name\": \"occupation\",\n      \"data_type\": {\n        \"data_type\": \"STRING\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CATEGORICAL\"\n    },\n    {\n      \"name\": \"income\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"TARGET\",\n      \"semantic_type\": \"CATEGORICAL\"\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create data schema`**

```ruby Create data schema
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/data-schemas")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"Sample Schema\",\n  \"fields\": [\n    {\n      \"name\": \"age\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CONTINUOUS\"\n    },\n    {\n      \"name\": \"occupation\",\n      \"data_type\": {\n        \"data_type\": \"STRING\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CATEGORICAL\"\n    },\n    {\n      \"name\": \"income\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"TARGET\",\n      \"semantic_type\": \"CATEGORICAL\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
```

**`Create data schema`**

```java Create data schema
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/data-schemas")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Sample Schema\",\n  \"fields\": [\n    {\n      \"name\": \"age\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CONTINUOUS\"\n    },\n    {\n      \"name\": \"occupation\",\n      \"data_type\": {\n        \"data_type\": \"STRING\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CATEGORICAL\"\n    },\n    {\n      \"name\": \"income\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"TARGET\",\n      \"semantic_type\": \"CATEGORICAL\"\n    }\n  ]\n}")
  .asString();
```

**`Create data schema`**

```php Create data schema
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/data-schemas', [
  'body' => '{
  "name": "Sample Schema",
  "fields": [
    {
      "name": "age",
      "data_type": {
        "data_type": "NUMBER",
        "format": "INT64"
      },
      "designation": "FEATURE",
      "semantic_type": "CONTINUOUS"
    },
    {
      "name": "occupation",
      "data_type": {
        "data_type": "STRING"
      },
      "designation": "FEATURE",
      "semantic_type": "CATEGORICAL"
    },
    {
      "name": "income",
      "data_type": {
        "data_type": "NUMBER",
        "format": "INT64"
      },
      "designation": "TARGET",
      "semantic_type": "CATEGORICAL"
    }
  ]
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create data schema`**

```csharp Create data schema
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/data-schemas");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"Sample Schema\",\n  \"fields\": [\n    {\n      \"name\": \"age\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CONTINUOUS\"\n    },\n    {\n      \"name\": \"occupation\",\n      \"data_type\": {\n        \"data_type\": \"STRING\"\n      },\n      \"designation\": \"FEATURE\",\n      \"semantic_type\": \"CATEGORICAL\"\n    },\n    {\n      \"name\": \"income\",\n      \"data_type\": {\n        \"data_type\": \"NUMBER\",\n        \"format\": \"INT64\"\n      },\n      \"designation\": \"TARGET\",\n      \"semantic_type\": \"CATEGORICAL\"\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create data schema`**

```swift Create data schema
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "name": "Sample Schema",
  "fields": [
    [
      "name": "age",
      "data_type": [
        "data_type": "NUMBER",
        "format": "INT64"
      ],
      "designation": "FEATURE",
      "semantic_type": "CONTINUOUS"
    ],
    [
      "name": "occupation",
      "data_type": ["data_type": "STRING"],
      "designation": "FEATURE",
      "semantic_type": "CATEGORICAL"
    ],
    [
      "name": "income",
      "data_type": [
        "data_type": "NUMBER",
        "format": "INT64"
      ],
      "designation": "TARGET",
      "semantic_type": "CATEGORICAL"
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/data-schemas")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "22f2c353201d472fbfc7c856eaecaccd",
  "account": {
    "id": "cf5b093e7f65480e98107feb78649222",
    "name": "Sample Account"
  },
  "name": "Sample Schema",
  "fields": [
    {
      "created_at": "2026-04-02T08:36:14.974937Z",
      "data_type": {
        "data_type": "NUMBER",
        "format": "INT64"
      },
      "designation": "FEATURE",
      "id": "37fd2c48429440ae981cb9831c66464b",
      "name": "age",
      "created_by": {
        "id": "eca422469dc3270625bf646df3472a45",
        "name": "Sample User"
      },
      "dimension": null,
      "semantic_type": "CONTINUOUS",
      "unit": null,
      "updated_at": null,
      "vector": false
    },
    {
      "created_at": "2026-04-02T08:36:14.982037Z",
      "data_type": {
        "data_type": "STRING",
        "format": null
      },
      "designation": "FEATURE",
      "id": "95dc4f2aab9242e491b1f109778b0d10",
      "name": "occuptation",
      "created_by": {
        "id": "eca422469dc3270625bf646df3472a45",
        "name": "Sample User"
      },
      "dimension": null,
      "semantic_type": "CATEGORICAL",
      "unit": null,
      "updated_at": null,
      "vector": false
    },
    {
      "created_at": "2026-04-02T08:36:15.063293Z",
      "data_type": {
        "data_type": "NUMBER",
        "format": "INT64"
      },
      "designation": "TARGET",
      "id": "058383ab0f6c4ce9a078b5f842ace676",
      "name": "income",
      "created_by": {
        "id": "eca422469dc3270625bf646df3472a45",
        "name": "Sample User"
      },
      "dimension": null,
      "semantic_type": "CATEGORICAL",
      "unit": null,
      "updated_at": null,
      "vector": false
    }
  ],
  "friendly_names": [],
  "category_friendly_names": [],
  "data_anchors": [],
  "data_protections": [],
  "created_at": "2026-04-02T08:36:14.968725Z",
  "created_by": {
    "id": "eca422469dc3270625bf646df3472a45",
    "name": "Sample User"
  }
}
```

Save the returned `id` as `SCHEMA_ID`.

Create an ingestion configuration.

### Request

POST [https://api.hi.umnai.com/data-processing-ingestion-configurations](https://api.hi.umnai.com/data-processing-ingestion-configurations)

**`Create data processing ingestion configuration`**

```curl Create data processing ingestion configuration
curl -X POST https://api.hi.umnai.com/data-processing-ingestion-configurations \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "name": "Sample Ingestion Configuration",
  "data_schema_id": "c1342ae9bd985c0d9c5fa5222609c3fa"
}'
```

**`Create data processing ingestion configuration`**

```python Create data processing ingestion configuration
import requests

url = "https://api.hi.umnai.com/data-processing-ingestion-configurations"

payload = {
    "name": "Sample Ingestion Configuration",
    "data_schema_id": "c1342ae9bd985c0d9c5fa5222609c3fa"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create data processing ingestion configuration`**

```javascript Create data processing ingestion configuration
const url = 'https://api.hi.umnai.com/data-processing-ingestion-configurations';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"name":"Sample Ingestion Configuration","data_schema_id":"c1342ae9bd985c0d9c5fa5222609c3fa"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create data processing ingestion configuration`**

```go Create data processing ingestion configuration
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/data-processing-ingestion-configurations"

	payload := strings.NewReader("{\n  \"name\": \"Sample Ingestion Configuration\",\n  \"data_schema_id\": \"c1342ae9bd985c0d9c5fa5222609c3fa\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create data processing ingestion configuration`**

```ruby Create data processing ingestion configuration
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/data-processing-ingestion-configurations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"Sample Ingestion Configuration\",\n  \"data_schema_id\": \"c1342ae9bd985c0d9c5fa5222609c3fa\"\n}"

response = http.request(request)
puts response.read_body
```

**`Create data processing ingestion configuration`**

```java Create data processing ingestion configuration
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/data-processing-ingestion-configurations")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Sample Ingestion Configuration\",\n  \"data_schema_id\": \"c1342ae9bd985c0d9c5fa5222609c3fa\"\n}")
  .asString();
```

**`Create data processing ingestion configuration`**

```php Create data processing ingestion configuration
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/data-processing-ingestion-configurations', [
  'body' => '{
  "name": "Sample Ingestion Configuration",
  "data_schema_id": "c1342ae9bd985c0d9c5fa5222609c3fa"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create data processing ingestion configuration`**

```csharp Create data processing ingestion configuration
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/data-processing-ingestion-configurations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"Sample Ingestion Configuration\",\n  \"data_schema_id\": \"c1342ae9bd985c0d9c5fa5222609c3fa\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create data processing ingestion configuration`**

```swift Create data processing ingestion configuration
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "name": "Sample Ingestion Configuration",
  "data_schema_id": "c1342ae9bd985c0d9c5fa5222609c3fa"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/data-processing-ingestion-configurations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "d2f74730b1467213748b3750b3ad87ac",
  "name": "Sample Ingestion Configuration",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "observation_specification": {
    "observation_type": "observation_type",
    "observation_source": "observation_source",
    "observation_shard_id": "observation_shard_id",
    "observation_file_index": "observation_file_index",
    "observation_index": "observation_index",
    "observation_mask_index": "observation_mask_index",
    "observation_mask_file_index": "observation_mask_file_index",
    "observation_increment_index": "observation_increment_index"
  },
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "updated_at": "2026-03-15T10:15:30.000000Z",
  "data_schema": {
    "id": "c1342ae9bd985c0d9c5fa5222609c3fa",
    "name": "Sample Data Schema"
  }
}
```

Save the returned `id` as `INGESTION_CONFIGURATION_ID`.

## 4. Ingest the data

Run an initial ingestion job to create a datasource.

### Request

POST [https://api.hi.umnai.com/data-processing-ingestion-jobs](https://api.hi.umnai.com/data-processing-ingestion-jobs)

**`Create initial ingestion job`**

```curl Create initial ingestion job
curl -X POST https://api.hi.umnai.com/data-processing-ingestion-jobs \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "job_type": "INITIAL",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "data_path": "/sample/initial/path",
  "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
  "datasource_name": "Sample Datasource",
  "name": "Sample Initial Ingestion Job",
  "storage_connector_id": "02910f90b30a5b94ad505efe83280dca"
}'
```

**`Create initial ingestion job`**

```python Create initial ingestion job
import requests

url = "https://api.hi.umnai.com/data-processing-ingestion-jobs"

payload = {
    "job_type": "INITIAL",
    "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
    "data_path": "/sample/initial/path",
    "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
    "datasource_name": "Sample Datasource",
    "name": "Sample Initial Ingestion Job",
    "storage_connector_id": "02910f90b30a5b94ad505efe83280dca"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create initial ingestion job`**

```javascript Create initial ingestion job
const url = 'https://api.hi.umnai.com/data-processing-ingestion-jobs';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"job_type":"INITIAL","compute_configuration_id":"351df95006b1350e597762a1d58e9319","data_path":"/sample/initial/path","data_processing_configuration_id":"3dd973d3fda8604fba040381bfcaab29","datasource_name":"Sample Datasource","name":"Sample Initial Ingestion Job","storage_connector_id":"02910f90b30a5b94ad505efe83280dca"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create initial ingestion job`**

```go Create initial ingestion job
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/data-processing-ingestion-jobs"

	payload := strings.NewReader("{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_path\": \"/sample/initial/path\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"datasource_name\": \"Sample Datasource\",\n  \"name\": \"Sample Initial Ingestion Job\",\n  \"storage_connector_id\": \"02910f90b30a5b94ad505efe83280dca\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create initial ingestion job`**

```ruby Create initial ingestion job
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/data-processing-ingestion-jobs")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_path\": \"/sample/initial/path\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"datasource_name\": \"Sample Datasource\",\n  \"name\": \"Sample Initial Ingestion Job\",\n  \"storage_connector_id\": \"02910f90b30a5b94ad505efe83280dca\"\n}"

response = http.request(request)
puts response.read_body
```

**`Create initial ingestion job`**

```java Create initial ingestion job
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/data-processing-ingestion-jobs")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_path\": \"/sample/initial/path\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"datasource_name\": \"Sample Datasource\",\n  \"name\": \"Sample Initial Ingestion Job\",\n  \"storage_connector_id\": \"02910f90b30a5b94ad505efe83280dca\"\n}")
  .asString();
```

**`Create initial ingestion job`**

```php Create initial ingestion job
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/data-processing-ingestion-jobs', [
  'body' => '{
  "job_type": "INITIAL",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "data_path": "/sample/initial/path",
  "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
  "datasource_name": "Sample Datasource",
  "name": "Sample Initial Ingestion Job",
  "storage_connector_id": "02910f90b30a5b94ad505efe83280dca"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create initial ingestion job`**

```csharp Create initial ingestion job
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/data-processing-ingestion-jobs");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_path\": \"/sample/initial/path\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"datasource_name\": \"Sample Datasource\",\n  \"name\": \"Sample Initial Ingestion Job\",\n  \"storage_connector_id\": \"02910f90b30a5b94ad505efe83280dca\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create initial ingestion job`**

```swift Create initial ingestion job
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "job_type": "INITIAL",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "data_path": "/sample/initial/path",
  "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
  "datasource_name": "Sample Datasource",
  "name": "Sample Initial Ingestion Job",
  "storage_connector_id": "02910f90b30a5b94ad505efe83280dca"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/data-processing-ingestion-jobs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "job_type": "INITIAL",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "compute_configuration": {
    "id": "351df95006b1350e597762a1d58e9319",
    "name": "Sample Compute Configuration"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "data_path": "/sample/initial/path",
  "data_processing_configuration": {
    "id": "3dd973d3fda8604fba040381bfcaab29",
    "name": "Sample Ingestion Configuration"
  },
  "id": "c716d98913540a5968891bed979d177e",
  "maximum_runtime_seconds": 3600,
  "name": "Sample Initial Ingestion Job",
  "status": "STARTING",
  "storage_connector": {
    "id": "02910f90b30a5b94ad505efe83280dca",
    "name": "Sample Storage Connector"
  },
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "datasource": {
    "id": "1ea7e575defdf6bc3f26a3f127e98170",
    "name": "Sample Datasource"
  },
  "progress": 0,
  "stage": "initializing",
  "stage_progress": 0,
  "updated_at": "2026-03-15T10:15:30.000000Z"
}
```

Save the returned `id` as `INGESTION_JOB_ID`.

Retrieve the job until its `status` is `COMPLETED`.

### Request

GET [https://api.hi.umnai.com/data-processing-ingestion-jobs/\{dataProcessingIngestionJobId}](https://api.hi.umnai.com/data-processing-ingestion-jobs/\{dataProcessingIngestionJobId})

**`Retrieve data processing ingestion job`**

```curl Retrieve data processing ingestion job
curl https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId \
     -H "Authorization: Bearer <token>"
```

**`Retrieve data processing ingestion job`**

```python Retrieve data processing ingestion job
import requests

url = "https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

**`Retrieve data processing ingestion job`**

```javascript Retrieve data processing ingestion job
const url = 'https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Retrieve data processing ingestion job`**

```go Retrieve data processing ingestion job
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Retrieve data processing ingestion job`**

```ruby Retrieve data processing ingestion job
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

**`Retrieve data processing ingestion job`**

```java Retrieve data processing ingestion job
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId")
  .header("Authorization", "Bearer <token>")
  .asString();
```

**`Retrieve data processing ingestion job`**

```php Retrieve data processing ingestion job
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

**`Retrieve data processing ingestion job`**

```csharp Retrieve data processing ingestion job
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

**`Retrieve data processing ingestion job`**

```swift Retrieve data processing ingestion job
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/data-processing-ingestion-jobs/dataProcessingIngestionJobId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "job_type": "INITIAL",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "compute_configuration": {
    "id": "351df95006b1350e597762a1d58e9319",
    "name": "Sample Compute Configuration"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "data_path": "/sample/path",
  "data_processing_configuration": {
    "id": "3dd973d3fda8604fba040381bfcaab29",
    "name": "Sample Ingestion Configuration"
  },
  "id": "c716d98913540a5968891bed979d177e",
  "maximum_runtime_seconds": 1,
  "name": "Sample Ingestion Job",
  "status": "STARTING",
  "storage_connector": {
    "id": "02910f90b30a5b94ad505efe83280dca",
    "name": "Sample Storage Connector"
  },
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "datasource": {
    "id": "1ea7e575defdf6bc3f26a3f127e98170",
    "name": "Sample Datasource"
  },
  "progress": 0.5,
  "stage": "sample_stage",
  "stage_progress": 0.5,
  "updated_at": "2026-03-15T10:15:30.000000Z"
}
```

Save the returned `datasource.id` as `DATASOURCE_ID`.

## 5. Onboard the datasource

Create an initial onboarding configuration.

### Request

POST [https://api.hi.umnai.com/data-processing-onboarding-configurations](https://api.hi.umnai.com/data-processing-onboarding-configurations)

**`Create initial onboarding configuration`**

```curl Create initial onboarding configuration
curl -X POST https://api.hi.umnai.com/data-processing-onboarding-configurations \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "configuration_type": "INITIAL",
  "name": "Sample Initial Onboarding Configuration",
  "prediction_type": "CLASSIFICATION",
  "encoding_strategy": "STREAM",
  "handle_unseen_categories": true,
  "impute": false,
  "one_hot_encoding_max_categories": 64,
  "strip_categories": true,
  "targets": [
    "target_column"
  ]
}'
```

**`Create initial onboarding configuration`**

```python Create initial onboarding configuration
import requests

url = "https://api.hi.umnai.com/data-processing-onboarding-configurations"

payload = {
    "configuration_type": "INITIAL",
    "name": "Sample Initial Onboarding Configuration",
    "prediction_type": "CLASSIFICATION",
    "encoding_strategy": "STREAM",
    "handle_unseen_categories": True,
    "impute": False,
    "one_hot_encoding_max_categories": 64,
    "strip_categories": True,
    "targets": ["target_column"]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create initial onboarding configuration`**

```javascript Create initial onboarding configuration
const url = 'https://api.hi.umnai.com/data-processing-onboarding-configurations';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"configuration_type":"INITIAL","name":"Sample Initial Onboarding Configuration","prediction_type":"CLASSIFICATION","encoding_strategy":"STREAM","handle_unseen_categories":true,"impute":false,"one_hot_encoding_max_categories":64,"strip_categories":true,"targets":["target_column"]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create initial onboarding configuration`**

```go Create initial onboarding configuration
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/data-processing-onboarding-configurations"

	payload := strings.NewReader("{\n  \"configuration_type\": \"INITIAL\",\n  \"name\": \"Sample Initial Onboarding Configuration\",\n  \"prediction_type\": \"CLASSIFICATION\",\n  \"encoding_strategy\": \"STREAM\",\n  \"handle_unseen_categories\": true,\n  \"impute\": false,\n  \"one_hot_encoding_max_categories\": 64,\n  \"strip_categories\": true,\n  \"targets\": [\n    \"target_column\"\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create initial onboarding configuration`**

```ruby Create initial onboarding configuration
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/data-processing-onboarding-configurations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"configuration_type\": \"INITIAL\",\n  \"name\": \"Sample Initial Onboarding Configuration\",\n  \"prediction_type\": \"CLASSIFICATION\",\n  \"encoding_strategy\": \"STREAM\",\n  \"handle_unseen_categories\": true,\n  \"impute\": false,\n  \"one_hot_encoding_max_categories\": 64,\n  \"strip_categories\": true,\n  \"targets\": [\n    \"target_column\"\n  ]\n}"

response = http.request(request)
puts response.read_body
```

**`Create initial onboarding configuration`**

```java Create initial onboarding configuration
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/data-processing-onboarding-configurations")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"configuration_type\": \"INITIAL\",\n  \"name\": \"Sample Initial Onboarding Configuration\",\n  \"prediction_type\": \"CLASSIFICATION\",\n  \"encoding_strategy\": \"STREAM\",\n  \"handle_unseen_categories\": true,\n  \"impute\": false,\n  \"one_hot_encoding_max_categories\": 64,\n  \"strip_categories\": true,\n  \"targets\": [\n    \"target_column\"\n  ]\n}")
  .asString();
```

**`Create initial onboarding configuration`**

```php Create initial onboarding configuration
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/data-processing-onboarding-configurations', [
  'body' => '{
  "configuration_type": "INITIAL",
  "name": "Sample Initial Onboarding Configuration",
  "prediction_type": "CLASSIFICATION",
  "encoding_strategy": "STREAM",
  "handle_unseen_categories": true,
  "impute": false,
  "one_hot_encoding_max_categories": 64,
  "strip_categories": true,
  "targets": [
    "target_column"
  ]
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create initial onboarding configuration`**

```csharp Create initial onboarding configuration
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/data-processing-onboarding-configurations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"configuration_type\": \"INITIAL\",\n  \"name\": \"Sample Initial Onboarding Configuration\",\n  \"prediction_type\": \"CLASSIFICATION\",\n  \"encoding_strategy\": \"STREAM\",\n  \"handle_unseen_categories\": true,\n  \"impute\": false,\n  \"one_hot_encoding_max_categories\": 64,\n  \"strip_categories\": true,\n  \"targets\": [\n    \"target_column\"\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create initial onboarding configuration`**

```swift Create initial onboarding configuration
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "configuration_type": "INITIAL",
  "name": "Sample Initial Onboarding Configuration",
  "prediction_type": "CLASSIFICATION",
  "encoding_strategy": "STREAM",
  "handle_unseen_categories": true,
  "impute": false,
  "one_hot_encoding_max_categories": 64,
  "strip_categories": true,
  "targets": ["target_column"]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/data-processing-onboarding-configurations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "configuration_type": "INITIAL",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "encoding_strategy": "STREAM",
  "feature_groups": [],
  "handle_unseen_categories": true,
  "id": "2df5b9fdb3389598e304f661315ebec8",
  "impute": false,
  "infrequency_threshold": 1,
  "mask_category_fraction": 0.37,
  "mask_fraction": 0.8,
  "mask_median_fraction": 0.15,
  "mask_rows_fraction": 0.3,
  "name": "Sample Initial Onboarding Configuration",
  "one_hot_encoding_max_categories": 64,
  "prediction_type": "CLASSIFICATION",
  "shards": "256m",
  "strip_categories": true,
  "sharding_strategy": "PROPORTIONATE",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "targets": [
    "target_column"
  ],
  "updated_at": "2026-03-15T10:15:30.000000Z"
}
```

Save the returned `id` as `ONBOARDING_CONFIGURATION_ID`.

Run an initial onboarding job to create a dataset.

### Request

POST [https://api.hi.umnai.com/data-processing-onboarding-jobs](https://api.hi.umnai.com/data-processing-onboarding-jobs)

**`Create initial onboarding job`**

```curl Create initial onboarding job
curl -X POST https://api.hi.umnai.com/data-processing-onboarding-jobs \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "job_type": "INITIAL",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
  "dataset_name": "Sample Dataset",
  "datasource_id": "1ea7e575defdf6bc3f26a3f127e98170",
  "name": "Sample Initial Onboarding Job"
}'
```

**`Create initial onboarding job`**

```python Create initial onboarding job
import requests

url = "https://api.hi.umnai.com/data-processing-onboarding-jobs"

payload = {
    "job_type": "INITIAL",
    "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
    "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
    "dataset_name": "Sample Dataset",
    "datasource_id": "1ea7e575defdf6bc3f26a3f127e98170",
    "name": "Sample Initial Onboarding Job"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create initial onboarding job`**

```javascript Create initial onboarding job
const url = 'https://api.hi.umnai.com/data-processing-onboarding-jobs';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"job_type":"INITIAL","compute_configuration_id":"351df95006b1350e597762a1d58e9319","data_processing_configuration_id":"3dd973d3fda8604fba040381bfcaab29","dataset_name":"Sample Dataset","datasource_id":"1ea7e575defdf6bc3f26a3f127e98170","name":"Sample Initial Onboarding Job"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create initial onboarding job`**

```go Create initial onboarding job
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/data-processing-onboarding-jobs"

	payload := strings.NewReader("{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"dataset_name\": \"Sample Dataset\",\n  \"datasource_id\": \"1ea7e575defdf6bc3f26a3f127e98170\",\n  \"name\": \"Sample Initial Onboarding Job\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create initial onboarding job`**

```ruby Create initial onboarding job
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/data-processing-onboarding-jobs")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"dataset_name\": \"Sample Dataset\",\n  \"datasource_id\": \"1ea7e575defdf6bc3f26a3f127e98170\",\n  \"name\": \"Sample Initial Onboarding Job\"\n}"

response = http.request(request)
puts response.read_body
```

**`Create initial onboarding job`**

```java Create initial onboarding job
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/data-processing-onboarding-jobs")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"dataset_name\": \"Sample Dataset\",\n  \"datasource_id\": \"1ea7e575defdf6bc3f26a3f127e98170\",\n  \"name\": \"Sample Initial Onboarding Job\"\n}")
  .asString();
```

**`Create initial onboarding job`**

```php Create initial onboarding job
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/data-processing-onboarding-jobs', [
  'body' => '{
  "job_type": "INITIAL",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
  "dataset_name": "Sample Dataset",
  "datasource_id": "1ea7e575defdf6bc3f26a3f127e98170",
  "name": "Sample Initial Onboarding Job"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create initial onboarding job`**

```csharp Create initial onboarding job
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/data-processing-onboarding-jobs");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"job_type\": \"INITIAL\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"data_processing_configuration_id\": \"3dd973d3fda8604fba040381bfcaab29\",\n  \"dataset_name\": \"Sample Dataset\",\n  \"datasource_id\": \"1ea7e575defdf6bc3f26a3f127e98170\",\n  \"name\": \"Sample Initial Onboarding Job\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create initial onboarding job`**

```swift Create initial onboarding job
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "job_type": "INITIAL",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "data_processing_configuration_id": "3dd973d3fda8604fba040381bfcaab29",
  "dataset_name": "Sample Dataset",
  "datasource_id": "1ea7e575defdf6bc3f26a3f127e98170",
  "name": "Sample Initial Onboarding Job"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/data-processing-onboarding-jobs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "job_type": "INITIAL",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "compute_configuration": {
    "id": "351df95006b1350e597762a1d58e9319",
    "name": "Sample Compute Configuration"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "data_processing_configuration": {
    "id": "3dd973d3fda8604fba040381bfcaab29",
    "name": "Sample Onboarding Configuration"
  },
  "datasource": {
    "id": "1ea7e575defdf6bc3f26a3f127e98170",
    "name": "Sample Datasource"
  },
  "id": "7c2e73157a35658c245511bcf2a95195",
  "maximum_runtime_seconds": 3600,
  "name": "Sample Initial Onboarding Job",
  "status": "STARTING",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "dataset": {
    "id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
    "name": "Sample Dataset"
  },
  "progress": 0,
  "stage": "initializing",
  "stage_progress": 0,
  "updated_at": "2026-03-15T10:15:30.000000Z"
}
```

Save the returned `id` as `ONBOARDING_JOB_ID`.

Retrieve the job until its `status` is `COMPLETED`.

### Request

GET [https://api.hi.umnai.com/data-processing-onboarding-jobs/\{dataProcessingOnboardingJobId}](https://api.hi.umnai.com/data-processing-onboarding-jobs/\{dataProcessingOnboardingJobId})

**`Retrieve data processing onboarding job`**

```curl Retrieve data processing onboarding job
curl https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId \
     -H "Authorization: Bearer <token>"
```

**`Retrieve data processing onboarding job`**

```python Retrieve data processing onboarding job
import requests

url = "https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

**`Retrieve data processing onboarding job`**

```javascript Retrieve data processing onboarding job
const url = 'https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Retrieve data processing onboarding job`**

```go Retrieve data processing onboarding job
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Retrieve data processing onboarding job`**

```ruby Retrieve data processing onboarding job
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

**`Retrieve data processing onboarding job`**

```java Retrieve data processing onboarding job
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId")
  .header("Authorization", "Bearer <token>")
  .asString();
```

**`Retrieve data processing onboarding job`**

```php Retrieve data processing onboarding job
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

**`Retrieve data processing onboarding job`**

```csharp Retrieve data processing onboarding job
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

**`Retrieve data processing onboarding job`**

```swift Retrieve data processing onboarding job
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/data-processing-onboarding-jobs/dataProcessingOnboardingJobId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "job_type": "INITIAL",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "compute_configuration": {
    "id": "351df95006b1350e597762a1d58e9319",
    "name": "Sample Compute Configuration"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "data_processing_configuration": {
    "id": "3dd973d3fda8604fba040381bfcaab29",
    "name": "Sample Onboarding Configuration"
  },
  "datasource": {
    "id": "1ea7e575defdf6bc3f26a3f127e98170",
    "name": "Sample Datasource"
  },
  "id": "7c2e73157a35658c245511bcf2a95195",
  "maximum_runtime_seconds": 1,
  "name": "Sample Onboarding Job",
  "status": "STARTING",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "dataset": {
    "id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
    "name": "Sample Dataset"
  },
  "progress": 0.5,
  "stage": "sample_stage",
  "stage_progress": 0.5,
  "updated_at": "2026-03-15T10:15:30.000000Z"
}
```

Save the returned `dataset.id` as `DATASET_ID`.

## 6. Train a model

Create a workspace for the training job and resulting model.

### Request

POST [https://api.hi.umnai.com/workspaces](https://api.hi.umnai.com/workspaces)

**`Create workspace`**

```curl Create workspace
curl -X POST https://api.hi.umnai.com/workspaces \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "name": "Sample Workspace"
}'
```

**`Create workspace`**

```python Create workspace
import requests

url = "https://api.hi.umnai.com/workspaces"

payload = { "name": "Sample Workspace" }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create workspace`**

```javascript Create workspace
const url = 'https://api.hi.umnai.com/workspaces';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"name":"Sample Workspace"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create workspace`**

```go Create workspace
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/workspaces"

	payload := strings.NewReader("{\n  \"name\": \"Sample Workspace\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create workspace`**

```ruby Create workspace
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/workspaces")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"Sample Workspace\"\n}"

response = http.request(request)
puts response.read_body
```

**`Create workspace`**

```java Create workspace
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/workspaces")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Sample Workspace\"\n}")
  .asString();
```

**`Create workspace`**

```php Create workspace
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/workspaces', [
  'body' => '{
  "name": "Sample Workspace"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create workspace`**

```csharp Create workspace
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/workspaces");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"Sample Workspace\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create workspace`**

```swift Create workspace
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = ["name": "Sample Workspace"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/workspaces")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "1629dee48cc4e53161f9b2be8614e062",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "name": "Sample Workspace",
  "created_at": "2026-03-24T13:12:54.215574Z",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  }
}
```

Save the returned `id` as `WORKSPACE_ID`.

Create the training compute configuration.

### Request

POST [https://api.hi.umnai.com/compute-configurations](https://api.hi.umnai.com/compute-configurations)

**`Training compute configuration`**

```curl Training compute configuration
curl -X POST https://api.hi.umnai.com/compute-configurations \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "name": "Sample Compute Configuration",
  "compute_type": "TRAINING",
  "machine_type": "ml.m5.4xlarge"
}'
```

**`Training compute configuration`**

```python Training compute configuration
import requests

url = "https://api.hi.umnai.com/compute-configurations"

payload = {
    "name": "Sample Compute Configuration",
    "compute_type": "TRAINING",
    "machine_type": "ml.m5.4xlarge"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Training compute configuration`**

```javascript Training compute configuration
const url = 'https://api.hi.umnai.com/compute-configurations';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"name":"Sample Compute Configuration","compute_type":"TRAINING","machine_type":"ml.m5.4xlarge"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Training compute configuration`**

```go Training compute configuration
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/compute-configurations"

	payload := strings.NewReader("{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"TRAINING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Training compute configuration`**

```ruby Training compute configuration
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/compute-configurations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"TRAINING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}"

response = http.request(request)
puts response.read_body
```

**`Training compute configuration`**

```java Training compute configuration
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/compute-configurations")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"TRAINING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}")
  .asString();
```

**`Training compute configuration`**

```php Training compute configuration
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/compute-configurations', [
  'body' => '{
  "name": "Sample Compute Configuration",
  "compute_type": "TRAINING",
  "machine_type": "ml.m5.4xlarge"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Training compute configuration`**

```csharp Training compute configuration
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/compute-configurations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"Sample Compute Configuration\",\n  \"compute_type\": \"TRAINING\",\n  \"machine_type\": \"ml.m5.4xlarge\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Training compute configuration`**

```swift Training compute configuration
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "name": "Sample Compute Configuration",
  "compute_type": "TRAINING",
  "machine_type": "ml.m5.4xlarge"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/compute-configurations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "351df95006b1350e597762a1d58e9319",
  "name": "Sample Compute Configuration",
  "machine_type": "ml.m5.4xlarge",
  "compute_type": "TRAINING",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "created_at": "2026-03-25T15:23:50.965824Z",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  }
}
```

Save the returned `id` as `TRAINING_COMPUTE_CONFIGURATION_ID`.

Create a training configuration.

### Request

POST [https://api.hi.umnai.com/training-configurations](https://api.hi.umnai.com/training-configurations)

**`Create training configuration`**

```curl Create training configuration
curl -X POST https://api.hi.umnai.com/training-configurations \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "model_training_type": "INDUCTION",
  "name": "Sample Training Configuration"
}'
```

**`Create training configuration`**

```python Create training configuration
import requests

url = "https://api.hi.umnai.com/training-configurations"

payload = {
    "model_training_type": "INDUCTION",
    "name": "Sample Training Configuration"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create training configuration`**

```javascript Create training configuration
const url = 'https://api.hi.umnai.com/training-configurations';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"model_training_type":"INDUCTION","name":"Sample Training Configuration"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create training configuration`**

```go Create training configuration
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/training-configurations"

	payload := strings.NewReader("{\n  \"model_training_type\": \"INDUCTION\",\n  \"name\": \"Sample Training Configuration\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create training configuration`**

```ruby Create training configuration
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/training-configurations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"model_training_type\": \"INDUCTION\",\n  \"name\": \"Sample Training Configuration\"\n}"

response = http.request(request)
puts response.read_body
```

**`Create training configuration`**

```java Create training configuration
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/training-configurations")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"model_training_type\": \"INDUCTION\",\n  \"name\": \"Sample Training Configuration\"\n}")
  .asString();
```

**`Create training configuration`**

```php Create training configuration
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/training-configurations', [
  'body' => '{
  "model_training_type": "INDUCTION",
  "name": "Sample Training Configuration"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create training configuration`**

```csharp Create training configuration
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/training-configurations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"model_training_type\": \"INDUCTION\",\n  \"name\": \"Sample Training Configuration\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create training configuration`**

```swift Create training configuration
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "model_training_type": "INDUCTION",
  "name": "Sample Training Configuration"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/training-configurations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "model_training_type": "INDUCTION",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "id": "236f09a5d73018a9b8324105f1ee82df",
  "name": "Sample Training Configuration",
  "alpha": 0.5,
  "alpha_factor": 0.5,
  "bin_min_distance": 0.5,
  "binning_strategy": "UNIFORM",
  "bins": 1,
  "boosting_strategy": "NO_GROUPING",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "early_stopping_patience": 1,
  "estimators": 1,
  "estimators_winsorize_level": 0.5,
  "exclude_implicit": true,
  "init_depth": 1,
  "l1_ratio": 0.5,
  "l1_ratio_delta": 0.5,
  "learning_rate": 0.5,
  "learning_rate_decay": 0.5,
  "learning_rate_patience": 1,
  "log_interval": 1,
  "max_depth": 1,
  "max_depth_momentum": 1,
  "max_interaction_degree": 1,
  "max_interactions": 1,
  "max_iterations": 1,
  "max_polynomial_degree": 1,
  "max_rounds": 1,
  "max_samples": 0.5,
  "model_capabilities": {
    "has_causal": false,
    "estimators_data": false
  },
  "model_complexity_max_iterations": 1,
  "model_complexity_patience": 1,
  "partition_min_delta": 0.5,
  "partition_min_delta_factor": 0.5,
  "partition_min_delta_fraction": 0.5,
  "partition_min_samples": 1,
  "prune_patience": 1,
  "prune_threshold": 0.5,
  "sparse_model": true,
  "subsample": 0.5,
  "training_size": 0.5,
  "updated_at": "2026-03-15T10:15:30.000000Z",
  "validation_size": 0.5
}
```

Save the returned `id` as `TRAINING_CONFIGURATION_ID`.

Run the training job.

Use `WORKSPACE_ID` as the `X-Active-Workspace` header value.

### Request

POST [https://api.hi.umnai.com/training-jobs](https://api.hi.umnai.com/training-jobs)

**`Create training job`**

```curl Create training job
curl -X POST https://api.hi.umnai.com/training-jobs \
     -H "X-Active-Workspace: X-Active-Workspace" \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "name": "Sample Training Job",
  "dataset_id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
  "training_configuration_id": "236f09a5d73018a9b8324105f1ee82df",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "model_name": "Sample Model Name",
  "managed_spot_training": false
}'
```

**`Create training job`**

```python Create training job
import requests

url = "https://api.hi.umnai.com/training-jobs"

payload = {
    "name": "Sample Training Job",
    "dataset_id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
    "training_configuration_id": "236f09a5d73018a9b8324105f1ee82df",
    "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
    "model_name": "Sample Model Name",
    "managed_spot_training": False
}
headers = {
    "X-Active-Workspace": "X-Active-Workspace",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create training job`**

```javascript Create training job
const url = 'https://api.hi.umnai.com/training-jobs';
const options = {
  method: 'POST',
  headers: {
    'X-Active-Workspace': 'X-Active-Workspace',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"name":"Sample Training Job","dataset_id":"3c4d09e4ef50b370ae0efacdb43ec2dd","training_configuration_id":"236f09a5d73018a9b8324105f1ee82df","compute_configuration_id":"351df95006b1350e597762a1d58e9319","model_name":"Sample Model Name","managed_spot_training":false}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create training job`**

```go Create training job
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/training-jobs"

	payload := strings.NewReader("{\n  \"name\": \"Sample Training Job\",\n  \"dataset_id\": \"3c4d09e4ef50b370ae0efacdb43ec2dd\",\n  \"training_configuration_id\": \"236f09a5d73018a9b8324105f1ee82df\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"model_name\": \"Sample Model Name\",\n  \"managed_spot_training\": false\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Active-Workspace", "X-Active-Workspace")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create training job`**

```ruby Create training job
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/training-jobs")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Active-Workspace"] = 'X-Active-Workspace'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"Sample Training Job\",\n  \"dataset_id\": \"3c4d09e4ef50b370ae0efacdb43ec2dd\",\n  \"training_configuration_id\": \"236f09a5d73018a9b8324105f1ee82df\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"model_name\": \"Sample Model Name\",\n  \"managed_spot_training\": false\n}"

response = http.request(request)
puts response.read_body
```

**`Create training job`**

```java Create training job
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/training-jobs")
  .header("X-Active-Workspace", "X-Active-Workspace")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Sample Training Job\",\n  \"dataset_id\": \"3c4d09e4ef50b370ae0efacdb43ec2dd\",\n  \"training_configuration_id\": \"236f09a5d73018a9b8324105f1ee82df\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"model_name\": \"Sample Model Name\",\n  \"managed_spot_training\": false\n}")
  .asString();
```

**`Create training job`**

```php Create training job
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/training-jobs', [
  'body' => '{
  "name": "Sample Training Job",
  "dataset_id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
  "training_configuration_id": "236f09a5d73018a9b8324105f1ee82df",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "model_name": "Sample Model Name",
  "managed_spot_training": false
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
    'X-Active-Workspace' => 'X-Active-Workspace',
  ],
]);

echo $response->getBody();
```

**`Create training job`**

```csharp Create training job
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/training-jobs");
var request = new RestRequest(Method.POST);
request.AddHeader("X-Active-Workspace", "X-Active-Workspace");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"Sample Training Job\",\n  \"dataset_id\": \"3c4d09e4ef50b370ae0efacdb43ec2dd\",\n  \"training_configuration_id\": \"236f09a5d73018a9b8324105f1ee82df\",\n  \"compute_configuration_id\": \"351df95006b1350e597762a1d58e9319\",\n  \"model_name\": \"Sample Model Name\",\n  \"managed_spot_training\": false\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create training job`**

```swift Create training job
import Foundation

let headers = [
  "X-Active-Workspace": "X-Active-Workspace",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "name": "Sample Training Job",
  "dataset_id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
  "training_configuration_id": "236f09a5d73018a9b8324105f1ee82df",
  "compute_configuration_id": "351df95006b1350e597762a1d58e9319",
  "model_name": "Sample Model Name",
  "managed_spot_training": false
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/training-jobs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "5647cb5d7800f6834be0f591838d5d9a",
  "name": "Sample Training Job",
  "dataset": {
    "id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
    "name": "Sample Dataset"
  },
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "workspace": {
    "id": "1629dee48cc4e53161f9b2be8614e062",
    "name": "Sample Workspace"
  },
  "training_configuration": {
    "id": "236f09a5d73018a9b8324105f1ee82df",
    "name": "Sample Training Configuration"
  },
  "compute_configuration": {
    "id": "351df95006b1350e597762a1d58e9319",
    "name": "Sample Compute Configuration"
  },
  "status": "STARTING",
  "managed_spot_training": false,
  "maximum_runtime_seconds": 3600,
  "created_at": "2026-03-15T10:15:30.000000Z",
  "model": {
    "id": "20f35e630daf44dbfa4c3f68f5399d8c",
    "name": "Sample Model"
  },
  "maximum_wait_time_seconds": 3600,
  "model_constraints": [],
  "model_constraint_groups": [],
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "updated_at": "2026-03-15T10:15:30.000000Z",
  "stage": "sample_stage",
  "progress": 0.5,
  "stage_progress": 0.5
}
```

Save the returned `id` as `TRAINING_JOB_ID`.

Retrieve the job until its `status` is `COMPLETED`.

### Request

GET [https://api.hi.umnai.com/training-jobs/\{trainingJobId}](https://api.hi.umnai.com/training-jobs/\{trainingJobId})

**`Retrieve training job`**

```curl Retrieve training job
curl https://api.hi.umnai.com/training-jobs/trainingJobId \
     -H "Authorization: Bearer <token>"
```

**`Retrieve training job`**

```python Retrieve training job
import requests

url = "https://api.hi.umnai.com/training-jobs/trainingJobId"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

**`Retrieve training job`**

```javascript Retrieve training job
const url = 'https://api.hi.umnai.com/training-jobs/trainingJobId';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Retrieve training job`**

```go Retrieve training job
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/training-jobs/trainingJobId"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Retrieve training job`**

```ruby Retrieve training job
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/training-jobs/trainingJobId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

**`Retrieve training job`**

```java Retrieve training job
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.hi.umnai.com/training-jobs/trainingJobId")
  .header("Authorization", "Bearer <token>")
  .asString();
```

**`Retrieve training job`**

```php Retrieve training job
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.hi.umnai.com/training-jobs/trainingJobId', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

**`Retrieve training job`**

```csharp Retrieve training job
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/training-jobs/trainingJobId");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

**`Retrieve training job`**

```swift Retrieve training job
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/training-jobs/trainingJobId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "id": "5647cb5d7800f6834be0f591838d5d9a",
  "name": "Sample Training Job",
  "dataset": {
    "id": "3c4d09e4ef50b370ae0efacdb43ec2dd",
    "name": "Sample Dataset"
  },
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "workspace": {
    "id": "1629dee48cc4e53161f9b2be8614e062",
    "name": "Sample Workspace"
  },
  "training_configuration": {
    "id": "236f09a5d73018a9b8324105f1ee82df",
    "name": "Sample Training Configuration"
  },
  "compute_configuration": {
    "id": "351df95006b1350e597762a1d58e9319",
    "name": "Sample Compute Configuration"
  },
  "status": "STARTING",
  "managed_spot_training": false,
  "maximum_runtime_seconds": 3600,
  "created_at": "2026-03-15T10:15:30.000000Z",
  "model": {
    "id": "20f35e630daf44dbfa4c3f68f5399d8c",
    "name": "Sample Model"
  },
  "maximum_wait_time_seconds": 3600,
  "model_constraints": [],
  "model_constraint_groups": [],
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "updated_at": "2026-03-15T10:15:30.000000Z",
  "stage": "sample_stage",
  "progress": 0.5,
  "stage_progress": 0.5
}
```

Save the returned `model.id` as `MODEL_ID`.

## 7. Deploy the model

Create a serverless deployment configuration.

### Request

POST [https://api.hi.umnai.com/deployment-configurations](https://api.hi.umnai.com/deployment-configurations)

**`Create serverless deployment configuration`**

```curl Create serverless deployment configuration
curl -X POST https://api.hi.umnai.com/deployment-configurations \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "deployment_type": "SERVERLESS",
  "maximum_concurrency": 1,
  "memory_size": 1024,
  "name": "Sample Serverless Deployment Configuration"
}'
```

**`Create serverless deployment configuration`**

```python Create serverless deployment configuration
import requests

url = "https://api.hi.umnai.com/deployment-configurations"

payload = {
    "deployment_type": "SERVERLESS",
    "maximum_concurrency": 1,
    "memory_size": 1024,
    "name": "Sample Serverless Deployment Configuration"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Create serverless deployment configuration`**

```javascript Create serverless deployment configuration
const url = 'https://api.hi.umnai.com/deployment-configurations';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"deployment_type":"SERVERLESS","maximum_concurrency":1,"memory_size":1024,"name":"Sample Serverless Deployment Configuration"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Create serverless deployment configuration`**

```go Create serverless deployment configuration
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/deployment-configurations"

	payload := strings.NewReader("{\n  \"deployment_type\": \"SERVERLESS\",\n  \"maximum_concurrency\": 1,\n  \"memory_size\": 1024,\n  \"name\": \"Sample Serverless Deployment Configuration\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Create serverless deployment configuration`**

```ruby Create serverless deployment configuration
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/deployment-configurations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"deployment_type\": \"SERVERLESS\",\n  \"maximum_concurrency\": 1,\n  \"memory_size\": 1024,\n  \"name\": \"Sample Serverless Deployment Configuration\"\n}"

response = http.request(request)
puts response.read_body
```

**`Create serverless deployment configuration`**

```java Create serverless deployment configuration
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/deployment-configurations")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"deployment_type\": \"SERVERLESS\",\n  \"maximum_concurrency\": 1,\n  \"memory_size\": 1024,\n  \"name\": \"Sample Serverless Deployment Configuration\"\n}")
  .asString();
```

**`Create serverless deployment configuration`**

```php Create serverless deployment configuration
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/deployment-configurations', [
  'body' => '{
  "deployment_type": "SERVERLESS",
  "maximum_concurrency": 1,
  "memory_size": 1024,
  "name": "Sample Serverless Deployment Configuration"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Create serverless deployment configuration`**

```csharp Create serverless deployment configuration
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/deployment-configurations");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"deployment_type\": \"SERVERLESS\",\n  \"maximum_concurrency\": 1,\n  \"memory_size\": 1024,\n  \"name\": \"Sample Serverless Deployment Configuration\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Create serverless deployment configuration`**

```swift Create serverless deployment configuration
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "deployment_type": "SERVERLESS",
  "maximum_concurrency": 1,
  "memory_size": 1024,
  "name": "Sample Serverless Deployment Configuration"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/deployment-configurations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "deployment_type": "SERVERLESS",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "created_at": "2026-03-15T10:15:30.000000Z",
  "id": "8be6a0ea7db3303d3fb3568c0b583d9d",
  "maximum_concurrency": 1,
  "memory_size": 1024,
  "name": "Sample Serverless Deployment Configuration",
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "updated_at": "2026-03-15T10:15:30.000000Z"
}
```

Save the returned `id` as `DEPLOYMENT_CONFIGURATION_ID`.

Deploy the model.

### Request

POST [https://api.hi.umnai.com/deployed-models](https://api.hi.umnai.com/deployed-models)

**`Deploy model`**

```curl Deploy model
curl -X POST https://api.hi.umnai.com/deployed-models \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "name": "Sample Deployed Model",
  "model_id": "20f35e630daf44dbfa4c3f68f5399d8c",
  "deployment_configuration_id": "8be6a0ea7db3303d3fb3568c0b583d9d"
}'
```

**`Deploy model`**

```python Deploy model
import requests

url = "https://api.hi.umnai.com/deployed-models"

payload = {
    "name": "Sample Deployed Model",
    "model_id": "20f35e630daf44dbfa4c3f68f5399d8c",
    "deployment_configuration_id": "8be6a0ea7db3303d3fb3568c0b583d9d"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Deploy model`**

```javascript Deploy model
const url = 'https://api.hi.umnai.com/deployed-models';
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: '{"name":"Sample Deployed Model","model_id":"20f35e630daf44dbfa4c3f68f5399d8c","deployment_configuration_id":"8be6a0ea7db3303d3fb3568c0b583d9d"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Deploy model`**

```go Deploy model
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/deployed-models"

	payload := strings.NewReader("{\n  \"name\": \"Sample Deployed Model\",\n  \"model_id\": \"20f35e630daf44dbfa4c3f68f5399d8c\",\n  \"deployment_configuration_id\": \"8be6a0ea7db3303d3fb3568c0b583d9d\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Deploy model`**

```ruby Deploy model
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/deployed-models")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"name\": \"Sample Deployed Model\",\n  \"model_id\": \"20f35e630daf44dbfa4c3f68f5399d8c\",\n  \"deployment_configuration_id\": \"8be6a0ea7db3303d3fb3568c0b583d9d\"\n}"

response = http.request(request)
puts response.read_body
```

**`Deploy model`**

```java Deploy model
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/deployed-models")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"name\": \"Sample Deployed Model\",\n  \"model_id\": \"20f35e630daf44dbfa4c3f68f5399d8c\",\n  \"deployment_configuration_id\": \"8be6a0ea7db3303d3fb3568c0b583d9d\"\n}")
  .asString();
```

**`Deploy model`**

```php Deploy model
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/deployed-models', [
  'body' => '{
  "name": "Sample Deployed Model",
  "model_id": "20f35e630daf44dbfa4c3f68f5399d8c",
  "deployment_configuration_id": "8be6a0ea7db3303d3fb3568c0b583d9d"
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

**`Deploy model`**

```csharp Deploy model
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/deployed-models");
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"name\": \"Sample Deployed Model\",\n  \"model_id\": \"20f35e630daf44dbfa4c3f68f5399d8c\",\n  \"deployment_configuration_id\": \"8be6a0ea7db3303d3fb3568c0b583d9d\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Deploy model`**

```swift Deploy model
import Foundation

let headers = [
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "name": "Sample Deployed Model",
  "model_id": "20f35e630daf44dbfa4c3f68f5399d8c",
  "deployment_configuration_id": "8be6a0ea7db3303d3fb3568c0b583d9d"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/deployed-models")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (201)

```json
{
  "id": "abf66c365bddf8b064bdfe2ca5ee662a",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "name": "Sample Deployed Model",
  "status": "STARTING",
  "created_at": "2026-03-15T10:15:30.000000Z",
  "model": {
    "id": "20f35e630daf44dbfa4c3f68f5399d8c",
    "name": "Sample Model"
  },
  "deployment_configuration": {
    "id": "8be6a0ea7db3303d3fb3568c0b583d9d",
    "name": "Sample Deployment Configuration"
  },
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "updated_at": "2026-03-15T10:15:30.000000Z",
  "tags": [
    {
      "name": "Sample Tag"
    }
  ]
}
```

Save the returned `id` as `DEPLOYED_MODEL_ID`.

Retrieve the deployed model until its `status` is `RUNNING`.

### Request

GET [https://api.hi.umnai.com/deployed-models/\{deployedModelId}](https://api.hi.umnai.com/deployed-models/\{deployedModelId})

**`Retrieve deployed model`**

```curl Retrieve deployed model
curl https://api.hi.umnai.com/deployed-models/deployedModelId \
     -H "Authorization: Bearer <token>"
```

**`Retrieve deployed model`**

```python Retrieve deployed model
import requests

url = "https://api.hi.umnai.com/deployed-models/deployedModelId"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

**`Retrieve deployed model`**

```javascript Retrieve deployed model
const url = 'https://api.hi.umnai.com/deployed-models/deployedModelId';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Retrieve deployed model`**

```go Retrieve deployed model
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/deployed-models/deployedModelId"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Retrieve deployed model`**

```ruby Retrieve deployed model
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/deployed-models/deployedModelId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

**`Retrieve deployed model`**

```java Retrieve deployed model
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.hi.umnai.com/deployed-models/deployedModelId")
  .header("Authorization", "Bearer <token>")
  .asString();
```

**`Retrieve deployed model`**

```php Retrieve deployed model
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.hi.umnai.com/deployed-models/deployedModelId', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

**`Retrieve deployed model`**

```csharp Retrieve deployed model
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/deployed-models/deployedModelId");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

**`Retrieve deployed model`**

```swift Retrieve deployed model
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/deployed-models/deployedModelId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "id": "abf66c365bddf8b064bdfe2ca5ee662a",
  "account": {
    "id": "e268443e43d93dab7ebef303bbe9642f",
    "name": "Sample Account"
  },
  "name": "Sample Deployed Model",
  "status": "STARTING",
  "created_at": "2026-03-15T10:15:30.000000Z",
  "model": {
    "id": "20f35e630daf44dbfa4c3f68f5399d8c",
    "name": "Sample Model"
  },
  "deployment_configuration": {
    "id": "8be6a0ea7db3303d3fb3568c0b583d9d",
    "name": "Sample Deployment Configuration"
  },
  "created_by": {
    "id": "dad46b2058752ffde5eaf02f1eb6abd5",
    "name": "Sample User"
  },
  "updated_at": "2026-03-15T10:15:30.000000Z",
  "tags": [
    {
      "name": "Sample Tag"
    }
  ]
}
```

## 8. Request a prediction and explanation

Query the deployed model with a results view request.

### Request

POST [https://api.hi.umnai.com/deployed-models/\{deployedModelId}/views](https://api.hi.umnai.com/deployed-models/\{deployedModelId}/views)

**`Results View with default values`**

```curl Results View with default values
curl -X POST https://api.hi.umnai.com/deployed-models/deployedModelId/views \
     -H "X-Views-Cache-Control: no-cache, no-store" \
     -H "Authorization: Bearer <token>" \
     -H "Content-Type: application/json" \
     -d '{
  "data": [
    {
      "view_type": "RESULTS"
    }
  ],
  "query": {
    "age": [
      58
    ],
    "capital_45_gain": [
      0
    ],
    "capital_45_loss": [
      0
    ],
    "education": [
      "HS-grad"
    ],
    "educational_45_num": [
      9
    ],
    "fnlwgt": [
      299831
    ],
    "gender": [
      "Male"
    ],
    "hours_45_per_45_week": [
      35
    ],
    "marital_45_status": [
      "Married-civ-spouse"
    ],
    "native_45_country": [
      "United-States"
    ],
    "occupation": [
      "?"
    ],
    "race": [
      "White"
    ],
    "relationship": [
      "Husband"
    ],
    "workclass": [
      "?"
    ]
  },
  "targets": {
    "income": [
      0
    ]
  }
}'
```

**`Results View with default values`**

```python Results View with default values
import requests

url = "https://api.hi.umnai.com/deployed-models/deployedModelId/views"

payload = {
    "data": [{ "view_type": "RESULTS" }],
    "query": {
        "age": [58],
        "capital_45_gain": [0],
        "capital_45_loss": [0],
        "education": ["HS-grad"],
        "educational_45_num": [9],
        "fnlwgt": [299831],
        "gender": ["Male"],
        "hours_45_per_45_week": [35],
        "marital_45_status": ["Married-civ-spouse"],
        "native_45_country": ["United-States"],
        "occupation": ["?"],
        "race": ["White"],
        "relationship": ["Husband"],
        "workclass": ["?"]
    },
    "targets": { "income": [0] }
}
headers = {
    "X-Views-Cache-Control": "no-cache, no-store",
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

**`Results View with default values`**

```javascript Results View with default values
const url = 'https://api.hi.umnai.com/deployed-models/deployedModelId/views';
const options = {
  method: 'POST',
  headers: {
    'X-Views-Cache-Control': 'no-cache, no-store',
    Authorization: 'Bearer <token>',
    'Content-Type': 'application/json'
  },
  body: '{"data":[{"view_type":"RESULTS"}],"query":{"age":[58],"capital_45_gain":[0],"capital_45_loss":[0],"education":["HS-grad"],"educational_45_num":[9],"fnlwgt":[299831],"gender":["Male"],"hours_45_per_45_week":[35],"marital_45_status":["Married-civ-spouse"],"native_45_country":["United-States"],"occupation":["?"],"race":["White"],"relationship":["Husband"],"workclass":["?"]},"targets":{"income":[0]}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

**`Results View with default values`**

```go Results View with default values
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.hi.umnai.com/deployed-models/deployedModelId/views"

	payload := strings.NewReader("{\n  \"data\": [\n    {\n      \"view_type\": \"RESULTS\"\n    }\n  ],\n  \"query\": {\n    \"age\": [\n      58\n    ],\n    \"capital_45_gain\": [\n      0\n    ],\n    \"capital_45_loss\": [\n      0\n    ],\n    \"education\": [\n      \"HS-grad\"\n    ],\n    \"educational_45_num\": [\n      9\n    ],\n    \"fnlwgt\": [\n      299831\n    ],\n    \"gender\": [\n      \"Male\"\n    ],\n    \"hours_45_per_45_week\": [\n      35\n    ],\n    \"marital_45_status\": [\n      \"Married-civ-spouse\"\n    ],\n    \"native_45_country\": [\n      \"United-States\"\n    ],\n    \"occupation\": [\n      \"?\"\n    ],\n    \"race\": [\n      \"White\"\n    ],\n    \"relationship\": [\n      \"Husband\"\n    ],\n    \"workclass\": [\n      \"?\"\n    ]\n  },\n  \"targets\": {\n    \"income\": [\n      0\n    ]\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-Views-Cache-Control", "no-cache, no-store")
	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

**`Results View with default values`**

```ruby Results View with default values
require 'uri'
require 'net/http'

url = URI("https://api.hi.umnai.com/deployed-models/deployedModelId/views")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-Views-Cache-Control"] = 'no-cache, no-store'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"data\": [\n    {\n      \"view_type\": \"RESULTS\"\n    }\n  ],\n  \"query\": {\n    \"age\": [\n      58\n    ],\n    \"capital_45_gain\": [\n      0\n    ],\n    \"capital_45_loss\": [\n      0\n    ],\n    \"education\": [\n      \"HS-grad\"\n    ],\n    \"educational_45_num\": [\n      9\n    ],\n    \"fnlwgt\": [\n      299831\n    ],\n    \"gender\": [\n      \"Male\"\n    ],\n    \"hours_45_per_45_week\": [\n      35\n    ],\n    \"marital_45_status\": [\n      \"Married-civ-spouse\"\n    ],\n    \"native_45_country\": [\n      \"United-States\"\n    ],\n    \"occupation\": [\n      \"?\"\n    ],\n    \"race\": [\n      \"White\"\n    ],\n    \"relationship\": [\n      \"Husband\"\n    ],\n    \"workclass\": [\n      \"?\"\n    ]\n  },\n  \"targets\": {\n    \"income\": [\n      0\n    ]\n  }\n}"

response = http.request(request)
puts response.read_body
```

**`Results View with default values`**

```java Results View with default values
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.hi.umnai.com/deployed-models/deployedModelId/views")
  .header("X-Views-Cache-Control", "no-cache, no-store")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"data\": [\n    {\n      \"view_type\": \"RESULTS\"\n    }\n  ],\n  \"query\": {\n    \"age\": [\n      58\n    ],\n    \"capital_45_gain\": [\n      0\n    ],\n    \"capital_45_loss\": [\n      0\n    ],\n    \"education\": [\n      \"HS-grad\"\n    ],\n    \"educational_45_num\": [\n      9\n    ],\n    \"fnlwgt\": [\n      299831\n    ],\n    \"gender\": [\n      \"Male\"\n    ],\n    \"hours_45_per_45_week\": [\n      35\n    ],\n    \"marital_45_status\": [\n      \"Married-civ-spouse\"\n    ],\n    \"native_45_country\": [\n      \"United-States\"\n    ],\n    \"occupation\": [\n      \"?\"\n    ],\n    \"race\": [\n      \"White\"\n    ],\n    \"relationship\": [\n      \"Husband\"\n    ],\n    \"workclass\": [\n      \"?\"\n    ]\n  },\n  \"targets\": {\n    \"income\": [\n      0\n    ]\n  }\n}")
  .asString();
```

**`Results View with default values`**

```php Results View with default values
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.hi.umnai.com/deployed-models/deployedModelId/views', [
  'body' => '{
  "data": [
    {
      "view_type": "RESULTS"
    }
  ],
  "query": {
    "age": [
      58
    ],
    "capital_45_gain": [
      0
    ],
    "capital_45_loss": [
      0
    ],
    "education": [
      "HS-grad"
    ],
    "educational_45_num": [
      9
    ],
    "fnlwgt": [
      299831
    ],
    "gender": [
      "Male"
    ],
    "hours_45_per_45_week": [
      35
    ],
    "marital_45_status": [
      "Married-civ-spouse"
    ],
    "native_45_country": [
      "United-States"
    ],
    "occupation": [
      "?"
    ],
    "race": [
      "White"
    ],
    "relationship": [
      "Husband"
    ],
    "workclass": [
      "?"
    ]
  },
  "targets": {
    "income": [
      0
    ]
  }
}',
  'headers' => [
    'Authorization' => 'Bearer <token>',
    'Content-Type' => 'application/json',
    'X-Views-Cache-Control' => 'no-cache, no-store',
  ],
]);

echo $response->getBody();
```

**`Results View with default values`**

```csharp Results View with default values
using RestSharp;

var client = new RestClient("https://api.hi.umnai.com/deployed-models/deployedModelId/views");
var request = new RestRequest(Method.POST);
request.AddHeader("X-Views-Cache-Control", "no-cache, no-store");
request.AddHeader("Authorization", "Bearer <token>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"data\": [\n    {\n      \"view_type\": \"RESULTS\"\n    }\n  ],\n  \"query\": {\n    \"age\": [\n      58\n    ],\n    \"capital_45_gain\": [\n      0\n    ],\n    \"capital_45_loss\": [\n      0\n    ],\n    \"education\": [\n      \"HS-grad\"\n    ],\n    \"educational_45_num\": [\n      9\n    ],\n    \"fnlwgt\": [\n      299831\n    ],\n    \"gender\": [\n      \"Male\"\n    ],\n    \"hours_45_per_45_week\": [\n      35\n    ],\n    \"marital_45_status\": [\n      \"Married-civ-spouse\"\n    ],\n    \"native_45_country\": [\n      \"United-States\"\n    ],\n    \"occupation\": [\n      \"?\"\n    ],\n    \"race\": [\n      \"White\"\n    ],\n    \"relationship\": [\n      \"Husband\"\n    ],\n    \"workclass\": [\n      \"?\"\n    ]\n  },\n  \"targets\": {\n    \"income\": [\n      0\n    ]\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

**`Results View with default values`**

```swift Results View with default values
import Foundation

let headers = [
  "X-Views-Cache-Control": "no-cache, no-store",
  "Authorization": "Bearer <token>",
  "Content-Type": "application/json"
]
let parameters = [
  "data": [["view_type": "RESULTS"]],
  "query": [
    "age": [58],
    "capital_45_gain": [0],
    "capital_45_loss": [0],
    "education": ["HS-grad"],
    "educational_45_num": [9],
    "fnlwgt": [299831],
    "gender": ["Male"],
    "hours_45_per_45_week": [35],
    "marital_45_status": ["Married-civ-spouse"],
    "native_45_country": ["United-States"],
    "occupation": ["?"],
    "race": ["White"],
    "relationship": ["Husband"],
    "workclass": ["?"]
  ],
  "targets": ["income": [0]]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.hi.umnai.com/deployed-models/deployedModelId/views")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Response (200)

```json
{
  "data": [
    {
      "view_type": "RESULTS",
      "commons_version": {
        "major_version": 0,
        "minor_version": 18,
        "patch_version": 0,
        "build_version": "dev72"
      },
      "core_version": {
        "major_version": 7,
        "minor_version": 10,
        "patch_version": 0,
        "build_version": "dev52"
      },
      "output_version": {
        "major_version": 2,
        "minor_version": 0,
        "patch_version": 0
      },
      "view_data": {
        "model_info": {
          "columns": [
            "model_intercept",
            "model_id",
            "dataset_name",
            "commons_version",
            "core_version",
            "estimators_aggregation_type",
            "estimators_aggregation_weights",
            "estimators_aggregation_bias"
          ],
          "index": [
            0
          ],
          "data": [
            [
              -1.0836982274,
              "2bcb9dc8-adult_income-root_ae51ef149e564e44aea29d4289015533",
              "2bcb9dc8-adult_income-root",
              "0.18.0.dev72",
              "7.10.0.dev52",
              "MEAN",
              null,
              [
                0
              ]
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "ARRAY",
                "format": {
                  "data_type": "NUMBER",
                  "format": "FLOAT64"
                }
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            }
          ]
        },
        "query_input": {
          "columns": [
            "age",
            "workclass",
            "fnlwgt",
            "education",
            "educational_45_num",
            "marital_45_status",
            "occupation",
            "relationship",
            "race",
            "gender",
            "capital_45_gain",
            "capital_45_loss",
            "hours_45_per_45_week",
            "native_45_country"
          ],
          "index": [
            0
          ],
          "data": [
            [
              58,
              "?",
              299831,
              "HS-grad",
              9,
              "Married-civ-spouse",
              "?",
              "Husband",
              "White",
              "Male",
              0,
              0,
              35,
              "United-States"
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "STRING",
              "format": null
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "STRING",
              "format": null
            }
          ]
        },
        "feature_attribution": {
          "columns": [
            "age",
            "workclass",
            "education",
            "educational_45_num",
            "marital_45_status",
            "occupation",
            "relationship",
            "race",
            "gender",
            "capital_45_gain",
            "capital_45_loss",
            "hours_45_per_45_week",
            "native_45_country"
          ],
          "index": [
            0
          ],
          "data": [
            [
              0.0647808541,
              -0.0676474605,
              -0.0313969485,
              -0.1116615309,
              0.3690593203,
              -0.1066994267,
              0.1462616659,
              0.0019960039,
              0.0136857833,
              -0.0931422759,
              -0.0472697232,
              -0.032039807,
              -0.006444931
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            }
          ]
        },
        "total_attribution": {
          "columns": [
            "0"
          ],
          "index": [
            0
          ],
          "data": [
            [
              -0.9842167034
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            }
          ]
        },
        "predicted_output": {
          "columns": [
            "0"
          ],
          "index": [
            0
          ],
          "data": [
            [
              0.2720585794
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            }
          ]
        },
        "module_attribution": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17"
          ],
          "index": [
            0
          ],
          "data": [
            [
              0.0647808541,
              -0.1318352376,
              -0.0931422759,
              -0.0472697232,
              -0.032039807,
              -0.0242657021,
              0.0136857833,
              0.3415582307,
              -0.006444931,
              -0.13539332,
              0.0019960039,
              0.1094945188,
              -0.0676474605,
              0.003414743,
              0.0240163011,
              0.0231456524,
              0.0253621205,
              0.0300657735
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            }
          ]
        },
        "partition_activation": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17"
          ],
          "index": [
            0
          ],
          "data": [
            [
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1,
              1
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            }
          ]
        },
        "partition_attribution": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17"
          ],
          "index": [
            0
          ],
          "data": [
            [
              0.0647808541,
              -0.1318352376,
              -0.0931422759,
              -0.0472697232,
              -0.032039807,
              -0.0242657021,
              0.0136857833,
              0.3415582307,
              -0.006444931,
              -0.13539332,
              0.0019960039,
              0.1094945188,
              -0.0676474605,
              0.003414743,
              0.0240163011,
              0.0231456524,
              0.0253621205,
              0.0300657735
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            }
          ]
        },
        "decomposition_activation": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17",
            "18",
            "19",
            "20",
            "21",
            "22",
            "23",
            "24",
            "25",
            "26",
            "27",
            "28",
            "29",
            "30",
            "31",
            "32",
            "33",
            "34",
            "35",
            "36",
            "37",
            "38",
            "39",
            "40",
            "41",
            "42",
            "43",
            "44",
            "45",
            "46",
            "47",
            "48",
            "49",
            "50",
            "51",
            "52",
            "53",
            "54",
            "55",
            "56",
            "57",
            "58",
            "59",
            "60",
            "61",
            "62",
            "63",
            "64",
            "65",
            "66",
            "67",
            "68",
            "69",
            "70",
            "71",
            "72",
            "73",
            "74",
            "75",
            "76",
            "77",
            "78",
            "79",
            "80",
            "81",
            "82",
            "83",
            "84",
            "85",
            "86",
            "87",
            "88",
            "89",
            "90",
            "91",
            "92",
            "93",
            "94",
            "95",
            "96",
            "97",
            "98",
            "99",
            "100",
            "101",
            "102",
            "103",
            "104",
            "105",
            "106",
            "107",
            "108",
            "109",
            "110",
            "111",
            "112",
            "113",
            "114",
            "115",
            "116",
            "117",
            "118",
            "119",
            "120",
            "121",
            "122",
            "123",
            "124",
            "125",
            "126",
            "127",
            "128",
            "129",
            "130",
            "131",
            "132",
            "133",
            "134",
            "135",
            "136",
            "137",
            "138",
            "139",
            "140",
            "141",
            "142",
            "143",
            "144",
            "145",
            "146",
            "147",
            "148",
            "149",
            "150",
            "151",
            "152",
            "153",
            "154",
            "155",
            "156",
            "157",
            "158",
            "159",
            "160",
            "161",
            "162",
            "163",
            "164",
            "165",
            "166",
            "167",
            "168",
            "169",
            "170",
            "171",
            "172",
            "173",
            "174",
            "175",
            "176",
            "177",
            "178",
            "179",
            "180",
            "181",
            "182",
            "183",
            "184",
            "185",
            "186",
            "187",
            "188",
            "189",
            "190",
            "191",
            "192",
            "193",
            "194",
            "195",
            "196",
            "197",
            "198",
            "199",
            "200",
            "201",
            "202"
          ],
          "index": [
            0
          ],
          "data": [
            [
              1,
              1,
              1,
              1,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              1,
              0,
              0,
              0,
              0,
              0,
              1,
              0,
              1,
              0,
              0,
              0,
              0,
              0
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            }
          ]
        },
        "decomposition_attribution": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17",
            "18",
            "19",
            "20",
            "21",
            "22",
            "23",
            "24",
            "25",
            "26",
            "27",
            "28",
            "29",
            "30",
            "31",
            "32",
            "33",
            "34",
            "35",
            "36",
            "37",
            "38",
            "39",
            "40",
            "41",
            "42",
            "43",
            "44",
            "45",
            "46",
            "47",
            "48",
            "49",
            "50",
            "51",
            "52",
            "53",
            "54",
            "55",
            "56",
            "57",
            "58",
            "59",
            "60",
            "61",
            "62",
            "63",
            "64",
            "65",
            "66",
            "67",
            "68",
            "69",
            "70",
            "71",
            "72",
            "73",
            "74",
            "75",
            "76",
            "77",
            "78",
            "79",
            "80",
            "81",
            "82",
            "83",
            "84",
            "85",
            "86",
            "87",
            "88",
            "89",
            "90",
            "91",
            "92",
            "93",
            "94",
            "95",
            "96",
            "97",
            "98",
            "99",
            "100",
            "101",
            "102",
            "103",
            "104",
            "105",
            "106",
            "107",
            "108",
            "109",
            "110",
            "111",
            "112",
            "113",
            "114",
            "115",
            "116",
            "117",
            "118",
            "119",
            "120",
            "121",
            "122",
            "123",
            "124",
            "125",
            "126",
            "127",
            "128",
            "129",
            "130",
            "131",
            "132",
            "133",
            "134",
            "135",
            "136",
            "137",
            "138",
            "139",
            "140",
            "141",
            "142",
            "143",
            "144",
            "145",
            "146",
            "147",
            "148",
            "149",
            "150",
            "151",
            "152",
            "153",
            "154",
            "155",
            "156",
            "157",
            "158",
            "159",
            "160",
            "161",
            "162",
            "163",
            "164",
            "165",
            "166",
            "167",
            "168",
            "169",
            "170",
            "171",
            "172",
            "173",
            "174",
            "175",
            "176",
            "177",
            "178",
            "179",
            "180",
            "181",
            "182",
            "183",
            "184",
            "185",
            "186",
            "187",
            "188",
            "189",
            "190",
            "191",
            "192",
            "193",
            "194",
            "195",
            "196",
            "197",
            "198",
            "199",
            "200",
            "201",
            "202"
          ],
          "index": [
            0
          ],
          "data": [
            [
              0.0647808541,
              -0.1318352376,
              -0.0931422759,
              -0.0472697232,
              -0.032039807,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              -0.0242657021,
              0,
              0,
              0,
              0,
              0,
              0,
              0.0136857833,
              0,
              0,
              0,
              0.3415582307,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              -0.006444931,
              0,
              0,
              0,
              -0.13539332,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0.0019960039,
              0,
              0.1094945188,
              0,
              0,
              0,
              0,
              0,
              0,
              -0.0676474605,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0.0019017831,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0.00151296,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              -0.0071312464,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0.0311475476,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              -0.0036464579,
              0,
              0,
              0,
              0,
              0,
              0.0267921103,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0,
              0.0253621205,
              0,
              0,
              0,
              0,
              0,
              0.0201737068,
              0,
              0.0098920667,
              0,
              0,
              0,
              0,
              0
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            },
            {
              "data_type": "NUMBER",
              "format": "INT64"
            }
          ]
        },
        "estimators_predicted_output": {
          "columns": [
            "0",
            "1"
          ],
          "index": [
            0
          ],
          "data": [
            [
              0.2735845447,
              0.2705326141
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            },
            {
              "data_type": "NUMBER",
              "format": "FLOAT64"
            }
          ]
        },
        "estimators_feature_attribution": {
          "columns": [
            "age",
            "workclass",
            "education",
            "educational_45_num",
            "marital_45_status",
            "occupation",
            "relationship",
            "race",
            "gender",
            "capital_45_gain",
            "capital_45_loss",
            "hours_45_per_45_week",
            "native_45_country"
          ],
          "index": [
            0
          ],
          "data": [
            [
              [
                0.0646486257,
                0.0649130825
              ],
              [
                -0.0659330512,
                -0.0693618697
              ],
              [
                -0.0218890662,
                -0.0423094627
              ],
              [
                -0.1120373673,
                -0.1112866485
              ],
              [
                0.3605294714,
                0.3840125829
              ],
              [
                -0.1032622882,
                -0.1151560485
              ],
              [
                0.1468037999,
                0.1457211876
              ],
              [
                0.0023801547,
                0.0016118531
              ],
              [
                0.0133834105,
                0.013988156
              ],
              [
                -0.0926833867,
                -0.0936011651
              ],
              [
                -0.046602184,
                -0.0479372623
              ],
              [
                -0.0321763441,
                -0.0319032698
              ],
              [
                -0.0064493431,
                -0.0064405189
              ]
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            }
          ]
        },
        "estimators_module_attribution": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17"
          ],
          "index": [
            0
          ],
          "data": [
            [
              [
                0.0646486257,
                0.0649130825
              ],
              [
                -0.1319163195,
                -0.1317541558
              ],
              [
                -0.0926833867,
                -0.0936011651
              ],
              [
                -0.046602184,
                -0.0479372623
              ],
              [
                -0.0321763441,
                -0.0319032698
              ],
              [
                -0.0239412169,
                -0.0245901872
              ],
              [
                0.0133834105,
                0.013988156
              ],
              [
                0.342082156,
                0.3410343053
              ],
              [
                -0.0064493431,
                -0.0064405189
              ],
              [
                -0.1365255436,
                -0.1342610965
              ],
              [
                0.0023801547,
                0.0016118531
              ],
              [
                0.1099097792,
                0.1090792583
              ],
              [
                -0.0659330512,
                -0.0693618697
              ],
              [
                0.0044787801,
                0.0023507059
              ],
              [
                0.02410137,
                0.0239312323
              ],
              [
                0.0273065793,
                0.0189847254
              ],
              [
                0.0250790796,
                0.0256451614
              ],
              [
                0.0295698854,
                0.0305616616
              ]
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            }
          ]
        },
        "estimators_partition_attribution": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17"
          ],
          "index": [
            0
          ],
          "data": [
            [
              [
                0.0646486257,
                0.0649130825
              ],
              [
                -0.1319163195,
                -0.1317541558
              ],
              [
                -0.0926833867,
                -0.0936011651
              ],
              [
                -0.046602184,
                -0.0479372623
              ],
              [
                -0.0321763441,
                -0.0319032698
              ],
              [
                -0.0239412169,
                -0.0245901872
              ],
              [
                0.0133834105,
                0.013988156
              ],
              [
                0.342082156,
                0.3410343053
              ],
              [
                -0.0064493431,
                -0.0064405189
              ],
              [
                -0.1365255436,
                -0.1342610965
              ],
              [
                0.0023801547,
                0.0016118531
              ],
              [
                0.1099097792,
                0.1090792583
              ],
              [
                -0.0659330512,
                -0.0693618697
              ],
              [
                0.0044787801,
                0.0023507059
              ],
              [
                0.02410137,
                0.0239312323
              ],
              [
                0.0273065793,
                0.0189847254
              ],
              [
                0.0250790796,
                0.0256451614
              ],
              [
                0.0295698854,
                0.0305616616
              ]
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            }
          ]
        },
        "estimators_decomposition_attribution": {
          "columns": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6",
            "7",
            "8",
            "9",
            "10",
            "11",
            "12",
            "13",
            "14",
            "15",
            "16",
            "17",
            "18",
            "19",
            "20",
            "21",
            "22",
            "23",
            "24",
            "25",
            "26",
            "27",
            "28",
            "29",
            "30",
            "31",
            "32",
            "33",
            "34",
            "35",
            "36",
            "37",
            "38",
            "39",
            "40",
            "41",
            "42",
            "43",
            "44",
            "45",
            "46",
            "47",
            "48",
            "49",
            "50",
            "51",
            "52",
            "53",
            "54",
            "55",
            "56",
            "57",
            "58",
            "59",
            "60",
            "61",
            "62",
            "63",
            "64",
            "65",
            "66",
            "67",
            "68",
            "69",
            "70",
            "71",
            "72",
            "73",
            "74",
            "75",
            "76",
            "77",
            "78",
            "79",
            "80",
            "81",
            "82",
            "83",
            "84",
            "85",
            "86",
            "87",
            "88",
            "89",
            "90",
            "91",
            "92",
            "93",
            "94",
            "95",
            "96",
            "97",
            "98",
            "99",
            "100",
            "101",
            "102",
            "103",
            "104",
            "105",
            "106",
            "107",
            "108",
            "109",
            "110",
            "111",
            "112",
            "113",
            "114",
            "115",
            "116",
            "117",
            "118",
            "119",
            "120",
            "121",
            "122",
            "123",
            "124",
            "125",
            "126",
            "127",
            "128",
            "129",
            "130",
            "131",
            "132",
            "133",
            "134",
            "135",
            "136",
            "137",
            "138",
            "139",
            "140",
            "141",
            "142",
            "143",
            "144",
            "145",
            "146",
            "147",
            "148",
            "149",
            "150",
            "151",
            "152",
            "153",
            "154",
            "155",
            "156",
            "157",
            "158",
            "159",
            "160",
            "161",
            "162",
            "163",
            "164",
            "165",
            "166",
            "167",
            "168",
            "169",
            "170",
            "171",
            "172",
            "173",
            "174",
            "175",
            "176",
            "177",
            "178",
            "179",
            "180",
            "181",
            "182",
            "183",
            "184",
            "185",
            "186",
            "187",
            "188",
            "189",
            "190",
            "191",
            "192",
            "193",
            "194",
            "195",
            "196",
            "197",
            "198",
            "199",
            "200",
            "201",
            "202"
          ],
          "index": [
            0
          ],
          "data": [
            [
              [
                0.0646486257,
                0.0649130825
              ],
              [
                -0.1319163195,
                -0.1317541558
              ],
              [
                -0.0926833867,
                -0.0936011651
              ],
              [
                -0.046602184,
                -0.0479372623
              ],
              [
                -0.0321763441,
                -0.0319032698
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                -0.0239412169,
                -0.0245901872
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0133834105,
                0.013988156
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.342082156,
                0.3410343053
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                -0.0064493431,
                -0.0064405189
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                -0.1365255436,
                -0.1342610965
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0023801547,
                0.0016118531
              ],
              [
                0,
                0
              ],
              [
                0.1099097792,
                0.1090792583
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                -0.0659330512,
                -0.0693618697
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0023547721,
                0.0014480924
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.002124008,
                0.0009026135
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0020521507,
                -0.0177192754
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0220492193,
                0.0416505077
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                -0.0036019039,
                0.0013277699
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0309084832,
                0.0176569555
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0250790796,
                0.0256451614
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0.0198789522,
                0.0204675072
              ],
              [
                0,
                0
              ],
              [
                0.0096909332,
                0.0100941544
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ],
              [
                0,
                0
              ]
            ]
          ],
          "foreign_keys": [],
          "labels": [],
          "types": [
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "FLOAT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            },
            {
              "data_type": "ARRAY",
              "format": {
                "data_type": "NUMBER",
                "format": "INT64"
              }
            }
          ]
        }
      },
      "views_version": {
        "major_version": 0,
        "minor_version": 7,
        "patch_version": 0,
        "build_version": "dev13"
      }
    }
  ]
}
```

A successful response includes the prediction result and the explanation data associated with that result.

## Complete

You have ingested sample data, onboarded it into a dataset, trained a model, deployed it, and requested a prediction with explanation data.

Use the guides for deeper implementation details, or use the API reference for endpoint and schema details.