# NAME API::Name - Name.com API Client # VERSION version 0.04 # SYNOPSIS use API::Name; my $name = API::Name->new( user => 'USER', token => 'TOKEN', identifier => 'APPLICATION NAME', ); $name->debug(1); $name->fatal(1); my $domain = $name->domains(get => 'example.com'); my $results = $domain->fetch; # after some introspection $domain->update( ... ); # DESCRIPTION This distribution provides an object-oriented thin-client library for interacting with the Name ([https://www.name.com](https://www.name.com)) API. For usage and documentation information visit [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). API::Name is derived from [API::Client](https://metacpan.org/pod/API::Client) and inherits all of it's functionality. Please read the documentation for API::Client for more usage information. # ATTRIBUTES ## token $name->token; $name->token('TOKEN'); The token attribute should be set to the API token assigned to the account holder. ## user $name->user; $name->user('USER'); The user attribute should be set to the API user assgined to the account holder. ## identifier $name->identifier; $name->identifier('IDENTIFIER'); The identifier attribute should be set to a string that identifies your application. ## debug $name->debug; $name->debug(1); The debug attribute if true prints HTTP requests and responses to standard out. ## fatal $name->fatal; $name->fatal(1); The fatal attribute if true promotes 4xx and 5xx server response codes to exceptions, a [API::Name::Exception](https://metacpan.org/pod/API::Name::Exception) object. ## retries $name->retries; $name->retries(10); The retries attribute determines how many times an HTTP request should be retried if a 4xx or 5xx response is received. This attribute defaults to 0. ## timeout $name->timeout; $name->timeout(5); The timeout attribute determines how long an HTTP connection should be kept alive. This attribute defaults to 10. ## url $name->url; $name->url(Mojo::URL->new('https://www.name.com')); The url attribute set the base/pre-configured URL object that will be used in all HTTP requests. This attribute expects a [Mojo::URL](https://metacpan.org/pod/Mojo::URL) object. ## user\_agent $name->user_agent; $name->user_agent(Mojo::UserAgent->new); The user\_agent attribute set the pre-configured UserAgent object that will be used in all HTTP requests. This attribute expects a [Mojo::UserAgent](https://metacpan.org/pod/Mojo::UserAgent) object. # METHODS ## action my $result = $name->action($verb, %args); # e.g. $name->action('head', %args); # HEAD request $name->action('options', %args); # OPTIONS request $name->action('patch', %args); # PATCH request The action method issues a request to the API resource represented by the object. The first parameter will be used as the HTTP request method. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## create my $results = $name->create(%args); # or $name->POST(%args); The create method issues a `POST` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## delete my $results = $name->delete(%args); # or $name->DELETE(%args); The delete method issues a `DELETE` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## fetch my $results = $name->fetch(%args); # or $name->GET(%args); The fetch method issues a `GET` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. ## update my $results = $name->update(%args); # or $name->PUT(%args); The update method issues a `PUT` request to the API resource represented by the object. The arguments, expected to be a list of key/value pairs, will be included in the request if the key is either `data` or `query`. # RESOURCES ## account $name->account; The account method returns a new instance representative of the API _account_ resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). ## dns $name->dns; The dns method returns a new instance representative of the API _dns_ resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). ## domain $name->domain; The domain method returns a new instance representative of the API _domain_ resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). ## host $name->host; The host method returns a new instance representative of the API _host_ resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). ## login $name->login; The login method returns a new instance representative of the API _login_ resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). ## logout $name->logout; The logout method returns a new instance representative of the API _logout_ resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). ## order $name->order; The order method returns a new instance representative of the API _order_ resource requested. This method accepts a list of path segments which will be used in the HTTP request. The following documentation can be used to find more information. [https://www.name.com/reseller/API-documentation](https://www.name.com/reseller/API-documentation). # AUTHOR Al Newkirk # COPYRIGHT AND LICENSE This software is copyright (c) 2014 by Al Newkirk. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.