Skip to main content
GET
https://sandbox.getcollate.io/api
/
v1
/
dataContracts
GET /v1/dataContracts
from metadata.sdk import configure
from metadata.sdk.entities import DataContracts

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# List all active contracts
contracts = DataContracts.list(params={"status": "Active"})
for c in contracts.data:
    print(f"{c.fullyQualifiedName} ({c.entityStatus})")

# List contracts for a specific entity
contracts = DataContracts.list(params={
    "entity": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
})
{
  "data": [
    {
      "id": "f7a1b2c3-d4e5-6789-0abc-def123456789",
      "name": "sales-orders-contract",
      "fullyQualifiedName": "sales-orders-contract",
      "entityStatus": "Active",
      "entity": {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "type": "table",
        "name": "sales_orders",
        "fullyQualifiedName": "sample_data.ecommerce_db.shopify.sales_orders"
      },
      "version": 0.1,
      "updatedAt": 1769982800000,
      "updatedBy": "admin"
    }
  ],
  "paging": {
    "total": 1
  }
}

List Data Contracts

Retrieve a paginated list of data contracts, optionally filtered by status or entity.

Query Parameters

fields
string
Comma-separated list of fields to include. Options: owners, reviewers, extension.
limit
integer
default:"10"
Maximum number of contracts to return (0–1,000,000).
before
string
Cursor for backward pagination. Returns contracts before this cursor.
after
string
Cursor for forward pagination. Returns contracts after this cursor.
include
string
default:"non-deleted"
Filter by deletion status: all, deleted, or non-deleted.
status
string
Filter by contract status: Draft, Active, or Deprecated.
entity
string
Filter by entity UUID. Returns only contracts attached to the specified entity.
GET /v1/dataContracts
from metadata.sdk import configure
from metadata.sdk.entities import DataContracts

configure(
    host="https://your-company.getcollate.io/api",
    jwt_token="your-jwt-token"
)

# List all active contracts
contracts = DataContracts.list(params={"status": "Active"})
for c in contracts.data:
    print(f"{c.fullyQualifiedName} ({c.entityStatus})")

# List contracts for a specific entity
contracts = DataContracts.list(params={
    "entity": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
})
{
  "data": [
    {
      "id": "f7a1b2c3-d4e5-6789-0abc-def123456789",
      "name": "sales-orders-contract",
      "fullyQualifiedName": "sales-orders-contract",
      "entityStatus": "Active",
      "entity": {
        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "type": "table",
        "name": "sales_orders",
        "fullyQualifiedName": "sample_data.ecommerce_db.shopify.sales_orders"
      },
      "version": 0.1,
      "updatedAt": 1769982800000,
      "updatedBy": "admin"
    }
  ],
  "paging": {
    "total": 1
  }
}

Response

data
array
Array of data contract objects.
paging
object
Pagination information.

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission to list data contracts