Company Diff API: Track What Changed Since Your Last Review
Company Diff API: Track What Changed Since Your Last Review
Compliance reviews are only as good as your ability to detect what changed since the last one. Did the company replace its directors? Reduce its capital? Change its auditor? Until now, answering these questions meant pulling a full company profile and comparing it manually against your records.
The new VynCo /diff endpoint eliminates that work. Give it a company UID and a date, and it returns a structured, field-by-field changelog of everything that changed.
The Endpoint
GET https://vynco.ch/api/v1/companies/{uid}/diff?since=2025-01-01
Authorization: Bearer <your-api-key>
The since parameter accepts any ISO 8601 date. The response includes every field that changed between that date and today.
Example Response
{
"uid": "CHE-123.456.789",
"company_name": "Beispiel AG",
"since": "2025-01-01",
"until": "2026-04-13",
"changes": [
{
"field": "capital",
"previous": 100000,
"current": 250000,
"changed_at": "2025-06-15",
"sogc_publication": "HR02-1234567"
},
{
"field": "purpose",
"previous": "Handel mit Waren aller Art",
"current": "Handel mit Waren aller Art und Erbringung von Beratungsdienstleistungen",
"changed_at": "2025-09-01",
"sogc_publication": "HR02-1234890"
},
{
"field": "persons",
"added": [
{"name": "Maria Müller", "function": "Direktorin", "signing_authority": "Kollektivunterschrift zu zweien"}
],
"removed": [
{"name": "Hans Schmidt", "function": "Direktor", "signing_authority": "Einzelunterschrift"}
],
"changed_at": "2025-11-20",
"sogc_publication": "HR02-1235012"
},
{
"field": "auditor",
"previous": "KPMG AG",
"current": "BDO AG",
"changed_at": "2026-01-10",
"sogc_publication": "HR02-1235200"
}
],
"total_changes": 4
}
Every change includes the SOGC publication reference, so you can trace it back to the official source.
Python SDK Usage
The SDK wraps this endpoint with a clean interface.
from vynco import VynCo
from datetime import date, timedelta
client = VynCo(api_key="your-key")
# What changed in the last 90 days?
since = date.today() - timedelta(days=90)
diff = client.companies.diff(uid="CHE-123.456.789", since=since)
print(f"{diff.company_name}: {diff.total_changes} changes since {since}")
for change in diff.changes:
print(f" [{change.changed_at}] {change.field}")
if hasattr(change, 'previous'):
print(f" {change.previous} -> {change.current}")
if hasattr(change, 'added'):
for person in change.added:
print(f" + {person.name} ({person.function})")
if hasattr(change, 'removed'):
for person in change.removed:
print(f" - {person.name} ({person.function})")
Batch Diff for Portfolio Monitoring
Monitoring a portfolio of companies? Use the batch variant to check all of them at once.
uids = ["CHE-100.000.001", "CHE-100.000.002", "CHE-100.000.003"]
since = date.today() - timedelta(days=30)
for uid in uids:
diff = client.companies.diff(uid=uid, since=since)
if diff.total_changes > 0:
print(f"{diff.company_name}: {diff.total_changes} changes")
for change in diff.changes:
print(f" {change.field} changed on {change.changed_at}")
else:
print(f"{diff.company_name}: no changes")
Use Cases
Periodic Compliance Review
Run a diff before each quarterly review. Instead of re-reading the entire profile, focus only on what changed. This cuts review time from minutes to seconds per entity.
Portfolio Monitoring
Asset managers and credit officers can run a daily or weekly diff across their entire book. Any company with changes gets flagged for human review.
Audit Trail
The diff response serves as a lightweight audit trail. Each change is timestamped and linked to the official SOGC publication. Store the diff responses and you have a complete change history.
Regulatory Reporting
If you need to report material changes in your counterparties to a regulator, the diff endpoint gives you exactly the data you need in a structured format ready for downstream processing.
Fields Tracked
The diff endpoint tracks changes across all major company fields:
- Company name and translations
- Registered address
- Purpose / business activity
- Capital (amount and currency)
- Persons (directors, officers, authorized signatories)
- Auditor
- Legal form
- Status (active, in liquidation, deleted)
- SOGC publications
Stop manually comparing company profiles. Start your free trial and let the diff API tell you exactly what changed.