# CDN.MN Domains > A timestamped domain-membership pre-check for registrars, registry operators, > domain investors and AI-tool developers: consult an approved index of DNS-zone > observations and participating registries' registered-name data before > deciding whether to send a live lookup to a registry. It is not a registry, a > registration checkout, or a live availability service. Status: private access by request. There is no public endpoint, API key, dataset or download today. Access is requested from a CDN.MN account (https://app.cdn.mn/app/domains): the short form, confirmed with an email sign-in code — or by email: domains@cdn.mn. ## Start here - [Integration guide](https://domains.cdn.mn/agents.md): scope, the access process, result states, timestamp semantics, normalization, batching and limits — read this first. - [Illustrative API contract](https://domains.cdn.mn/api-contract.example.json): example request and responses ("example": true). Illustrative only: final endpoints and fields are confirmed during onboarding. Not an OpenAPI document, not a live service. - [Overview page](https://domains.cdn.mn/): the human-readable explanation, with an interactive example that is not a live domain lookup. ## Result states - `taken` — Taken in snapshot: Exact source membership, or a strong full-length hash match, supports a historical observation. Next step: The caller may use its caching policy to deprioritize the name; recheck when current availability matters. - `possibly_taken` — Possible match: A Bloom filter reports possible membership; there is no independent exact confirmation. Next step: Confirm before making a definitive taken/unavailable claim. - `not_in_snapshot` — Not found in this snapshot: No match in the specified usable dataset. Next step: Check the authoritative registry; this is not an availability guarantee. - `unknown` — No usable coverage: The dataset is missing, unusable, incompatible, unauthorized, or its scope does not cover this query. Next step: Use the caller's normal authorized registry workflow. Freshness is separate from the state: `fresh`, `stale` or `unknown`, computed from the source snapshot time against a documented policy — never from the service being reachable. `current_availability` is always `not_checked`. Decoding rule: evidence names the kind of source, not certainty: certainty comes from state and match_method, so registry_registered with match_method bloom is a possible match only. ## Timestamps - `as_of`: the source snapshot time (ISO 8601, UTC), or null when unknown. A receipt or response time is never substituted for it. - `ingested_at`: when CDN.MN ingested that snapshot. - `checked_at`: when the check ran. ## Proposed, not operational - `POST /api/v1/check` — a proposed, illustrative batch check route; it does not exist yet. - Approved hashed-list and Bloom-file downloads — offered by request after each source's permitted use is reviewed; no public file exists. ## Contact domains@cdn.mn — describe your organization, use case, target TLDs and expected volume. Do not email source files or credentials.