Gandi

Table Of Contents

Previous topic

Domain API

Next topic

Gandi Contact API

Domain API Reference

Methods

domain.available(apikey, domains[, opts=nil])

Check the availability of some domains.

Changed in version 3.1.9: add opts parameter

Note

If a language is specified in opts parameter, it will be for all IDN domains in the list

Note

The size of the struct returned by this methods is the same as the number of domains.

Parameters:
  • apikey (string) – API connection key
  • domains (array) – List of domain names
  • opts (struct) – Options for search
Returns:

struct – Name of domains associated to a status

domain.count(apikey[, opts=nil])

Count domains associated to the contact represented by apikey.

Parameters:
Returns:

int – Number of domains

domain.create(apikey, domain, params)

Create a domain.

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation domain_create

domain.info(apikey, domain)

Get domain information.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – Domain information

domain.list(apikey[, opts=nil])

List domains associated to the contact represented by apikey.

Parameters:
Returns:

list of struct – Domain information

domain.release(apikey, domain)

Release a domain from a reseller account

Note

Only resellers can use this method. It will have no effect for other kind of accounts.

New in version 3.2.10.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

boolean – True if the operation succeeded

domain.renew(apikey, domain, params)

Renew a domain.

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation domain_renew

domain.restore(apikey, domain, params)

Restore a domain.

New in version 3.1.6.

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation domain_restore

domain.owner.set(apikey, domain, params)

Define the new owner of a domain and with him/her the ‘admin’, ‘tech’ and ‘bill’ contacts.

A special method is needed for this action because special rules may apply regarding of the tld.

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation change_owner

domain.contacts.set(apikey, domain, params)

Set the contacts of a domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Contacts
Returns:

struct – Operation domain_contact_change

domain.webredir.count(apikey, domain[, opts=nil])

Count redirections associated to the given domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

int – Number of redirections

domain.webredir.create(apikey, domain, params)

Create a web redirection.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Redirection information

domain.webredir.delete(apikey, domain, host)

Delete a web redirection.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • host (string) – Redirection
Returns:

boolean – 1

domain.webredir.list(apikey, domain[, opts=nil])

List redirections associated to the given domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

struct – List of redirections

domain.webredir.update(apikey, domain, host, params)

Update a web redirection.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • host (struct) – Redirection
  • params (struct) – Parameters
Returns:

struct – Redirection information

domain.status.lock(apikey, domain)

Lock a domain.

Set the clientTransferProhibited status value.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – Operation domain_status_update

domain.status.unlock(apikey, domain)

Unlock a domain.

Unset the clientTransferProhibited status value.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – Operation domain_status_update

domain.host.count(apikey, domain[, opts=nil])

Count glue records associated to the given domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

int – Number of glue records

domain.host.create(apikey, fqdn, ips)

Create a glue record

Parameters:
  • apikey (string) – API connection key
  • fqdn (string) – full name for the glue record (eg: ns.domain.net)
  • ips (array) – List of IP addresses
Returns:

struct – Operation host_create

domain.host.delete(apikey, fqdn)

Delete a glue record

Note

it’s impossible to delete a host that is still linked to its domain (immediate error) … or any other domain at the same registry (the operation will fail)

Parameters:
  • apikey (string) – API connection key
  • fqdn (string) – full name for the glue record (eg: ns.domain.net)
Returns:

struct – Operation host_delete

domain.host.info(apikey, fqdn)

Get glue record information.

Parameters:
  • apikey (string) – API connection key
  • fqdn (string) – full name for the glue record (eg: ns.domain.net)
Returns:

struct – Glue record information

domain.host.list(apikey, domain[, opts=nil])

List glue records associated to the given domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

list of struct – Glue records

domain.host.update(apikey, fqdn, ips)

Update a glue record

Parameters:
  • apikey (string) – API connection key
  • fqdn (string) – full name for the glue record (eg: ns.domain.net)
  • ips (array) – List of IP addresses
Returns:

struct – Operation host_update_ip

domain.mailbox.count(apikey, domain[, opts=nil])

Count mailboxes associated to the given domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

int – Number of mailboxes

domain.mailbox.create(apikey, domain, login, params)

Create a mailbox.

Changed in version 3.1.8: Create a mailbox_add operation

Changed in version 3.3.0: Operation renamed to mailbox_create

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
  • params (struct) – Parameters
Returns:

struct – Mailbox information

domain.mailbox.delete(apikey, domain, login)

Delete a mailbox

Changed in version 3.1.8: Create mailbox_del operation

Changed in version 3.3.0: Operation renamed to mailbox_delete

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
Returns:

boolean – 1 on success, 0 otherwise

domain.mailbox.info(apikey, domain, login)

Get mailbox information.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
Returns:

struct – Mailbox information

domain.mailbox.list(apikey, domain[, opts=nil])

List mailboxes associated to the given domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

list of struct – Mailbox information

domain.mailbox.purge(apikey, domain, login)

Purge a mailbox

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
Returns:

struct – Operation mailbox_purge

domain.mailbox.update(apikey, domain, login, params)

Update a mailbox.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
  • params (struct) – Parameters
Returns:

struct – Mailbox information

domain.mailbox.alias.set(apikey, domain, login, aliases)

Overwrite aliases for a mailbox.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
  • aliases (array) – List of aliases
Returns:

struct – Mailbox information

domain.mailbox.responder.activate(apikey, domain, login, params)

Schedule a responder activation.

Note

The response email will be sent only once per day and per sender.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
  • params (struct) – Parameters
Returns:

struct – Operation responder_activate

domain.mailbox.responder.deactivate(apikey, domain, login[, params=nil])

Schedule a responder deactivation.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • login (string) – Login of the mailbox
  • params (struct) – Parameters
Returns:

struct – Operation responder_deactivate

domain.forward.count(apikey, domain[, opts=nil])

Count mail forwards related to a domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

int – Number of forwards

domain.forward.create(apikey, domain, source, params)

Create a mail forward.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • source (string) – Source of the forward
  • params (struct) – Parameters
Returns:

struct – Forward information

domain.forward.delete(apikey, domain, source)

Delete a forward.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • source (string) – Source of the forward
Returns:

boolean – 1

domain.forward.list(apikey, domain[, opts=nil])

List mail forwards related to a domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • opts (struct) – Filtering options
Returns:

list of struct – List of forwards

domain.forward.update(apikey, domain, source, params)

Update a forward.

This method will override email addresses for this forward

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • source (string) – Source of the forward
  • params (struct) – Parameters
Returns:

struct – Forward information

domain.packmail.autorenew(apikey, gmail, params)

Activate the autorenew for a Packmail.

