Infer a contract from a data asset - Gable Docs
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
GET
/ v0 /data-asset {id} /infer-contract
Try it
Infer a contract from a data asset
cURL
curl --request GET \
--url https://demo-api.gable.ai/v0/data-asset/{id}/infer-contract \
--header 'X-API-KEY: <api-key>'
import requests
url = "https://demo-api.gable.ai/v0/data-asset/{id}/infer-contract"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)
const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://demo-api.gable.ai/v0/data-asset/{id}/infer-contract', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://demo-api.gable.ai/v0/data-asset/{id}/infer-contract",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://demo-api.gable.ai/v0/data-asset/{id}/infer-contract"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.get("https://demo-api.gable.ai/v0/data-asset/{id}/infer-contract")
.header("X-API-KEY", "<api-key>")
.asString();
require 'uri'
require 'net/http'
url = URI("https://demo-api.gable.ai/v0/data-asset/{id}/infer-contract")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body
200
400
500
{
"contractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contractSpec": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"doc": "<string>",
"name": "<string>",
"namespace": "<string>",
"owner": "jsmith@example.com",
"schema": [
{
"type": "struct",
"name": "<string>",
"fields": [
{
"type": "struct",
"name": "<string>",
"fields": "<array>",
"alias": "<string>",
"doc": "<string>",
"logical": "<string>",
"optional": true
}
],
"alias": "<string>",
"doc": "<string>",
"logical": "<string>",
"optional": true,
"constraints": {}
}
],
"dataAssetResourceName": "<string>",
"dataAssetResourceNameList": [
"<string>"
],
"restrictPii": true
},
"contractSpecRaw": "<string>",
"version": "<string>",
"gitHash": "<string>",
"gitRepo": "<string>",
"gitUser": "<string>",
"fileUri": "<string>",
"reviewers": [
"<string>"
],
"mergedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
{
"message": "<string>",
"id": 123,
"title": "<string>"
}
{
"message": "<string>",
"id": 123,
"title": "<string>"
}
Authorizations
X-API-KEY
string
header
required
Path Parameters
id
string
required
UUID of the data asset
Response
200
application/json
Contract was successfully inferred from the given data asset
contractId
string
required
Unique identifier for the contract in UUID format
contractSpec
object
required
contract spec
contractSpecRaw
string
required
contract spec raw json
version
string
Version of the contract (semantic versioning)
status
enum
status of the contract
Available options:
ACTIVE,
DEPRECATED
gitHash
string
full length git hash corresponding to the commit this contract was added/updated
Required string length: 40
gitRepo
string
full link to the git repo this contract lives in
gitUser
string
git user who added/updated this contract
fileUri
string
full link to the file in the repo that contains this contract
reviewers
string[]
optional list of users who reviewed the merged PR that this contract added/updated in
mergedAt
string
date time at which the PR that added/updated this contract was merged
createdAt
string
date time at which the contract was created
updatedAt
string
date time at which the contract was last updated