Get all contracts - 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/contracts
Try it
Get all contracts
cURL
curl --request GET \
--url https://demo-api.gable.ai/v0/contracts \
--header 'X-API-KEY: <api-key>'
import requests
url = "https://demo-api.gable.ai/v0/contracts"
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/contracts', 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/contracts",\
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/contracts"
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/contracts")
.header("X-API-KEY", "<api-key>")
.asString();
require 'uri'
require 'net/http'
url = URI("https://demo-api.gable.ai/v0/contracts")
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
[\
{\
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",\
"createdAt": "2023-11-07T05:31:56Z",\
"updatedAt": "2023-11-07T05:31:56Z",\
"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>",\
"violations": [\
{\
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",\
"timestamp": "2023-11-07T05:31:56Z",\
"contractId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",\
"contractVersion": "<string>",\
"contractFieldName": "<string>",\
"entityType": "DATA_CONTRACT",\
"dataAssetResourceName": "<string>",\
"expectedValue": "<string>",\
"actualValue": "<string>",\
"eventTitle": "<string>",\
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",\
"contractName": "<string>",\
"contractDomain": "<string>",\
"dataAssetFieldProfileId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",\
"eventType": "VIOLATION",\
"prLink": "<string>"\
}\
],\
"parentRowId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",\
"version": "<string>",\
"gitHash": "<string>",\
"gitRepo": "<string>",\
"gitUser": "<string>",\
"fileUri": "<string>",\
"filePath": "<string>",\
"reviewers": [\
"<string>"\
],\
"mergedAt": "2023-11-07T05:31:56Z",\
"enforcementLevel": "INACTIVE",\
"lastEditorUserId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",\
"lastEditorEmail": "<string>",\
"lastEditorFirstName": "<string>",\
"lastEditorLastName": "<string>",\
"lastEditorGithubHandle": "<string>",\
"contractSpecFieldToViolationStatusMapping": {}\
}\
]
{
"message": "<string>",
"id": 123,
"title": "<string>"
}
{
"message": "<string>",
"id": 123,
"title": "<string>"
}
Authorizations
X-API-KEY
string
header
required
Query Parameters
resourcesLocation
string
Location of the data assets resources (e.g. '{host}:{port}.{database}.{schema}' for database resources)
sourceType
enum
Source type of the data assets (e.g. 'postgres', 'mysql', 'avro', 'protobuf', 'json_schema', etc.) The type of the source data asset, indicating its source or format (e.g., postgres, protobuf).
Available options:
postgres,
mysql,
mssql,
json_schema,
avro,
protobuf,
python,
pyspark,
typescript,
java,
s3,
dataframe,
kotlin,
swift,
php,
golang
limit
integer
The limit used for offset-based pagination
offset
integer
The offset used for offset-based pagination
status
string
The status of the contract
Response
200
application/json
All data contracts (filtered by query parameters if provided)
object[]
object
id
string
required
Unique identifier for the contract in UUID format
status
enum
required
status of the contract
Available options:
ACTIVE,
DEPRECATED,
DRAFT,
ARCHIVED
createdAt
string
required
date time at which the contract was created
updatedAt
string
required
date time at which the contract was last updated
contractSpec
object
required
contract spec
contractSpecRaw
string
required
contract spec raw json
violations
object[]
required
List of contract violations
parentRowId
string
Unique identifier for a contract's parent row id in UUID format
version
string
Version of the contract (semantic versioning)
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
filePath
string
path to the contract file from the root of the git repository
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
enforcementLevel
enum
default:INACTIVE
alert level for contract
Available options:
RECORD,
NOTIFY,
ALERT,
BLOCK,
INACTIVE
lastEditorUserId
string
Unique identifier for the user who last edited the contract through the UI
lastEditorEmail
string | null
Email of the user who last edited the contract through the UI
lastEditorFirstName
string | null
First name of the user who last edited the contract through the UI
lastEditorLastName
string | null
Last name of the user who last edited the contract through the UI
lastEditorGithubHandle
string | null
GitHub handle of the user who last edited the contract through the UI
contractSpecFieldToViolationStatusMapping
object
Mapping of contract spec fields to a list of the violations currently applicable to them.