Skip to main content
GET
https://sandbox.getcollate.io/api
/
v1
/
dataContracts
/
{id}
/
versions
GET /v1/dataContracts/{id}/versions
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 versions
versions = DataContracts.list_versions("f7a1b2c3-d4e5-6789-0abc-def123456789")
for v in versions:
    print(f"v{v.version}: {v.updatedBy} at {v.updatedAt}")

# Get specific version
contract_v1 = DataContracts.get_version(
    "f7a1b2c3-d4e5-6789-0abc-def123456789",
    "0.1"
)
{
  "entityType": "dataContract",
  "versions": [
    "{\"id\":\"f7a1b2c3-d4e5-6789-0abc-def123456789\",\"name\":\"sales-orders-contract\",\"version\":0.2,\"entityStatus\":\"Active\"}",
    "{\"id\":\"f7a1b2c3-d4e5-6789-0abc-def123456789\",\"name\":\"sales-orders-contract\",\"version\":0.1,\"entityStatus\":\"Draft\"}"
  ]
}

Data Contract Versions

Every change to a data contract creates a new version. Use the versions API to list all versions and retrieve a specific version.

List Versions

id
string
required
UUID of the data contract.

Get Specific Version

Use GET /v1/dataContracts/{id}/versions/{version} to retrieve a specific version.
version
string
required
Version number in major.minor format (e.g., 0.1, 0.2, 1.0).
GET /v1/dataContracts/{id}/versions
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 versions
versions = DataContracts.list_versions("f7a1b2c3-d4e5-6789-0abc-def123456789")
for v in versions:
    print(f"v{v.version}: {v.updatedBy} at {v.updatedAt}")

# Get specific version
contract_v1 = DataContracts.get_version(
    "f7a1b2c3-d4e5-6789-0abc-def123456789",
    "0.1"
)
{
  "entityType": "dataContract",
  "versions": [
    "{\"id\":\"f7a1b2c3-d4e5-6789-0abc-def123456789\",\"name\":\"sales-orders-contract\",\"version\":0.2,\"entityStatus\":\"Active\"}",
    "{\"id\":\"f7a1b2c3-d4e5-6789-0abc-def123456789\",\"name\":\"sales-orders-contract\",\"version\":0.1,\"entityStatus\":\"Draft\"}"
  ]
}

Version Numbering

Change TypeVersion ImpactExample
Minor field updates (description, display name)Minor bump (0.10.2)Update description
Major structural changes (status, schema, entity)Major bump (0.21.0)Change status to Active

Error Handling

CodeError TypeDescription
401UNAUTHORIZEDInvalid or missing authentication token
403FORBIDDENUser lacks permission
404NOT_FOUNDData contract or version not found