EmailmoversMyDataHub docs
Browse the docs

Reference / REST reference

Reference

Get a dataset version changelog

GET /v1/datasets/{dataset}/versions/{version}. What changed in one immutable weekly build: records added, retired and re-verified, companies dissolved, job changes confirmed, suppressions applied, coverage by field and the input snapshots.

Generated from the contractsView as Markdown

GET /v1/datasets/{dataset}/versions/{version}

What changed in one immutable weekly build: records added, retired and re-verified, companies dissolved, job changes confirmed, suppressions applied, coverage by field and the input snapshots.

PropertyValue
EndpointGET https://mydatahub.emailmovers.com/v1/datasets/{dataset}/versions/{version}
Operation idgetDatasetVersion
CostFree (0 credits)
AccessNo account, key or token needed.
TagCatalogue

Request

Parameters

NameInTypeRequiredDescription
datasetpathenum: uk_contacts, ie_contacts, global_contactsyesThe dataset an audience draws from. uk_contacts is live; ie_contacts and global_contacts are listed but not yet served.
versionpathstringyesThe immutable weekly build a count is bound to, such as 2026-W39. The last 52 stay queryable.
MyDataHub-VersionheaderstringnoThe dated API version, pinned per key when left out. Non-breaking changes ship as new dates; the path major changes only for breaking changes, with a 12 month deprecation window.

Example request

curl "https://mydatahub.emailmovers.com/v1/datasets/uk_contacts/versions/2026-W39"

Responses

200: The version's changelog.

Headers: RateLimit, RateLimit-Policy.

MemberTypeAlways presentDescription
datasetenum: uk_contacts, ie_contacts, global_contactsyesThe dataset an audience draws from. uk_contacts is live; ie_contacts and global_contacts are listed but not yet served.
versionstringyesThe immutable weekly build a count is bound to, such as 2026-W39. The last 52 stay queryable.
built_atstring (date-time)yes
checksumstringyesSHA-256 over the version's files.
row_countsobjectyes
row_counts.companiesinteger (0 or more)yes
row_counts.sitesinteger (0 or more)yes
row_counts.contactsinteger (0 or more)yes
row_counts.emailsinteger (0 or more)yes
row_counts.phonesinteger (0 or more)yes
changesobjectyes
changes.records_addedinteger (0 or more)yes
changes.records_retiredinteger (0 or more)yes
changes.records_reverifiedinteger (0 or more)yes
changes.companies_dissolvedinteger (0 or more)yes
changes.job_changes_confirmedinteger (0 or more)yes
changes.suppressions_appliedinteger (0 or more)yes
coverage_pctmap of number (0 to 100)yesShare of contacts holding each field, such as named_email.
input_snapshotsarray of objectyes
input_snapshots[].sourcestringyes
input_snapshots[].as_ofstring (date)yes

Example response

{
  "dataset": "uk_contacts",
  "version": "2026-W39",
  "built_at": "2026-09-21T04:00:00Z",
  "checksum": "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9",
  "row_counts": {
    "companies": 5689369,
    "sites": 3232415,
    "contacts": 9028587,
    "emails": 1660190,
    "phones": 1210000
  },
  "changes": {
    "records_added": 4120,
    "records_retired": 1870,
    "records_reverified": 118400,
    "companies_dissolved": 15130,
    "job_changes_confirmed": 210,
    "suppressions_applied": 96
  },
  "coverage_pct": {
    "named_email": 17.8,
    "email": 18.4
  },
  "input_snapshots": [
    {
      "source": "companies_house",
      "as_of": "2026-09-01"
    },
    {
      "source": "onspd",
      "as_of": "2026-08-01"
    }
  ]
}

Errors

Every error is a problem object with a code and a next_step. Every response carries the RateLimit and RateLimit-Policy headers; see Rate limits.

StatusProblem codesWhen
400invalid-request, idempotency-key-required, unsupported-versionThe request could not be read, or an Idempotency-Key is missing.
404not-foundNo such object for this organisation.
429rate-limitedToo many requests. Wait for Retry-After.
Any other failureinternal-error, service-unavailable, tps-screen-expiredSomething failed on our side (500 internal-error) or the service is briefly unavailable (503 service-unavailable, with Retry-After). Nothing was charged; retry with the same Idempotency-Key. A count, sample, quote or order with telephone in play is also refused with 503 tps-screen-expired, with no Retry-After, while the dataset version's TPS and CTPS screen is more than 28 days old.