---
name: "Net::EPP::ResponseCodes"
section: "3pm"
platform: "linux"
package: "libnet-epp-perl"
version: "0.28-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::EPP::ResponseCodes"
---

# Net::EPP::ResponseCodes(3pm)

a module to export some constants that correspond to EPP response codes.

## NAME

Net::EPP::ResponseCodes - a module to export some constants that correspond to EPP response codes.

## SYNOPSIS

```
    use Net::EPP::ResponseCodes;
    use Net::EPP::Simple;
    use strict;
    my $epp = Net::EPP::Simple->new(
        host    => 'epp.nic.tld',
        user    => 'my-id',
        pass    => 'my-password',
    );
    my $result = $epp->domain_transfer_request('example.tld', 'foobar', 1);
    if ($result) {
        print "Transfer initiated OK\n";
    } else {
        if ($Net::EPP::Simple::Code == OBJECT_PENDING_TRANSFER) {
            print "Error: domain is already pending transfer\n";
        } elsif ($Net::EPP::Simple::Code == INVALID_AUTH_INFO) {
            print "Error: invalid authcode provided\n";
        } elsif ($Net::EPP::Simple::Code == OBJECT_DOES_NOT_EXIST) {
            print "Error: domain not found\n";
        } elsif ($Net::EPP::Simple::Code == STATUS_PROHIBITS_OP) {
            print "Error: domain cannot be transferred\n";
        } else {
            print "Error code $Net::EPP::Simple::Code\n";
        }
    }
```

## DESCRIPTION

Every response sent to the client by an EPP server contains at least one `"<result>"` element that has a `"code"` attribute. This is a four-digit numeric code that describes the result of the request. This module exports a set of constants that provide handy mnemonics for each of the defined codes.

## EXPORTS

`"Net::EPP::ResponseCodes"` exports the following constants. The number in brackets is the integer value associated with the constant.

### Successful command completion responses (1nnn)

- OK (1000)

  - OK\_PENDING (1001)

  - OK\_NO\_MESSAGES (1300)

  - OK\_MESSAGES (1301)

  - OK\_BYE (1500)

  ### Command error responses (2nnn)

*Protocol Syntax*

- UNKNOWN\_COMMAND (2000)

  - SYNTAX\_ERROR (2001)

  - USE\_ERROR (2002)

  - MISSING\_PARAM (2003)

  - PARAM\_RANGE\_ERROR (2004)

  - PARAM\_SYNTAX\_ERROR (2005)

  *Implementation-specific Rules*

- UNIMPLEMENTED\_VERSION (2100)

  - UNIMPLEMENTED\_COMMAND (2101)

  - UNIMPLEMENTED\_OPTION (2102)

  - UNIMPLEMENTED\_EXTENSION (2103)

  - BILLING\_FAILURE (2104)

  - NOT\_RENEWABLE (2105)

  - NOT\_TRANSFERRABLE (2106)

  *Security (22nn)*

- AUTHENTICATION\_ERROR (2200)

  - AUTHORISATION\_ERROR (2201)

  - AUTHORIZATION\_ERROR (2201)

  - INVALID\_AUTH\_INFO (2202)

  *Data Management (23nn)*

- OBJECT\_PENDING\_TRANSFER (2300)

  - OBJECT\_NOT\_PENDING\_TRANSFER (2301)

  - OBJECT\_EXISTS (2302)

  - OBJECT\_DOES\_NOT\_EXIST (2303)

  - STATUS\_PROHIBITS\_OP (2304)

  - ASSOC\_PROHIBITS\_OP (2305)

  - PARAM\_POLICY\_ERROR (2306)

  - UNIMPLEMENTED\_OBJECT\_SERVICE (2307)

  - DATA\_MGMT\_POLICY\_VIOLATION (2308)

  *Server System (24nn)*

- COMMAND\_FAILED (2400)

  *Connection Management (25nn)*

- COMMAND\_FAILED\_BYE (2500)

  - AUTH\_FAILED\_BYE (2501)

  - SESSION\_LIMIT\_EXCEEDED\_BYE (2502)

  ## COPYRIGHT

This module is (c) 2008 - 2023 CentralNic Ltd and 2024 Gavin Brown. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
