Models
All service methods return DomainrobotResponse where data contains typed model instances. Every model extends Model and captures unknown API fields in extra.
result = client.domain.info("example.com")
domain = result.data[0]
# Typed attributes with IDE autocompletion
print(domain.name) # "example.com"
print(domain.registryStatus) # "ACTIVE"
print(domain.expire) # "2026-01-01T00:00:00.000+0000"
# Unknown/new fields preserved
print(domain.extra) # {"someFutureField": "value"}
Base
Resource models
- class domainrobot.models.resources.Domain(extra=<factory>, name=None, idn=None, ownerc=None, adminc=None, techc=None, zonec=None, nameServers=None, nameServerEntries=None, period=None, registryStatus=None, registrarStatus=None, autoRenewStatus=None, cancelationStatus=None, dnssec=None, autoDnssec=None, dnssecData=None, privacy=None, trustee=None, domainsafe=None, parking=None, authinfo=None, authinfoExpire=None, expire=None, payable=None, action=None, comment=None, priceClass=None, priceClassRenew=None, nicMemberLabel=None, domainCreated=None, created=None, updated=None, owner=None, updater=None)[source]
A domain object.
- Parameters:
name (str | None)
idn (str | None)
registryStatus (str | None)
registrarStatus (str | None)
autoRenewStatus (str | None)
cancelationStatus (str | None)
dnssec (bool | None)
autoDnssec (bool | None)
privacy (bool | None)
trustee (bool | None)
domainsafe (bool | None)
parking (str | None)
authinfo (str | None)
authinfoExpire (datetime | None)
expire (datetime | None)
payable (datetime | None)
action (str | None)
comment (str | None)
priceClass (str | None)
priceClassRenew (str | None)
nicMemberLabel (str | None)
domainCreated (datetime | None)
created (datetime | None)
updated (datetime | None)
- nameServerEntries: list[str] | None = None
NSentry is only be provided for .DE. If NSentry is used, nameServers is not allowed.
- autoDnssec: bool | None = None
Enables or disables automatic DNSSEC for certain name servers (e.g. NodeSecure).
- dnssecData: list[dict[str, Any]] | None = None
Submits the key material to the registry. If the list is empty, the key material is deleted at the registry. If the key is omitted during an update, the data is retained.
- class domainrobot.models.resources.DomainRestore(extra=<factory>, name=None, idn=None, deleted=None, restorePhaseEnd=None, expire=None, registryStatus=None, created=None, updated=None, owner=None, updater=None)[source]
A restorable domain object.
- Parameters:
- class domainrobot.models.resources.DomainCancelation(extra=<factory>, domain=None, type=None, execution=None, registryWhen=None, gainingRegistrar=None, disconnect=None, notice=None, registryStatus=None, status=None, created=None, updated=None, owner=None, updater=None)[source]
A domain cancelation object.
- Parameters:
- registryWhen: datetime | None = None
The date on which the registry should perform the domain cancelation. Only necessary when ExecutionType equals DATE.
- gainingRegistrar: str | None = None
The registrar to which the domain is to be transferred. Only possible with preack, for which it is required. accept_all = All registrars are accepted Designated registrar (e.g. DENIC-104). Ask the registry for the provider ID of your reseller. The transfer is then only possible to the selected registrar.
- class domainrobot.models.resources.Contact(extra=<factory>, id=None, type=None, alias=None, fname=None, lname=None, organization=None, title=None, address=None, pcode=None, city=None, state=None, country=None, email=None, phone=None, fax=None, sip=None, protection=None, domainsafe=None, comment=None, verification=None, extensions=None, created=None, updated=None, owner=None, updater=None)[source]
A domain contact object.
- Parameters:
id (int | None)
type (str | None)
alias (str | None)
fname (str | None)
lname (str | None)
organization (str | None)
title (str | None)
pcode (str | None)
city (str | None)
state (str | None)
country (str | None)
email (str | None)
phone (str | None)
fax (str | None)
sip (str | None)
protection (str | None)
domainsafe (bool | None)
comment (str | None)
verification (str | None)
created (datetime | None)
updated (datetime | None)
- alias: str | None = None
A string that is either automatically generated when an alias is not sent or a self-defined string that can be set by the user for the purpose of identifying the domain contact.
- address: list[str] | None = None
Street or post box. Depending on the registry, up to 65,536 characters may be possible.
- pcode: str | None = None
The postal code (“zip-code”) of the contact. For countries Canada, Norway, Poland and Spain the format of the postal code is checked for validity. Canada (ca): Six characters in the following format ‘LNL NLN’, where ‘L’ represents a letter and ‘N’ represents a number. Norway (co): Four characters between 0001 and 9990. Poland (pl): Consists of five digits, with a hyphen (‘-’) between the second and third digits. Spain (es): Consisting of exactly five digits. No letters or special characters, only numbers. Each of the five positions can be any digit from 0 to 9.
- country: str | None = None
Country (ISO 3166-1 alpha-2). Country Code. Certain strings, such as “Germany”, are mapped to DE.
- class domainrobot.models.resources.Certificate(extra=<factory>, id=None, name=None, product=None, certificateType=None, csr=None, server=None, serialNumber=None, signatureHashAlgorithm=None, expire=None, payable=None, lifetime=None, orderId=None, partnerOrderId=None, adminContact=None, technicalContact=None, authentication=None, certificationAuthority=None, subjectAlternativeNames=None, histories=None, software=None, comment=None, certificateTransparency=None, domain=None, created=None, updated=None, owner=None, updater=None)[source]
An SSL certificate object.
- Parameters:
id (int | None)
name (str | None)
product (str | None)
certificateType (str | None)
csr (str | None)
server (str | None)
serialNumber (str | None)
signatureHashAlgorithm (str | None)
expire (datetime | None)
payable (datetime | None)
orderId (str | None)
partnerOrderId (str | None)
software (str | None)
comment (str | None)
certificateTransparency (bool | None)
domain (str | None)
created (datetime | None)
updated (datetime | None)
- payable: datetime | None = None
The payable date for the certificate. Indicates when a runtime renewal must take place.
- histories: list[dict[str, Any]] | None = None
The history of the certificate (old certificate versions)
- software: str | None = None
The webserver software in use, relevant values: ‘II5’ for Mircosoft, ‘APACHE2’ for Linux
- comment: str | None = None
A custom field. Can only be updated via PUT /certificate/{id}/_comment. Requires appropriate ACLs.
- class domainrobot.models.resources.CertificateData(extra=<factory>, plain=None, name=None, keySize=None, countryCode=None, state=None, city=None, organization=None, organizationUnit=None, email=None, product=None, authentication=None, algorithm=None, signatureHashAlgorithm=None, subjectAlternativeNames=None, certificate=None)[source]
Certificate preparation data (from prepareOrder).
- Parameters:
- class domainrobot.models.resources.SslContact(extra=<factory>, id=None, fname=None, lname=None, organization=None, title=None, address=None, pcode=None, city=None, state=None, country=None, email=None, phone=None, fax=None, extensions=None, created=None, updated=None, owner=None, updater=None)[source]
An SSL contact object.
- class domainrobot.models.resources.Zone(extra=<factory>, origin=None, idn=None, virtualNameServer=None, soa=None, main=None, resourceRecords=None, nameServers=None, nameServerGroup=None, dnssec=None, allowTransfer=None, domainsafe=None, comment=None, action=None, grants=None, created=None, updated=None, owner=None, updater=None)[source]
A DNS zone object.
- Parameters:
- main: dict[str, Any] | None = None
Main IP address of the zone. Required for ns_action “primary” and “complete”.
- comment: str | None = None
A custom field. Can only be updated via PUT /zone/{name}/{nameserver}/_comment. Requires appropriate ACLs.
- class domainrobot.models.resources.Job(extra=<factory>, id=None, status=None, subStatus=None, action=None, subType=None, execution=None, events=None, created=None, updated=None, owner=None, updater=None)[source]
An asynchronous job object.
Many operations (domain create, transfer, certificate order) are asynchronous and return a Job instead of the final resource.
- class domainrobot.models.resources.ObjectJob(extra=<factory>, job=None, object=None, authentication=None, niccomLogs=None)[source]
A job with its related object (from job info/list).
- Parameters:
- class domainrobot.models.resources.PollMessage(extra=<factory>, id=None, stid=None, ctid=None, job=None, notify=None, messages=None, flags=None, notice=None, object=None, owner=None, created=None)[source]
A poll message object.
- Parameters:
- notify: dict[str, Any] | None = None
The notification data. Available if the message is a notification message
- class domainrobot.models.resources.User(extra=<factory>, user=None, context=None, defaultEmail=None, status=None, substatus=None, authType=None, language=None, details=None, lock=None, parent=None, directCustomer=None, customer=None, acls=None, profiles=None, subscriptions=None, nameServerGroups=None, created=None, updated=None)[source]
A user object.
- Parameters:
- language: str | None = None
The language for the user. The setting affects the user interface language and system messages. Possible values: de en es.
- class domainrobot.models.resources.TransferOut(extra=<factory>, domain=None, gainingRegistrar=None, loosingRegistrar=None, start=None, reminder=None, autoAck=None, autoNack=None, end=None, autoAnswer=None, recipient=None, type=None, nackReason=None, transaction=None, created=None, updated=None, owner=None, updater=None)[source]
A transfer-out request object.
- Parameters:
domain (str | None)
gainingRegistrar (str | None)
loosingRegistrar (str | None)
start (datetime | None)
reminder (datetime | None)
autoAck (datetime | None)
autoNack (datetime | None)
end (datetime | None)
autoAnswer (bool | None)
recipient (str | None)
type (str | None)
nackReason (int | None)
transaction (str | None)
created (datetime | None)
updated (datetime | None)
- class domainrobot.models.resources.Account(extra=<factory>, currentAccountBalance=None, runningTotal=None, creditLimit=None, currency=None, minRunningTotalNotification=None, minRunningTotalNotificationEmail=None, customer=None, created=None, updated=None)[source]
A customer account object.
- Parameters:
- runningTotal: float | None = None
The current total, the amount of all finished and unfinished transactions.
- minRunningTotalNotification: float | None = None
The minimum account balance at which a notification should be sent.
- class domainrobot.models.resources.BackupMx(extra=<factory>, domain=None, idn=None, created=None, updated=None, owner=None, updater=None)[source]
A BackupMX record object.
- Parameters:
- class domainrobot.models.resources.MailProxy(extra=<factory>, domain=None, idn=None, target=None, admin=None, protection=None, greylisting=None, virus=None, bannedFiles=None, header=None, spam=None, whitelist=None, blacklist=None, excludelist=None, created=None, updated=None, owner=None, updater=None)[source]
A mail proxy object.
- Parameters:
- target: str | None = None
Mail server to which the MailProxy should forward the emails. Note that the MX record of your mail server must be removed from the zone.
- greylisting: str | None = None
If greylisting is activated, the first email from an unknown sender is rejected at first. Mails from this sender will only be accepted after a further delayed delivery attempt.
- virus: str | None = None
Defines whether to check for viruses and how to deal with detected viruses.
- bannedFiles: str | None = None
Defines whether files should be checked and how banned files should be avoided.
- header: str | None = None
Defines whether headers are to be checked and how banned headers are to be handled.
- whitelist: dict[str, Any] | None = None
Define email addresses whose mails should be trusted and never marked as spam.
- blacklist: dict[str, Any] | None = None
Specification of email addresses whose mails are always to be marked as spam.
- class domainrobot.models.resources.Redirect(extra=<factory>, source=None, target=None, type=None, mode=None, domain=None, title=None, backups=None, sourceIdn=None, targetIdn=None, created=None, updated=None, owner=None, updater=None)[source]
A redirect object.
- Parameters:
- title: str | None = None
Only for the ‘frame’ mode. Page title to be displayed in the browser title bar.
- backups: list[str] | None = None
Backup destinations for the redirects. If the first destination cannot be reached, the domain is automatically redirected to the substitute destination (domain redirection, frame redirect).
- sourceIdn: str | None = None
The IDN version of the domain name. Domains can be entered with or without “www”.
- class domainrobot.models.resources.Subscription(extra=<factory>, id=None, status=None, object=None, description=None, articleLabel=None, articleTypeLabel=None, period=None, expire=None, payable=None, cancelation=None, canceled=None, cancelationTerm=None, businessCase=None, item=None, created=None, updated=None, owner=None, updater=None)[source]
A subscription contract object.
- Parameters:
id (int | None)
status (str | None)
object (str | None)
description (str | None)
articleLabel (str | None)
articleTypeLabel (str | None)
expire (datetime | None)
payable (datetime | None)
cancelation (datetime | None)
canceled (datetime | None)
businessCase (str | None)
created (datetime | None)
updated (datetime | None)