Skip to content

Commit 1832eaa

Browse files
committed
IDEV-2478: Add domain_history in python wrapper.
1 parent b0341cd commit 1832eaa

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

domaintools/api.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,57 @@ def domain_profile(self, query, **kwargs):
275275
"""Returns a profile for the specified domain name"""
276276
return self._results("domain-profile", "/v1/{0}".format(query))
277277

278+
def domain_history(
279+
self,
280+
query,
281+
include_fields=None,
282+
exclude_fields=None,
283+
page_size=None,
284+
offset=None,
285+
next=None,
286+
parsed_whois=None,
287+
parsed_domain_rdap=None,
288+
**kwargs,
289+
):
290+
"""Returns the history of changes for a given domain name.
291+
292+
Results are returned in reverse chronological order. Each change event includes
293+
a timestamp, the field that changed, and the complete before/after domain state.
294+
295+
Args:
296+
query: The apex domain name to retrieve history for (e.g. "domaintools.com").
297+
include_fields: Comma-separated list of exact field names. Only change events
298+
matching these fields appear in results. Cannot be combined with
299+
exclude_fields. Supports aggregate prefixes (e.g. "all_ssl", "all_ip").
300+
Example: "ip,registrar,all_ssl"
301+
exclude_fields: Comma-separated list of exact field names. Change events
302+
matching these fields are omitted. Cannot be combined with include_fields.
303+
Example: "all_web_trackers,all_ssl"
304+
page_size: Number of change events per page. Maximum and default is 100.
305+
offset: 0-indexed starting point for pagination. Increment by page_size for
306+
each subsequent page.
307+
next: When True, includes a next URL in the response for cursor-based
308+
pagination. Auth parameters must still be included when following it.
309+
parsed_whois: When True, includes the full parsed WHOIS record in the
310+
before/after objects of each change event.
311+
parsed_domain_rdap: When True, includes the full parsed Domain RDAP record
312+
in the before/after objects of each change event.
313+
"""
314+
return self._results(
315+
"domain-history",
316+
"/v1/domain-history",
317+
domain=query,
318+
include_fields=include_fields,
319+
exclude_fields=exclude_fields,
320+
page_size=page_size,
321+
offset=offset,
322+
next=next,
323+
parsed_whois=parsed_whois,
324+
parsed_domain_rdap=parsed_domain_rdap,
325+
items_path=("changes",),
326+
**kwargs,
327+
)
328+
278329
def domain_search(
279330
self,
280331
query,

0 commit comments

Comments
 (0)