Extensible Provisioning Protocol
The Extensible Provisioning Protocol is a flexible protocol designed for allocating objects within registries over the Internet. The motivation for the creation of EPP was to create a robust and flexible protocol that could provide communication between domain name registries and domain name registrars. These transactions are required whenever a domain name is registered or renewed, thereby also preventing domain hijacking. Prior to its introduction, registries had no uniform approach, and many different proprietary interfaces existed. While its use for domain names was the initial driver, the protocol is designed to be usable for any kind of ordering and fulfilment system.
EPP is based on XML - a structured, text-based format. The underlying network transport is not fixed, although the only currently specified method is over TCP. The protocol has been designed with the flexibility to allow it to use other transports such as BEEP, SMTP, or SOAP.
The first protocol drafts were published as IETF individual submission Internet-Draft documents by Scott Hollenbeck of Verisign in November 2000:
Adoption
The protocol has been adopted by a number of domain name registries, such as:.ac,.aero,.ag,.ai,.as,.asia,.ar,.at,.au,.be,.biz,.br,.bz,.ca,.cat,.cc,.ch,.cl,.cn,.co,.cr,.cz,.com,.coop,.cx,.cz,.dk,.ee,.es,.eu,.fi,.fm,.fr,.gg,.gr,.gs,.hn,.ht,.il,.im,.in,.info,.io,.it, .je, .jobs,.ke,.ki,.kz,.la,.lc,.li,.lt,.lu,.lv,.md,.me,.mk,.mn,.mobi,.ms,.mu,.mx,.na,.name,.net,.nf,.ng,.nl,.no,.nu,.nz,.org,.pe,.pk,.pl,.pro,.ps,.pt,.ru,.ro,.sc,.se,.sh,.si,.su,.tel,.tl,.tm,.travel,.tv,.tw,.ua,.uk,.us,.vc,.ve and.za as well as ENUM registries such as those operating the , +41, +43, +44 and +48 country codes.EPP authInfo "codes" or "keys" are also required in the transfer of generic top-level domain names between registrars.
.com and.net domain names only began requiring the EPP key from fourth quarter 2006.
Current EPP Status Codes
Client Status | Description | User required action |
clientDeleteProhibited | This status code tells your domain's registry to reject requests to delete the domain. | This status indicates that it is not possible to delete the domain name registration, which can prevent unauthorized deletions resulting from hijacking and/or fraud. If you do want to delete your domain, you must first contact your registrar and request that they remove this status code. |
clientHold | This status code tells your domain's registry to not activate your domain in the DNS and as a consequence, it will not resolve. It is an uncommon status that is usually enacted during legal disputes, non-payment, or when your domain is subject to deletion. | Often, this status indicates an issue with your domain that needs resolution. If so, you should contact your registrar to resolve the issue. If your domain does not have any issues, but you need it to resolve, you must first contact your registrar and request that they remove this status code. |
clientRenewProhibited | This status code tells your domain's registry to reject requests to renew your domain. It is an uncommon status that is usually enacted during legal disputes or when your domain is subject to deletion. | Often, this status indicates an issue with your domain that needs resolution. If so, you should contact your registrar to resolve the issue. If your domain does not have any issues, and you simply want to renew it, you must first contact your registrar and request that they remove this status code. |
clientTransferProhibited | This status code tells your domain's registry to reject requests to transfer the domain from your current registrar to another. | This status indicates that it is not possible to transfer the domain name registration, which will help prevent unauthorized transfers resulting from hijacking and/or fraud. If you do want to transfer your domain, you must first contact your registrar and request that they remove this status code. |
clientUpdateProhibited | This status code tells your domain's registry to reject requests to update the domain. | This domain name status indicates that it is not possible to update the domain, which can help prevent unauthorized updates resulting from fraud. If you do want to update your domain, you must first contact your registrar and request that they remove this status code. |
Related RFCs
- RFC 3375 - Generic Registry-Registrar Protocol Requirements
- RFC 3735 - Guidelines for Extending EPP
- RFC 3915 - Domain Registry Grace Period Mapping
- RFC 4114 - Using EPP for ENUM addresses
- RFC 5910 - Domain Name System Security Extensions Mapping for the Extensible Provisioning Protocol
- RFC 5730 - Extensible Provisioning Protocol
- RFC 5731 - Extensible Provisioning Protocol Domain Name Mapping
- RFC 5732 - Extensible Provisioning Protocol Host Mapping
- RFC 5733 - Extensible Provisioning Protocol Contact Mapping
- RFC 5734 - Extensible Provisioning Protocol Transport over TCP
Adoption
- .