# Retrieve all IP pools an IP address belongs to

## API Overview

Elements that can be shared among more than one endpoint definition.

## Operation overview

```json
{"path":"https://api.sendgrid.com/v3/ips/{ip_address}","method":"get","servers":[{"url":"https://api.sendgrid.com","description":"for global users"}]}
```

**This endpoint allows you to see which IP pools a particular IP address has been added to.**

The same IP address can be added to multiple IP pools.

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 based on the aggregate performance of all the senders who use it.

## 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":"ip_address","in":"path","description":"The IP address you are retrieving the IP pools for.","required":true,"schema":{"type":"string"}}]
```

### Responses

```json
[{"responseCode":"200","schema":{"description":"","content":{"application/json":{"schema":{"type":"object","required":["ip","subusers","rdns","pools","warmup","start_date","whitelabeled"],"properties":{"ip":{"type":"string","description":"The IP address."},"subusers":{"type":"array","description":"The subusers that can send email using this IP address.","items":{"type":"string"}},"rdns":{"type":"string","description":"The reverse DNS record for this IP address."},"pools":{"type":"array","description":"The list of IP pools that this IP address belongs to.","items":{"type":"string"}},"warmup":{"type":"boolean","description":"Indicates if this IP address is currently warming up."},"start_date":{"description":"The date that the IP address was entered into warmup.","nullable":true,"type":"integer"},"whitelabeled":{"type":"boolean","description":"Indicates if this IP address is associated with a reverse DNS record."}}},"examples":{"response":{"value":{"ip":"000.00.00.0","subusers":["subuser1","subuser2"],"rdns":"o1.em.example.com","pools":["test1"],"warmup":false,"start_date":null,"whitelabeled":true}}}}}}}]
```

Retrieve all IP pools an IP address belongs to

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

const ip_address = "196.215.224.146";

const request = {
  url: `/v3/ips/${ip_address}`,
  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"))

ip_address = "196.215.224.146"

response = sg.client.ips._(ip_address).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 ipAddress = "196.215.224.146";

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

        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/196.215.224.146");
            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/196.215.224.146", 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);
$ip_address = "196.215.224.146";

try {
    $response = $sg->client
        ->ips()
        ->_($ip_address)
        ->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'])
ip_address = "196.215.224.146"

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

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