# Retrieve all the IPs in a specified pool

## API Overview

IP pools allow you to group your dedicated SendGrid IP addresses. For example, you could create separate one pool for your transactional email and another for your marketing email. When sending marketing emails, specify that you want to use the marketing IP pool. This allows you to maintain separate reputations for your different email traffic.

A single IP address or a range of IP addresses may be dedicated to an account in order to send email for multiple domains. *The reputation of this IP is determined by the aggregate performance of all email traffic sent from it*.

IP pools can only be used with IP addresses for which you've set up a reverse DNS record.

If an IP pool is *not* specified for an email, it will use any IP available, including pooled addresses.

**Each user can create up to 100 different IP pools.**

## Operation overview

```json
{"path":"https://api.sendgrid.com/v3/ips/pools/{pool_name}","method":"get","servers":[{"url":"https://api.sendgrid.com","description":"for global users and subusers"},{"url":"https://api.eu.sendgrid.com","description":"for EU regional subusers"}]}
```

**This endpoint allows you to get all of the IP addresses that are in a specific IP pool.**

## Operation details

### Authentication

API Key

### Headers

```json
[{"in":"header","name":"Authorization","required":true,"default":"Bearer <<YOUR_API_KEY_HERE>>","schema":{"type":"string"}}]
```

### Path parameters

```json
[{"name":"pool_name","in":"path","description":"The name of the IP pool that you want to retrieve the IP addresses for.","required":true,"schema":{"type":"string"}}]
```

### Responses

```json
[{"responseCode":"200","schema":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"pool_name":{"type":"string","description":"The name of the IP pool.","maxLength":64},"ips":{"description":"The IP addresses that belong to this pool.","type":"array","items":{"type":"string"}}}},"examples":{"response":{"value":{"pool_name":"Sample","ips":["192.168.1.1","192.158.1.2","192.138.2.1"]}}}}}}},{"responseCode":"404","schema":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"The name of the error."},"message":{"type":"string","description":"A message explaining why the IP addresses could not be listed."}}}}}},"examples":{"response":{"value":{"errors":[{"field":"error","message":"Unable to locate specified IPs Pool"}]}}}}}}}]
```

Retrieve all the IPs in a specified pool

```js
const client = require("@sendgrid/client");
client.setApiKey(process.env.SENDGRID_API_KEY);

const pool_name = "pool_name";

const request = {
  url: `/v3/ips/pools/${pool_name}`,
  method: "GET",
};

client
  .request(request)
  .then(([response, body]) => {
    console.log(response.statusCode);
    console.log(response.body);
  })
  .catch((error) => {
    console.error(error);
  });
```

```python
import os
from sendgrid import SendGridAPIClient


sg = SendGridAPIClient(os.environ.get("SENDGRID_API_KEY"))

pool_name = "pool_name"

response = sg.client.ips.pools._(pool_name).get()

print(response.status_code)
print(response.body)
print(response.headers)
```

```csharp
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using SendGrid;

public class Program {
    public static async Task Main() {
        string apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY");
        var client = new SendGridClient(apiKey);

        var poolName = "pool_name";

        var response = await client.RequestAsync(
            method: SendGridClient.Method.GET, urlPath: $"ips/pools/{poolName}");

        Console.WriteLine(response.StatusCode);
        Console.WriteLine(response.Body.ReadAsStringAsync().Result);
        Console.WriteLine(response.Headers.ToString());
    }
}
```

```java
import com.sendgrid.*;
import java.io.IOException;

public class Example {
    public static void main(String[] args) throws IOException {
        try {
            SendGrid sg = new SendGrid(System.getenv("SENDGRID_API_KEY"));
            Request request = new Request();
            request.setMethod(Method.GET);
            request.setEndpoint("/ips/pools/pool_name");
            Response response = sg.api(request);
            System.out.println(response.getStatusCode());
            System.out.println(response.getBody());
            System.out.println(response.getHeaders());
        } catch (IOException ex) {
            throw ex;
        }
    }
}
```

```go
package main

import (
	"fmt"
	"github.com/sendgrid/sendgrid-go"
	"os"
)

func main() {
	apiKey := os.Getenv("SENDGRID_API_KEY")
	host := "https://api.sendgrid.com"
	request := sendgrid.GetRequest(apiKey, "/v3/ips/pools/pool_name", host)
	request.Method = "GET"
	response, err := sendgrid.API(request)
	if err != nil {
		fmt.Println(err.Error())
		os.Exit(1)
	} else {
		fmt.Println(response.StatusCode)
		fmt.Println(response.Body)
		fmt.Println(response.Headers)
	}
}
```

```php
<?php
// Uncomment the next line if you're using a dependency loader (such as Composer) (recommended)
// require 'vendor/autoload.php';

// Uncomment next line if you're not using a dependency loader (such as Composer)
// require_once '<PATH TO>/sendgrid-php.php';

$apiKey = getenv("SENDGRID_API_KEY");
$sg = new \SendGrid($apiKey);
$pool_name = "pool_name";

try {
    $response = $sg->client
        ->ips()
        ->pools()
        ->_($pool_name)
        ->get();
    print $response->statusCode() . "\n";
    print_r($response->headers());
    print $response->body() . "\n";
} catch (Exception $ex) {
    echo "Caught exception: " . $ex->getMessage();
}
```

```ruby
require 'sendgrid-ruby'
include SendGrid

sg = SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY'])
pool_name = "pool_name"

response = sg.client.ips.pools._(pool_name).get()
puts response.status_code
puts response.headers
puts response.body
```

```bash
curl -X GET "https://api.sendgrid.com/v3/ips/pools/pool_name" \
--header "Authorization: Bearer $SENDGRID_API_KEY"
```
