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)

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 | null

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.