# DNS v1

Note

This service is only available for Rackspace users.

## Setup

The first step is to pass in your credentials and set up a client. For Rackspace users, you will need your username and API key:

    use OpenCloud\Rackspace;

    $client = new Rackspace(Rackspace::US_IDENTITY_ENDPOINT, array(
      'username' => '{username}',
      'apiKey'   => '{apiKey}',
    ));

### DNS service

Now to instantiate the DNS service:

    $service = $client->dnsService();

## Operations

- Records
  - Setup
  - Get record
  - List records
    - Query parameters
    - Find a record ID from its name
  - Add record
  - Modify record
  - Delete record
- Domains
  - Get domain
  - List domains
    - Filter parameters
    - Finding a domain ID
  - List domain changes
  - Create domain
  - Clone domain
  - Export domain
  - Import domain
  - Modify domain
  - Delete domain
- Limits
  - List all limits
    - Absolute limits
  - List limit types
  - Query a specific limit
- Reverse DNS
  - Get PTR record
  - List PTR records
  - Add PTR record
  - Modify PTR record
  - Delete PTR record

## Glossary

> domain
>   A domain is an entity/container of all DNS-related information containing one or more records.
> record
>   A DNS record belongs to a particular domain and is used to specify information about the domain. There are several types of DNS records. Each record type contains particular information used to describe that record’s purpose. Examples include mail exchange (MX) records, which specify the mail server for a particular domain, and name server (NS) records, which specify the authoritative name servers for a domain.
> subdomain
>   Subdomains are domains within a parent domain, and subdomains cannot be registered. Subdomains allow you to delegate domains. Subdomains can themselves have subdomains, so third-level, fourth-level, fifth-level, and deeper levels of nesting are possible.
> pointer records
>   DNS usually determines an IP address associated with a domain name. Reverse DNS is the opposite process: resolving a domain name from an IP address. This is usually achieved with a domain name pointer.

## Further Links

- Getting Started Guide for the API
- API Developer Guide
- API release history