Skip to main content
GET
/
v0
/
contract
/
data-asset
/
{id}
Get the contract by data asset name
curl --request GET \
  --url https://{hostname}.gable.ai/v0/contract/data-asset/{id} \
  --header 'X-API-KEY: <api-key>'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "ACTIVE",
  "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": "[email protected]",
    "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",
      "violationType": "MISSING_REQUIRED_PROPERTY",
      "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": {}
}

Authorizations

X-API-KEY
string
header
required

Path Parameters

id
string
required

asset name of data contract

Query Parameters

status
string

The status of the contract

Response

Successful response containing the contract by asset name

id
string<uuid>
required

Unique identifier for the contract in UUID format

status
enum<string>
required

status of the contract

Available options:
ACTIVE,
DEPRECATED,
DRAFT,
ARCHIVED
createdAt
string<date-time>
required

date time at which the contract was created

updatedAt
string<date-time>
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<uuid>

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

full link to the git repo this contract lives in

gitUser
string

git user who added/updated this contract

fileUri
string<uri>

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>

date time at which the PR that added/updated this contract was merged

enforcementLevel
enum<string>
default:INACTIVE

alert level for contract

Available options:
RECORD,
NOTIFY,
ALERT,
BLOCK,
INACTIVE
lastEditorUserId
string<uuid> | 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