Parameters:
  • apikey (string) – API connection key
  • gmail (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation packmail_autorenew

domain.packmail.create(apikey, gmail, params)

Switch a Gandi Mail to the paid version, known as Packmail.

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • gmail (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation packmail_activate

domain.packmail.delete(apikey, gmail)

Switch back a Gandi Mail to the free version.

Parameters:
  • apikey (string) – API connection key
  • gmail (string) – Name of the domain
Returns:

struct – Operation packmail_deactivate

domain.packmail.info(apikey, gmail)

Get Gandi Mail information.

Parameters:
  • apikey (string) – API connection key
  • gmail (string) – Name of the domain
Returns:

struct – Packmail information

domain.packmail.renew(apikey, gmail, params)

Renew a Packmail.

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • gmail (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation packmail_renew

domain.packmail.update(apikey, gmail, params)

Change the storage quota of a Packmail.

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • gmail (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation packmail_update, packmail_upgrade packmail_downgrade

domain.tld.list(apikey[, opts=nil])

List available TLD extensions.

Parameters:
Returns:

list of struct – TLD information

domain.tld.region(apikey[, opts=nil])

List available TLD extensions folded by region.

Parameters:
Returns:

list of struct – Folded TLD information

domain.transferin.available(apikey, fqdn[, authinfo=nil])

Check if a Domain is transferable

New in version 3.1.9.

Parameters:
  • apikey (string) – API connection key
  • fqdn (string) – fqdn to transfer in
  • authinfo (string) – The authinfo domain
Returns:

nil

domain.transferin.proceed(apikey, domain, params)

Transfer a domain

Warning

This is not a free operation. Please ensure your prepaid account has enough credit. Look at the the catalog to get the price.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Operation domain_transfer_in

domain.nameservers.set(apikey, domain, nameservers[, options=nil])

Set domain nameservers.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • nameservers (array) – List of nameservers
  • options (struct) – Additional options
Returns:

struct – Operation domain_ns_set

domain.zone.clone(apikey, zone_id[, version_id=0, params=nil])

Clone a zone and its records.

This create a new zone based on the zone referenced by zone_id and its version referenced by version_id.

If a version_id of 0 is provided, the current version of the zone referenced by zone_id will be used.

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – ID of the Zone
  • version_id (int) – Id of the version
  • params (struct) – Parameters
Returns:

struct – Zone information

domain.zone.count(apikey[, opts=nil])

Counts accessible zones.

Parameters:
Returns:

int – Number of zones

domain.zone.create(apikey, params)

Create an empty zone.

Parameters:
  • apikey (string) – API connection key
  • params (struct) – Parameters
Returns:

struct – Zone information

domain.zone.delete(apikey, zone_id)

Delete a zone.

Warning

All versions and records of the given zone are also deleted.

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – ID of the Zone
Returns:

boolean – 1

domain.zone.info(apikey, zone_id)

Get zone information.

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – ID of the Zone
Returns:

struct – Zone information

domain.zone.list(apikey[, opts=nil])

List accessible DNS zones.

Accessible zones fit in three categories: public Gandi zones, zones created by the contact and active zones linked to domains for which the contact represented by apikey is at least technical.

Parameters:
Returns:

list of struct – Zone information

domain.zone.set(apikey, domain, zone_id)

Set the current zone of a domain.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • zone_id (int) – ID of the Zone
Returns:

struct – Domain information

domain.zone.update(apikey, zone_id, params)

Update a zone.

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – ID of the Zone
  • params (struct) – Parameters
Returns:

struct – Zone information

domain.zone.version.count(apikey, zone_id)

Count this zone versions

New in version 3.1.7.

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
Returns:

int – Number of version of zone

domain.zone.version.delete(apikey, zone_id, version_id)

Delete a specific version

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
  • version_id (int) – version_id to delete
Returns:

boolean – 1 if the operation succeed

domain.zone.version.list(apikey, zone_id[, version_id=nil])

List this zone versions, with their creation date

New in version 3.1.7.

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
  • version_id (int) – Optional restriction to a single version
Returns:

list of struct – list of zone versions

domain.zone.version.new(apikey, zone_id[, version_id=0])

Create a new version from another version. This will duplicate the version’s records.

Note that cloned records will have new identifiers

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
  • version_id (int) – version_id to start from, current version is used by default
Returns:

int – the created version number

domain.zone.version.set(apikey, zone_id, version_id)

Set the active version of a zone

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
  • version_id (int) – version_id to activate
Returns:

boolean – 1 if the operation succeed

domain.zone.record.add(apikey, zone_id, version_id, params)

Add a new record to zone/version

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – zone to add to
  • version_id (int) – version_id to add to
  • params (struct) – the record definition
Returns:

struct – The new record

domain.zone.record.count(apikey, zone_id, version_id[, opts=nil])

Count number of records for a given zone/version, with an optional filter (see record_list())

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
  • version_id (int) – version_id to count, 0 for active version
  • opts (struct) – optional filters
Returns:

int – the count

domain.zone.record.delete(apikey, zone_id, version_id[, opts=nil])

Remove some records from a zone/version, filters are the same as for list()

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
  • version_id (int) – version_id to delete from
  • opts (struct) – which records to delete
Returns:

int – number of records deleted

domain.zone.record.list(apikey, zone_id, version_id[, opts=nil])

List records of a version of a DNS zone.

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – ID of the Zone
  • version_id (int) – version_id to list, 0 for active version
  • opts (struct) – optional filters
Returns:

struct – a list of records

domain.zone.record.set(apikey, zone_id, version_id, params)

Sets the records for a zone/version

Parameters:
  • apikey (string) – API connection key
  • zone_id (int) – id of the Zone
  • version_id (int) – version_id to list
  • params (struct) – the record definition
Returns:

struct – The records

domain.zone.record.update(apikey, zone_id, version_id, opts, params)

Update one record by its id.

New in version 3.1.7.

Parameters:
Returns:

list of struct – the updated record

domain.dnssec.create(apikey, domain, params)

Create a new operation to add a DNSSEC key to a domain.

Note

there is currently a limit of 4 keys per domain

New in version 3.1.0.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – key specifications
Returns:

struct – Operation domain_dnssec_add

domain.dnssec.delete(apikey, key_id)

Create a new operation to delete a DNSSEC key (remove it from its domain)

New in version 3.1.0.

Parameters:
  • apikey (string) – API connection key
  • key_id (int) – key identifier
Returns:

struct – Operation domain_dnssec_delete

domain.dnssec.list(apikey, domain)

List DNSSEC keys associated to the given domain.

New in version 3.1.0.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – List of DNSSEC keys

domain.reseller.set(apikey, domain)

Set a new reseller to a domain

New in version 3.1.9.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – Operation domain_transfer_reseller

domain.eoi.count(apikey[, opts=nil])

Count Expression Of Interest.

New in version 3.2.6.

Parameters:
Returns:

int – Number of EOI

domain.eoi.create(apikey, domain)

Create an Expression Of Interest for a given domain.

Expression Of Interest is a reservation for a domain in a new tld that is not available yet (e.g. gTLD).

New in version 3.2.6.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – an EOI

domain.eoi.delete(apikey, domain)

Delete an Expression Of Interest for a given domain.

New in version 3.2.6.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

boolean – True if success

domain.eoi.info(apikey, domain)

Get Expression Of Interest informations for a given domain.

New in version 3.2.6.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – an EOI

domain.eoi.list(apikey[, opts=nil])

List Expressions Of Interest.

New in version 3.2.6.

Parameters:
Returns:

struct – an EOI

domain.autorenew.activate(apikey, domain[, params=nil])

Activate the autorenewal functionality for a domain.

New in version 3.1.7.

Changed in version 3.3.0: added optional parameters for duration

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
  • params (struct) – Parameters
Returns:

struct – Autorenew Information

domain.autorenew.deactivate(apikey, domain)

Deactivate the autorenewal functionality for a domain.

New in version 3.1.7.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – Name of the domain
Returns:

struct – Autorenew Information

domain.claims.accept(apikey, notice_id)

Accept a specific claims notice

Warning

you must forward the information provided by the info() method to your end customer to inform them that the domain name in question is subject to a trademark claim.

Warning

acceptations are only valid until the notice expires (about 48h)

New in version 3.3.11.

Parameters:
  • apikey (string) – API connection key
  • notice_id (string) – Notice ID found inside info()
Returns:

boolean – 1

domain.claims.check(apikey, domains)

Check for potential copyright claims on domains

This method is only useful for the first 90 days of a ngtld, afterwards the results will always be negative.

New in version 3.3.11.

Parameters:
  • apikey (string) – API connection key
  • domains (array) – List of domain names
Returns:

struct – Each domain associated with its claims status

domain.claims.info(apikey, domain)

Returns information about a trademark claims on a specific domain.

This structure contains the notice_id key needed by the accept() method.

Warning

This method will only return information for domains with an existing (and non-expired) claim notice, use the check() method first.

New in version 3.3.11.

Parameters:
  • apikey (string) – API connection key
  • domain (string) – A domain name previously checked with claims.key
Returns:

struct – Information about the latest claims for this domain

domain.smd.count(apikey[, opts=nil])

Count stored SMDs

New in version 3.3.11.

Parameters:
Returns:

int – count

domain.smd.create(apikey, smd)

Create a new SMD element from a SMD file

New in version 3.3.11.

Parameters:
  • apikey (string) – API connection key
  • smd (string) – contents of a Signed Mark Data file
Returns:

struct – SMD information

domain.smd.delete(apikey, smd_id)

Delete a SMD

New in version 3.3.11.

Parameters:
  • apikey (string) – API connection key
  • smd_id (int) – ID for the SMD to delete
Returns:

nil

domain.smd.extract(apikey, smd)

Extract information from a Signed Mark Data file contents

New in version 3.3.11.

Parameters:
  • apikey (string) – API connection key
  • smd (string) – contents of a Signed Mark Data file
Returns:

struct – Domain information

domain.smd.info(apikey, smd_id)

Various information about a SMD

New in version 3.3.11.

Parameters:
  • apikey (string) – API connection key
  • smd_id (int) – ID of the SMD to return
Returns:

struct – SMD Informations

domain.smd.list(apikey[, opts=nil])

List stored SMDs

New in version 3.3.11.

Parameters:
Returns:

struct – list of matching SMD

domain.misc.ukrights(apikey, params)

Rights of registration for .uk domains

This method is related to the rights of registration for .uk domains (started on June 10th, 2014 for a period of 5 years)

For each domain, returns whether or not the contact can register the domain name, along with the reason.

Reason for a non-egibility can be one of NAME, ORGANIZATION, STREET, CITY, STATE, ZIP, COUNTRY or EMAIL

There is only one reason returned even if multiple contact properties are not matching.

Warning: this method only accepts first level .uk domains, and not second level domains (like .co.uk)

New in version 3.3.13.

Parameters:
Returns:

struct – Name of domains associated to a status

Parameters

OperationStep

used by CertificateOperationReturn, ChangeOwnerOperationReturn, DomainCreateOperationReturn, DomainDnssecOperationReturn, DomainRenewOperationReturn, DomainRestoreOperationReturn, DomainStatusUpdateOperationReturn, HostCreateOperationReturn, HostDeleteOperationReturn, HostUpdateOperationReturn, HostingOperationReturn, NsSetOperationReturn, OperationListOptions, OperationReturn and TransferInOperationReturn

all operations are created in a BILL step, if they require billing. All hosting operations (as described in this documentation) are created in a WAIT state, as they do not need to be billed.
Name Description
BILL if the operation requires billing, this step means it’s currently working on billing
WAIT the billing is done, the operation is waiting to be processed.
RUN Gandi backends are currently handling the operation.
ERROR an error occurred while the operation was processing, no more processing will be performed..
DONE the operation is done, end of operation’s life, no more processing will be performed.
CANCEL the user decided to cancel the operation, no more processing will be performed.
SUPPORT -
OperationType

used by CertificateOperationReturn, ChangeOwnerOperationReturn, DomainCreateOperationReturn, DomainDnssecOperationReturn, DomainRenewOperationReturn, DomainRestoreOperationReturn, DomainStatusUpdateOperationReturn, HostCreateOperationReturn, HostDeleteOperationReturn, HostUpdateOperationReturn, HostingOperationReturn, NsSetOperationReturn, OperationListOptions, OperationReturn and TransferInOperationReturn

Name Description
billing_automatic_credit_crea te -
billing_automatic_credit_dele te -
billing_automatic_credit_set_ active -
certificate_create -
certificate_delete -
certificate_renew -
certificate_update -
contact_create -
contact_update -
cronflex_create -
cronflex_delete -
cronflex_update -
customized_email_update -
disk_attach -
disk_create -
disk_delete -
disk_detach -
disk_dup -
disk_pause -
disk_prepare -
disk_restore -
disk_rollback_from -
disk_unpause -
disk_update -
domain_autorenew_activate -
domain_change_contact -
domain_change_owner -
domain_contact_change -
domain_create -
domain_delete -
domain_dnssec_add -
domain_dnssec_delete -
domain_lock -
domain_mail_redir_add -
domain_mail_redir_del -
domain_ns_set -
domain_renew -
domain_restore -
domain_status_update -
domain_trade -
domain_transfer_in -
domain_transfer_out_ack -
domain_transfer_out_nak -
domain_transfer_reseller -
domain_unlock -
domain_update -
domain_update_contact -
domain_web_redir_add -
domain_web_redir_del -
domain_web_redir_update -
flex_activation -
flex_deactivation -
hosting_account_product_add -
hosting_account_product_remov e -
hosting_account_product_renew -
hosting_account_product_updat e -
hosting_credit -
host_create -
host_delete -
host_update_ip -
iface_attach -
iface_create -
iface_delete -
iface_detach -
iface_update -
ip_attach -
ip_create -
ip_delete -
ip_detach -
ip_update -
lb_create -
lb_delete -
lb_update -
mailbox_add -
mailbox_create -
mailbox_del -
mailbox_purge -
mailbox_responder_activate -
mailbox_responder_deactivate -
notification_subscription_cre ate -
notification_subscription_del ete -
paas_console -
paas_disk_create -
paas_disk_delete -
paas_disk_renew -
paas_disk_update -
paas_lock -
paas_password_update -
paas_pause -
paas_restart -
paas_unlock -
paas_vm_create -
paas_vm_delete -
paas_vm_renew -
paas_vm_update -
paas_zone_alter -
packmail_activate -
packmail_autorenew -
packmail_deactivate -
packmail_downgrade -
packmail_renew -
packmail_upgrade -
reachability_resend -
reachability_unlock -
rproxy_create -
rproxy_flush -
rproxy_iaas_create -
rproxy_iaas_delete -
rproxy_iaas_pause -
rproxy_iaas_renew -
rproxy_iaas_unpause -
rproxy_iaas_update -
rproxy_iaas_zone_alter -
rproxy_server_create -
rproxy_server_delete -
rproxy_server_update -
rproxy_update -
rproxy_vhost_create -
rproxy_vhost_delete -
sitebuilder_create -
sitebuilder_delete -
sitebuilder_lock -
sitebuilder_pause -
sitebuilder_renew -
sitebuilder_restore -
sitebuilder_unlock -
sitebuilder_update -
sitebuilder_zone_alter -
site_account_update -
site_activate -
site_create -
site_deactivate -
site_delete -
site_host_attach -
site_host_detach -
site_lock -
site_renew -
site_undelete -
site_unlock -
site_update -
site_upgrade -
vlan_create -
vlan_delete -
vlan_update -
vm_agent_update -
vm_conf -
vm_console_disable -
vm_console_enable -
vm_create -
vm_delete -
vm_meta_deinstall -
vm_meta_install -
vm_owner_change -
vm_pause -
vm_reboot -
vm_release_ai -
vm_reverse_set -
vm_set_state -
vm_start -
vm_stop -
vm_trigger_create -
vm_trigger_delete -
vm_unlock -
vm_update -
vm_upgrade -
watchdog_probe_create -
watchdog_probe_delete -
watchdog_probe_update -
watchdog_trigger_create -
watchdog_trigger_delete -
watchdog_trigger_update -
DomainAvailableOptions

parameter of domain.available()

Name Default Type Mandatory
lang   string no
ISO-639-2 language code of the domains, required for some IDN
phase golive string no
Phase of the tld
DomainCreate

parameter of domain.create()

Changed in version 3.3.2: key smd has been added

Changed in version 3.2.11: keys tld_phase, eoi_id have been added

Changed in version 3.1.9: remove deprecated key lang_id

Changed in version 3.1.1: key lang_id is deprecated and will be removed in the next major release

Name Default Type Mandatory
admin   string yes
Administrative contact handle
bill   string yes
Billing contact handle
duration   int yes
Registration period in years, between 1 and 10
owner   string yes
Registrant handle
tech   string yes
Technical contact handle
accept_contract True boolean no
authinfo   string no
eoi_id   int no
Id of an Expression Of Interest to transform
extra   struct no
lang   string no
ISO-639-2 language code of the domains, required for some IDN domains
nameservers   array of string no
List of nameservers. Gandi DNS used if omitted
nameservers_ips   struct no
for glue records only – struct associating a nameserver to a list of IP addresses
smd   string no
Contents of a Signed Mark Data file (used for newgtld sunrises, tld_phase must be sunrise)
smd_id   int no
tld_phase   string no
Phase of the tld
webredir   string no
Default web redirection to setup after creation
zone_id   int no
Zone to set after creation
DomainListOptions

parameter of domain.count() and domain.list()

Changed in version 3.3.8: key autorenew has been added

Name Default Type Mandatory
<date_created   string no
<date_registry_end   string no
<date_updated   string no
>date_created   string no
>date_registry_end   string no
>date_updated   string no
admin   string no
autorenew   boolean no
bill   string no
date_created   string no
date_registry_end   string no
date_updated   string no
fqdn   array of string or string no
handle   string no
id   int no
items_per_page 100 int no
number of items returns for the pagination
owner   string no
page 0 int no
page number for pagination offset
reseller   string no
service   string no
sort_by   string no
used to sort returned items: admin, autorenew, bill, date_created, date_registry_end, date_updated, fqdn, handle, id, owner, reseller, service, status, tag, tech, tld, zone_id, zone_name
status   string no
tag   string no
tech   string no
tld   string no
zone_id   int no
zone_name   string no
~admin   string no
~bill   string no
~fqdn   string no
~owner   string no
~reseller   string no
~tech   string no
~zone_name   string no
DomainRenew

parameter of domain.renew()

Name Default Type Mandatory
current_year   int yes
The current registry end year to avoid many renew
duration   int yes
The duration (in years) of the renewal
DomainRestore

parameter of domain.restore()

Name Default Type Mandatory
duration   int yes
The duration (in years) of the restore
DomainServices

used by DomainListOptions

Name Description
dnssec -
gandimail -
site -
zonecheck_nok -
parking -
hold -
expired -
paas -
custom_dns -
packmail -
certificate -
external_dns -
hosting -
blog -
redirection -
gandidns -
DomainStatus

used by DomainListOptions

Name Description
clientUpdateProhibited -
serverHold -
clientRenewProhibited -
clientTransferProhibited -
clientDeleteProhibited -
serverTransferProhibited -
clientHold -
SMD

parameter of domain.smd.delete() and domain.smd.info()

used by DomainCreate

TldPhaseDomainAvailable

used by DomainAvailableOptions

Name Description
sunrise Open for trademark only
landrush Open to organizations
claims Open for trademark notice
open Open for everyone
DomainChangeOwner

parameter of changeowner.create() and domain.owner.set()

Name Default Type Mandatory
admin   string yes
Administrative contact handle
bill   string yes
Billing contact handle
old_owner   string yes
Old registrant handle
owner   string yes
New registrant handle
tech   string yes
Technical contact handle
CountryIso

used by ContactCreateFormDescription, ContactListOptions, ContactUpdateFormDescription, DatacenterReturn, DomainExtraParameters, ExtraParameters and RelaunchOperationParameters

Name Description
AF -
AL -
DZ -
AS -
AD -
AO -
AI -
AQ -
AG -
AR -
AM -
AW -
AU -
AT -
AZ -
BS -
BH -
BD -
BB -
BY -
BE -
BZ -
BJ -
BM -
BT -
BO -
BA -
BW -
BR -
BN -
BG -
BF -
BI -
KH -
CM -
CA -
CV -
KY -
CF -
TD -
CL -
CN -
CO -
KM -
CG -
CD -
CK -
CR -
CI -
HR -
CU -
CY -
CZ -
DK -
DJ -
DM -
DO -
TP -
EC -
EG -
SV -
GQ -
ER -
EE -
ET -
FK -
FO -
FJ -
FI -
FR -
GF -
GA -
GM -
GE -
DE -
GH -
GI -
GR -
GL -
GD -
GP -
GU -
GT -
GN -
GW -
GY -
HT -
HN -
HK -
HU -
IS -
IN -
ID -
IR -
IQ -
IE -
IL -
IT -
JM -
JP -
JO -
KZ -
KE -
KI -
KP -
KR -
KW -
KG -
LA -
LV -
LB -
LS -
LR -
LY -
LI -
LT -
LU -
MO -
MK -
MG -
MW -
MY -
MV -
ML -
MT -
MH -
MQ -
MR -
MU -
YT -
MX -
FM -
MD -
MC -
MN -
MS -
MA -
MZ -
MM -
NA -
NR -
NP -
NL -
AN -
NC -
NZ -
NI -
NE -
NG -
NU -
NF -
NO -
OM -
PK -
PW -
PA -
PG -
PY -
PE -
PH -
PL -
PT -
PR -
QA -
RE -
RO -
RU -
RW -
SH -
KN -
LC -
VC -
WS -
SM -
ST -
SA -
SN -
SC -
SL -
SG -
SK -
SI -
SB -
SO -
ZA -
ES -
LK -
SD -
SR -
SZ -
SE -
CH -
SY -
TW -
TJ -
TZ -
TH -
TG -
TK -
TO -
TT -
TN -
TR -
TM -
TC -
TV -
UG -
UA -
AE -
GB -
US -
UY -
UZ -
VU -
VE -
VN -
VG -
VI -
YE -
ZM -
ZW -
AC -
JE -
MP -
PS -
HI -
PF -
PM -
TF -
RS -
TL -
CC -
CX -
HM -
AX -
BV -
GS -
GG -
IM -
ME -
IO -
PN -
EH -
BL -
MF -
VA -
SJ -
WF -
EP -
CW -
BQ -
CaLegalType

used by DomainExtraParameters, ExtraParameters and RelaunchOperationParameters

Name Description
CCO Corporation
CCT Canadian citizen
RES Permanent Resident of Canada
GOV -
EDU Canadian Educational institution
ASS Canadian Unincorporated Association
HOP -
PRT -
TDM Trade-mark registered in Canada (by a non-Canadian owner)
TRD -
PLT -
LAM -
TRS -
ABO -
INB -
LGR -
OMK -
MAJ -
DocumentType

used by DomainExtraParameters, ExtraParameters and RelaunchOperationParameters

Name Description
CUIT Código Único de Identificación Tributaria (Unique Code for Taxpaying Identification)
CNPJ Cadastro Nacional de Pessoas Jurídicas
CPF Cadastro de Pessoas Físicas
RUT Rol Único Tributario
DomainChangeContact

parameter of domain.contacts.set()

Name Default Type Mandatory
admin   string no
Administrative contact handle
bill   string no
Billing contact handle
extra   struct no
tech   string no
Technical contact handle
DomainExtraParameters

used by DomainChangeContact, DomainCreate and DomainTransfer

Changed in version 3.3.23: keys x-es_owner_tipo_identification, x-es_admin_identification, x-es_admin_tipo_identification, x-es_tech_identification, x-es_tech_tipo_identification, x-es_owner_identification, x-es_bill_identification, x-es_bill_tipo_identification, x-es_owner_legalform have been added

Changed in version 3.3.19: keys x-es_legalform, x-es_identification, x-es_tipo_identification have been added

Name Default Type Mandatory
x-aero_ens_authid   string no
aero id (you can apply for an .aero id on http://www.information.aero/)
x-aero_ens_authkey   string no
aero password
x-au_registrant_id_number   string no
x-au_registrant_id_type   string no
ABN (Australian Business Number), ACN
x-ca_legaltype   string no
owner’s legal type
x-ca_owner_name   string no
owner name
x-coop_sponsor   string no
Coop Verification Code obtained on the coop registry website (see http://www.nic.coop/preverification).
x-cy_reg_identity_no   string no
id card number or passport number if physical
x-document_country   string no
Registrant’s country which issued the document
x-document_type   string no
Registrant’s document type
x-document_value   string no
Registrant’s document number
x-es_admin_identification   string no
id of the admin contact
x-es_admin_tipo_identification   string no
type of id for admin
x-es_bill_identification   string no
id of the bill contact
x-es_bill_tipo_identification   string no
type of id for bill
x-es_identification   string no
id of the contact (deprecated)
x-es_legalform   string no
legal form of the organization (deprecated)
x-es_owner_identification   string no
id of the owner contact
x-es_owner_legalform   string no
legal form of the owner organization
x-es_owner_tipo_identification   string no
type of id for owner
x-es_tech_identification   string no
id of the tech contact
x-es_tech_tipo_identification   string no
type of id for tech
x-es_tipo_identification   string no
type of id (deprecated)
x-fi_based_on_person_name   string no
Whether or not domain is based on a physical or moral person
x-fi_business_number   string no
Registrant’s identification number for a moral person
x-fi_ident_number   string no
Registrant’s identification number for a physical person
x-fi_name_registration_id   string no
Identifier of the register where the name is recorded if based on a moral person’s name
x-fi_name_registration_number   string no
Number of the record in the register where the name is recorded if based on a moral person’s name
x-hk_registrant_birth_date   string no
owner’s birth date (YYYY-MM-DD)
x-hk_registrant_document_number   string no
number of the above document
x-hk_registrant_document_origin_country   string no
country code (FR, GB, US...) of the origin country of the above document
x-hk_registrant_document_type   string no
owner’s document type
x-hk_registrant_other_document_type   string no
mandatory if x-hk_registrant_document_type is OTHIDV or OTHORG
x-hu_idnumber   string no
id card number or passport number of the physical person
x-hu_owner_vatid   string no
vatid of the moral person
x-ir_login_id   string no
Registrant’s login id
x-ir_login_password   string no
Registrant’s login password
x-it_pin   string no
owner’s Italian fiscal code or the number of an identity document
x-kr_reg_identity_no   string no
Registrant’s Business Certificate
x-lv_idnumber   string no
id card number or passport number if physical person,
x-my_admin_contact_password   string no
Admin contact password record (For
x-my_admin_contact_username   string no
Admin contact username as per Whois
x-my_business_number   string no
Registrant’s Business Number
x-my_organization_type   string no
Registrant’s Organization Type
x-no_registrant_identity   string no
organization number of the Norwegian organization (consisting of exactly 9 digits)
x-nu_registrant_idnumber   string no
Registrant’s id number or organization number
x-nu_registrant_vatid   string no
vatid of the moral person
x-nyc_extcontact   string no
Gandi Handle of the EXTContact
x-pro_authority   string no
authority where the contact is registred
x-pro_authoritywebsite   string no
link to the registration authority
x-pro_licensenumber   string no
licence number
x-pro_profession   string no
contact profession
x-pt_arbitration   string no
true (default) or false as answer to whether or not the registry arbitration is accepted
x-pt_registrant_vatid   string no
owner’s VAT for company or ID card number for individual
x-pt_roid   string no
roid of the domain (in transfer process only)
x-ro_registrant_idnumber   string no
id card number or passport number if
x-rs_reg_identity_no   string no
Registrant’s Business Certificate
x-rs_reg_tax_no   string no
Registrant’s GST/VAT number
x-ru_registrant_passport_data   string no
owner’s passport number
x-se_ident_number   string no
Swedish personal identity or organisational number or passport number, or id card number for individuals outside of Sweden
x-sg_idnumber   string no
Registrant’s id number
x-sk_registrant_idnumber   string no
id card number or passport number if
x-travel_uin   string no
an Unique Identification Number
x-xxx_membership_contact   string no
owner contact membership ID, obtained on the xxx registry website.
x-xxx_sponsored_community   string no
yes or no as answer to whether or not the owner is a member of the .XXX Adult Industry Sponsored Community
ESLegalform

used by DomainExtraParameters, ExtraParameters and RelaunchOperationParameters

Name Description
1 Individual
39 Economic Interest Group
47 Association
59 Sports Association
68 Professional Association
124 Savings Bank
150 Community Property
152 Community of Owners
164 Order or Religious Institution
181 Consulate
197 Public Law Association
203 Embassy
229 Local Authority
269 Sports Federation
286 Foundation
365 Mutual Insurance Company
434 Regional Government Body
436 Central Government Body
439 Political Party
476 Trade Union
510 Farm Partnership
524 Public Limited Company
525 Sports Association
554 Civil Society
560 General Partnership
562 General and Limited Partnership
566 Cooperative
608 Worker-owned Company
612 Limited Company
713 Spanish Office
717 Temporary Alliance of Enterprises
744 Worker-owned Limited Company
745 Regional Public Entity
746 National Public Entity
747 Local Public Entity
877 Others (only for contacts outside of Spain)
878 Designation of Origin Supervisory Council
879 Entity Managing Natural Areas
ESTipoIdent

used by DomainExtraParameters, ExtraParameters and RelaunchOperationParameters

Name Description
0 Other ID (for contacts outside of Spain)
1 DNI and NIF (for Spanish contacts)
3 NIE for foreigners (nationality not Spanish) with legal residence
HkOwnerDocType

used by DomainExtraParameters, ExtraParameters and RelaunchOperationParameters

Name Description
HKID Hong Kong Identity Number
OTHID Other’s Country Identity Number
PASSNO Passport No.
BIRTHCERT Birth Certificate
OTHIDV Others Individual Document
BR Business Registration Certificate
CI Certificate of Incorporation
CRS Certificate of Registration of a School
HKSARG Hong Kong Special Administrative Region Government Department
HKORDINANCE Ordinance of Hong Kong
OTHORG Others Organization Document
MyOrganizationType

used by DomainExtraParameters, ExtraParameters and RelaunchOperationParameters

Name Description
ota000001 architect firm
ota000002 audit firm
ota000003 business pursuant to business registration act(rob)
ota000004 business pursuant to commercial license ordinance
ota000005 company pursuant to companies act(roc)
ota000006 educational institution accredited/registered by relevant government department/agency
ota000007 farmers organisation
ota000008 federal government department or agency
ota000009 foreign embassy
ota000010 foreign office
ota000011 government aided primary and/or secondary school
ota000012 law firm
ota000013 lembaga (board)
ota000014 local authority department or agency
ota000015 maktab rendah sains mara (mrsm) under the administration of mara
ota000016 ministry of defences department or agency
ota000017 offshore company
ota000018 parents teachers association
ota000019 polytechnic under ministry of education administration
ota000020 private higher educational institution
ota000021 private school
ota000022 regional office
ota000023 religious entity
ota000024 representative office
ota000025 society pursuant to societies act(ros)
ota000026 sports organisation
ota000027 state government department or agency
ota000028 trade union
ota000029 trustee
ota000030 university under the administration of ministry of
ota000031 valuer, appraiser and estate agent firm
WebredirDescription

parameter of domain.webredir.create()

Name Default Type Mandatory
host   string yes
Source of the redirection
url   string yes
Target of the redirection
type   string no
Redirection type
WebredirListOptions

parameter of domain.webredir.count() and domain.webredir.list()

Name Default Type Mandatory
items_per_page 100 int no
number of items returns for the pagination
page 0 int no
page number for pagination offset
sort_by   string no
used to sort returned items:
~host   string no
WebredirType

used by WebredirDescription, WebredirReturn and WebredirUpdate

Name Description
cloak Encapsulate target url in a webpage with an HTML <frame>
http302 Redirection provide by HTTP Status 302 Moved Temporarily
http301 Redirection provide by HTTP Status 301 Moved Permanently
WebredirUpdate

parameter of domain.webredir.update()

Name Default Type Mandatory
host   string no
Source of the redirection
type   string no
Redirection type
url   string no
Target of the redirection
HostListOptions

parameter of domain.host.count() and domain.host.list()

Name Default Type Mandatory
ip   string no
items_per_page 100 int no
number of items returns for the pagination
name   string no
page 0 int no
page number for pagination offset
sort_by   string no
used to sort returned items: ip, name
~name   string no
MailboxCreate

parameter of domain.mailbox.create()

Name Default Type Mandatory
password   string yes
fallback_email   string no
quota   int no
MailboxListOptions

parameter of domain.mailbox.count() and domain.mailbox.list()

Name Default Type Mandatory
items_per_page 100 int no
number of items returns for the pagination
login   string no
page 0 int no
page number for pagination offset
sort_by   string no
used to sort returned items: login
~login   string no
MailboxUpdate

parameter of domain.mailbox.update()

Name Default Type Mandatory
fallback_email   string no
password   string no
quota   int no
ActivateResponder

parameter of domain.mailbox.responder.activate()

Name Default Type Mandatory
content   string yes
date   string no
DeactivateResponder

parameter of domain.mailbox.responder.deactivate()

Name Default Type Mandatory
date   string no
ForwardDescription

parameter of domain.forward.create() and domain.forward.update()

Name Default Type Mandatory
destinations   array of string yes
ForwardListOptions

parameter of domain.forward.count() and domain.forward.list()

Name Default Type Mandatory
items_per_page 100 int no
number of items returns for the pagination
page 0 int no
page number for pagination offset
sort_by   string no
used to sort returned items: source
source   string no
~source   string no
Enum

List of elements that should be documented.

PackmailAutorenew

parameter of domain.packmail.autorenew()

Name Default Type Mandatory
active   boolean yes
duration   int no
PackmailCreate

parameter of domain.packmail.create()

Name Default Type Mandatory
duration   int yes
forward_quota   int yes
The limit to the number of forwards
mailbox_quota   int yes
The limit to the number of mailboxes
storage_quota   int yes
The storage limit, in Go
PackmailRenew

parameter of domain.packmail.renew()

Name Default Type Mandatory
duration   int yes
accept_contract True boolean no
PackmailUpdate

parameter of domain.packmail.update()

Name Default Type Mandatory
storage_quota   int yes
The storage limit, in Go
accept_contract True boolean no
DomainVisibility

used by TLDListReturn

Name Description
all The TLD is not reserved to corporate account
corporate The TLD is for corporate account only
TldListOptions

parameter of domain.tld.list() and domain.tld.region()

Changed in version 3.1.5: key visibility has been added

Name Default Type Mandatory
items_per_page 800 int no
number of items returns for the pagination
page 0 int no
page number for pagination offset
phase golive string no
sort_by name string no
used to sort returned items: phase, visibility
visibility mine string no
TldPhase

used by TLDListReturn and TldListOptions

Name Description
eoi Expression of Interest
sunrise Open for trademark only
landrush Open to organizations
golive Open for everyone
TldVisibility

used by TldListOptions

Name Description
all All tld
mine Only tld you can view (default)
DomainTransfer

parameter of domain.transferin.proceed()

Name Default Type Mandatory
admin   string yes
Administrative contact handle
bill   string yes
Billing contact handle
owner   string yes
Registrant handle
tech   string yes
Technical contact handle
authinfo   string no
Authorization code
change_owner   int no
Set to 1, the transfer process will perform a change of the registrant. This operation will create a new registrant handle.
duration   int no
extra   struct no
lang   string no
ISO-639-2 language code of the domains, required for some IDN
nameservers   array of string no
List of new nameservers. Current DNS used if omitted
webredir   string no
Default web redirection to setup after creation
zone_id   int no
NameserverIPs

used by DomainCreate and NameserversOptions

Struct associating a hostname with a list of IP addresses. For example:

{'ns1.mydomain.org': ['217.70.184.40', '2001:4b98:b:a::40']}
NameserversOptions

parameter of domain.nameservers.set()

Additional options used when setting nameservers

Changed in version 3.3.22: key x-fi_auth_key has been added

Changed in version 3.3.11: key nameservers_ips has been added

Name Default Type Mandatory
nameservers_ips   struct no
Used for creation of glue records, associate a server name with a list of IP addresses
x-fi_auth_key   string no
Authentication key (for .fi only)
zone_id   int no
zone to use, when switching to Gandi DNS. If unspecified, will use contact’s preferred zone, or default zone
ZoneClone

parameter of domain.zone.clone()

Name Default Type Mandatory
name   string no
ZoneCreate

parameter of domain.zone.create()

Name Default Type Mandatory
name   string yes
ZoneListOptions

parameter of domain.zone.count() and domain.zone.list()

Name Default Type Mandatory
!owner   string no
<date_updated   string no
>date_updated   string no
date_updated   string no
id   int or array of int no
items_per_page 100 int no
number of items returns for the pagination
name   string no
owner   string no
page 0 int no
page number for pagination offset
public   boolean no
sort_by   string no
used to sort returned items: date_updated, id, name, owner, public
~name   string no
ZoneUpdate

parameter of domain.zone.update()

Name Default Type Mandatory
name   string no
RecordDeleteOptions

parameter of domain.zone.record.delete()

Name Default Type Mandatory
<ttl   int no
>ttl   int no
id   int no
name   array of string or string no
ttl   int no
type   string no
value   array of string or string no
~name   string no
~value   string no
RecordListOptions

parameter of domain.zone.record.count() and domain.zone.record.list()

Name Default Type Mandatory
<ttl   int no
>ttl   int no
id   int no
items_per_page 100 int no
number of items returns for the pagination
name   array of string or string no
page 0 int no
page number for pagination offset
sort_by   string no
used to sort returned items: id, name, ttl, type, value
ttl   int no
type   string no
value   array of string or string no
~name   string no
~value   string no
RecordType

used by RecordDeleteOptions, RecordListOptions and ZoneRecord

Name Description
A IPv4 Address
AAAA IPv6 Address
CNAME Alias to another DNS entry
MX Mail exchanger record
NS Name Server (for child zones only)
TXT Descriptive text (custom usage)
WKS Well Known Services
SRV Service record RFC 2782
LOC Location record RFC 1876
SPF -
RecordUpdateOptions

parameter of domain.zone.record.update()

Name Default Type Mandatory
id   int no
ZoneRecord

parameter of domain.zone.record.add() and domain.zone.record.update()

used by ZoneRecordSet

Name Default Type Mandatory
name   string yes
Relative name, may contain leading wildcard. @ for empty name
type   string yes
value   string yes
Value for record. Semantics depends on the record type. Currently limited to 1024 ASCII characters. In case of TXT, each part between quotes is limited to 255 characters
ttl   int no
Time to live, in seconds, between 5 minutes and 30 days
ZoneRecordSet

parameter of domain.zone.record.set()

a Bind zone as string (see RFC 1035) or a list of ZoneRecord

DNSCreateKey

parameter of domain.dnssec.create()

Name Default Type Mandatory
algorithm   int yes
Algorithm number, see IANA Assignments
flags   int yes
256 (ZSK) or 257 (KSK)
public_key   string yes
The base64-encoded public key
EOIListOptions

parameter of domain.eoi.count() and domain.eoi.list()

Name Default Type Mandatory
<date_created   string no
<position   int no
>date_created   string no
>position   int no
date_created   string no
fqdn   array of string or string no
items_per_page 100 int no
number of items returns for the pagination
page 0 int no
page number for pagination offset
position   int no
sort_by   string no
used to sort returned items: date_created, fqdn, position, tag, tld
tag   array of string or string no
tld   array of string or string no
~fqdn   string no
AutorenewActive

parameter of domain.autorenew.activate()

Name Default Type Mandatory
duration   int no
The duration (in years) of the renewal
ClaimContactReturn

used by ClaimReturn

Name Type
cc string
city string
email string
fax string
name string
org string
pc string
phone string
sp string
street string
ClaimsRequestStatus

used by ClaimsRequestReturn

Name Description
new Key created, but not yet accepted
accepted Claims has been accepted and will be sent with the domain creation command
SMDListOptions

parameter of domain.smd.count() and domain.smd.list()

Name Default Type Mandatory
<date_created   string no
<date_expire   string no
>date_created   string no
>date_expire   string no
date_created   string no
date_expire   string no
id   int or array of int no
items_per_page 100 int no
number of items returns for the pagination
labels   array of string or string no
mark_name   array of string or string no
page 0 int no
page number for pagination offset
sort_by   string no
used to sort returned items: date_created, date_expire, id, labels, mark_name, uid
uid   array of string or string no
~mark_name   string no
UKRights

parameter of domain.misc.ukrights()

Name Default Type Mandatory
domains   array of string yes
only .uk domains are allowed here (not .co.uk)
owner   string no
Contact to check, if different than API key contact

Returns

AutorenewReturn

returned by domain.autorenew.activate(), domain.autorenew.deactivate(), site.autorenew.activate() and site.autorenew.deactivate()

used by DomainReturn, PaasReturn, PackmailReturn and SiteReturn

Changed in version 3.2.7: key duration has changed

Changed in version 3.1.7: key contact has been added

Name Type
active boolean
autorenew status. 1 autorenew is active. 0 deactivate
contact string
handle of the contact that activate/deactivate the autorenew
duration int
id int
product_id int
product_type_id int
ContactMinimalReturn

used by DomainContactReturn and EOIReturn

Name Type
handle string
id int
AvailableStatus

returned by domain.available()

Name Description
available Domain name available
available_reserved Domain name reserved under particular conditions
available_preorder Domain name can be pre-ordered
unavailable Domain name not available
unavailable_premium Domain name is not available
unavailable_restricted Domain name is not available (forbidden)
error_invalid Provided value is not a valid domain name
error_refused Service is temporarily down
error_timeout Service timed out, recall the method later
error_unknown Internal server error
reserved_corporate TLD for the given domain name is reserved for corporate customers
pending Result is not yet ready, recall the method later
DomainContactReturn

used by DomainReturn

Name Type
admin struct
bill struct
owner struct
reseller struct
tech struct
DomainListReturn

returned by domain.list()

Name Type
authinfo string
date_created dateTime.iso8601
The date the domain started to be handled by Gandi
date_registry_creation dateTime.iso8601
The creation date of the domain
date_registry_end dateTime.iso8601
The end date of the domain
date_updated dateTime.iso8601
The last update date
fqdn string
id int
status string
tld string
DomainReturn

returned by domain.info() and domain.zone.set()

Changed in version 3.2.1: key services has been added

Changed in version 3.1.9: key autorenew has been added

Name Type
authinfo string
autorenew struct
contacts array of struct
date_created dateTime.iso8601
The date the domain started to be handled by Gandi
date_delete dateTime.iso8601
The date on which the domain will be deleted at the registry
date_hold_begin dateTime.iso8601
The date from which the domain is held
date_hold_end dateTime.iso8601
The date from which the domain can’t be renewed anymore (the domain can be restored if the registry supports redemption period otherwise the domain might be destroyed at Gandi at that date)
date_pending_delete_end dateTime.iso8601
The date from which the domain will be available after a deletion
date_registry_creation dateTime.iso8601
date_registry_end dateTime.iso8601
date_renew_begin dateTime.iso8601
The date from which the domain can be renewed
date_restore_end dateTime.iso8601
The date from which the domain can’t be restored anymore
date_updated dateTime.iso8601
The last update date
fqdn string
id int
nameservers array
services array
list associated Gandi services used on that domain
status string
tags array of struct
tld string
zone_id int
DomainCreateOperationReturn

returned by domain.create()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_create:application_already_submitted fatal
Application already submitted for this operation.
domain_create:claims_missing fatal
Claims notice acceptation missing.
domain_create:domain_already_exist_db fatal
Domain already exists in our database.
domain_create:domain_check_bad_return fatal
domain:check returned not available.
domain_create:domain_check_unavailable fatal
domain:check returned unavailable.
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
DomainRenewOperationReturn

returned by domain.renew()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_renew:already_performed fatal
Operation already performed on the domain.
domain_renew:command_failed client_recoverable
Command failed due to server error. Client should try again.
domain_renew:date_mismatch fatal
Operation already performed on the domain.
domain_renew:domain_not_exist fatal
The domain does not exist.
domain_renew:domain_not_ours fatal
Domain is not ours at Registry.
domain_renew:err_epp support_recoverable
EPP error on the domain.renew call to registry.
domain_renew:hold_not_sync support_recoverable
Should contact registry to synchronize the hold status.
domain_renew:invalid_registry_end fatal
Invalid registry end.
domain_renew:invalid_request fatal
The request is invalid.
domain_renew:invalid_request_cat support_recoverable
The request is invalid, bad duration.
domain_renew:invalid_request_eol support_recoverable
The request is invalid, outside of renew period.
domain_renew:invalid_uin support_recoverable
The given UIN is incorect.
domain_renew:not_in_db fatal
Domain is not in our DB.
domain_renew:pending_request fatal
There is a pending operation blocking this one.
domain_renew:renew_prohibited support_recoverable
Renew is not allowed.
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
DomainRestoreOperationReturn

returned by domain.restore()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_restore:already_restored fatal
The Domain is already restored in DB.
domain_restore:command_failed fatal
The command failed at registry. But this type of error domain_restore:is common at hexonet, so we have to check the error and maybe do some regexp ?
domain_restore:domain_not_ours fatal
Domain is not ours at Registry.
domain_restore:domain_was_not_ours fatal
The Domain was not ours.
domain_restore:registry_end_differ support_recoverable
Domain ends registry differ between DB and registry. Maybe a sync command will be good enough ?
domain_restore:renew_prohibited fatal
Restore is not allowed.
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
ChangeOwnerOperationReturn

returned by changeowner.create() and domain.owner.set()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_change_owner:changeowner_refused_by_contact fatal
Negative answer(s) from contact(s).
domain_change_owner:internal_error support_recoverable
No active foa found.
domain_change_owner:max_waiting_duration_reached fatal
Max waiting duration for owner responses reached.
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
WebredirReturn

returned by domain.webredir.create(), domain.webredir.list() and domain.webredir.update()

Name Type
host string
type string
url string
DomainStatusUpdateOperationReturn

returned by domain.status.lock() and domain.status.unlock()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_status_update:command_failed fatal
The command failed at registry.
domain_status_update:domain_not_ours fatal
Domain is not ours at Registry.
domain_status_update:invalid_status fatal
The domain update is prohibited.
domain_status_update:policy_error fatal
Parameter Value Policy Error (2306).
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
HostListReturn

returned by domain.host.list()

Name Type
ips array
name string
HostReturn

returned by domain.host.info()

Name Type
domain string
ips array
name string
HostCreateOperationReturn

returned by domain.host.create()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
duplicate fatal
The wanted object is duplicate
host_create:command_failed fatal
The command failed at registry.
host_create:host_already_exists fatal
Host Already Exists.
host_create:policy_error fatal
Parameter Value Policy Error (2306).
host_create:range_error fatal
Parameter Value Range Error.
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
HostDeleteOperationReturn

returned by domain.host.delete()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
duplicate fatal
The wanted object is duplicate
host_delete:association_error fatal
Association Error.
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
HostUpdateOperationReturn

returned by domain.host.update()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
duplicate fatal
The wanted object is duplicate
host_update:policy_error fatal
Parameter Value Policy Error (2306).
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
MailboxListReturn

returned by domain.mailbox.list()

Name Type
login string
quota struct
responder struct
MailboxQuota

used by MailboxListReturn and MailboxReturn

Name Type
granted int
used string
MailboxResponder

used by MailboxReturn

Name Type
active boolean
text string
MailboxResponderShort

used by MailboxListReturn

Name Type
active boolean
MailboxReturn

returned by domain.mailbox.alias.set(), domain.mailbox.create(), domain.mailbox.info() and domain.mailbox.update()

Name Type
aliases array of struct
fallback_email string
login string
quota struct
responder struct
ForwardReturn

returned by domain.forward.create(), domain.forward.list() and domain.forward.update()

Name Type
destinations array
source string
PackmailReturn

returned by domain.packmail.info()

Changed in version 3.1.9: key autorenew has been added

Name Type
autorenew struct
date_created dateTime.iso8601
date_end dateTime.iso8601
domain string
domain_id int
forward_quota int
The limit to the number of forwards
id int
mailbox_quota int
The limit to the number of mailboxes
status string
storage_quota int
The storage limit, in Go
TLDListReturn

returned by domain.tld.list()

Name Type
id int
name string
phase string
region string
visibility string
TLDRegionListReturn

returned by domain.tld.region()

dict that contain an array of tld folded by region.
Name Type
name string
region string
TransferInOperationReturn

returned by domain.transferin.proceed()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_transferin:contact_name_matching_error support_recoverable
The first name, last name or the owner couldn’t be extracted from registry contact_info (usually, it means that the contact type is bad or the first name is missing). These infos should be corrected at the registry.
domain_transferin:contact_name_parsing_failure_at_registry support_recoverable
The orgname or the fisrt name, last name of the owner couldn’t be extracted from registry contact_info (usually, it means that the contact type is bad or the firt name/orgname is missing). These infos should be corrected at the registry.
domain_transferin:domain_in_db fatal
The domain is already in the Gandi database and should be already ours.
domain_transferin:internal_error support_recoverable
Internal Error.
domain_transferin:invalid_authcode client_recoverable
Invalid authcode. Change it and relaunch the operation (from ERROR to RUN step).
domain_transferin:invalid_contact support_recoverable
Error on a change_contact or change_owner request. Contact at registry is obsoleted or had bad type. Disabling the contact_roid (do_not_use) to force the creation of a new contact should fix the issue.
domain_transferin:invalid_domain_datas support_recoverable
Usually Error interner from Hexonet which retrieve the domain with corrupted datas (Ex TOO FEW ADMIN CONTACTS or TOO MANY TECH CONTACTS errors).
domain_transferin:invalid_pending_transfer client_recoverable
A transfer query is in progress but not to us.
domain_transferin:max_waiting_duration_reached client_recoverable
The Foa has expired (6 days max)
domain_transferin:registry_domain_info_error client_recoverable
The registry failed on a domain_info, cause the authcode is invalid or the domain is Transfer Prohibited.
domain_transferin:registry_error fatal
Registry error.
domain_transferin:registry_unsupported_error fatal
The registry does not support an EPP Request.
domain_transferin:transfer_prohibited client_recoverable
The domain is marked as Transfer Prohibited at the registry or in the whois text. clientTransferProhibited and serverTransferProhibited are not ditinguished.
domain_transferin:transfer_refused client_recoverable
The registry send a negative answer to the transfer query.
domain_transferin:transfer_refused_by_contact client_recoverable
The current owner of the domain has refused the transfer query. The op can be relaunched from the start (from ERROR to WAIT)
domain_transferin:unexistant_domain fatal
The domain doesn’t exist.
domain_transferin:unrequested_transfer client_recoverable
Only for the push domains. It means that the Gandi flag couldn’t be found int the whois text.
domain_transferin:whois_extraction_error support_recoverable
The whois couldn’t be extracted for some reason (encoding problem, no whois server, the domain couldn’t be find in the whois database, etc).
domain_transferin:whois_extraction_failed client_recoverable
No email adress could have been extracted from Whois.
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
NsSetOperationReturn

returned by domain.nameservers.set()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_ns_set:external_issues client_recoverable
If the domain is ours, it most likely means that the customer has to create a glue record. Otherwise, the customer will have to ask the domain administrator to create the host.
domain_ns_set:host_creation_failure fatal
Failed to create host.
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
ZoneListReturn

returned by domain.zone.list()

Name Type
date_updated dateTime.iso8601
id int
name string
public boolean
version int
ZoneReturn

returned by domain.zone.clone(), domain.zone.create(), domain.zone.info() and domain.zone.update()

Changed in version 3.1.1: key public has been added

Name Type
date_updated dateTime.iso8601
domains int
Number of domains linked to this zone
id int
name string
owner string
public boolean
0 custom user zone, 1 gandi generic zone
version int
id of the current active version
versions array
list all available version
ZoneVersionReturn

returned by domain.zone.version.list()

Name Type
date_created dateTime.iso8601
id int
ZoneRecordReturn

returned by domain.zone.record.add(), domain.zone.record.list(), domain.zone.record.set() and domain.zone.record.update()

Name Type
id int
name string
ttl int
type string
value string
DnssecReturn

returned by domain.dnssec.list()

Name Type
algorithm int
date_created dateTime.iso8601
digest string
digest_type int
flags int
id int
keytag int
public_key string
DomainDnssecOperationReturn

returned by domain.dnssec.create() and domain.dnssec.delete()

Name Type
date_created dateTime.iso8601
date_start dateTime.iso8601
date_updated dateTime.iso8601
errortype struct
classification of the error cause if the operation is in error (possible values for errortype defined behind)
eta string
estimated time of processing the operation
id int
infos array of struct
last_error string
last error of the operation
params struct
session_id int
session number for the operation
source string
contact who create the operation
step string
current step of the operation
type string
Possible Errors
Error identifier Type
authorization_error support_recoverable
An authorization error happened
domain_dnssec:command_failed fatal
The command failed at registry.
domain_dnssec:command_syntax_error fatal
Command Syntax Error.
domain_dnssec:data_management_policy_violation fatal
Data Management Policy Violation.
domain_dnssec:parameter_value_syntax_error fatal
Parameter Value Syntax Error.
duplicate fatal
The wanted object is duplicate
missing_parameter client_recoverable
There is a missing parameter
ratelimit temporary
The query was ratelimited
timeout temporary
The query timeout
unknown unknown
Unknown
EOIReturn

returned by domain.eoi.create(), domain.eoi.info() and domain.eoi.list()

Name Type
contact struct
date_created dateTime.iso8601
fqdn string
id int
max_position int
position int
tld string
ClaimReturn

used by ClaimsRequestReturn

Name Type
contacts struct
goods_and_services string
holders struct
jurisdiction_classes array
jurisdiction_country string
mark_name string
ClaimsCheckReturn

returned by domain.claims.check()

Struct mapping a domain name with its claims status (boolean)

ClaimsRequestReturn

returned by domain.claims.info()

Name Type
claims array of struct
date_created dateTime.iso8601
date_expire dateTime.iso8601
notice_id string
status string
BaseSMDReturn

returned by domain.smd.extract()

Name Type
date_expire dateTime.iso8601
labels array
mark_name string
uid string
SMDListReturn

returned by domain.smd.list()

Name Type
date_created dateTime.iso8601
date_expire dateTime.iso8601
id int
labels array
mark_id string
mark_name string
status string
uid string
SMDReturn

returned by domain.smd.create() and domain.smd.info()

Name Type
date_created dateTime.iso8601
date_expire dateTime.iso8601
id int
labels array
mark_holder_name string
mark_holder_org string
mark_id string
mark_jurisdiction string
mark_name string
mark_regnum string
original string
status string
uid string
UKRightsStatus

returned by domain.misc.ukrights()

.uk rights of registration structure
Name Type
allowed boolean
reason string
In case of non-egibility, might be one of NAME, ORGANIZATION, STREET, CITY, STATE, ZIP, COUNTRY or EMAIL