> ## Documentation Index
> Fetch the complete documentation index at: https://www.latitude.sh/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve an IP

> Retrieve an IP Address



## OpenAPI

````yaml https://spec.speakeasy.com/latitude/latitude/latitude-sh-api-with-code-samples get /ips/{ip_id}
openapi: 3.0.1
info:
  title: Latitude.sh API
  version: '2023-06-01'
  description: >-
    The Latitude.sh API is a RESTful API to manage your Latitude.sh account. It
    allows you to perform the same actions as the Latitude.sh dashboard.
servers:
  - url: https://api.latitude.sh
    variables:
      latitude_api_key:
        default: <insert your api key here>
  - url: http://api.latitude.sh
    variables:
      latitude_api_key:
        default: <insert your api key here>
security: []
tags:
  - name: API keys
  - name: Baselines (Preview)
    description: >-
      Preview. Available to teams with the `baselines_api` feature flag. The
      shape of these endpoints may change before general availability.
  - name: Billing
  - name: Elastic Ips
  - name: Events
  - name: Firewalls
  - name: IP Addresses
  - name: Kubernetes Clusters
  - name: Marketplace apps
  - name: Operating Systems
  - name: Plans
  - name: Public Networks
  - name: Private Networks
  - name: Projects
  - name: Regions
  - name: Roles
  - name: SSH Keys
  - name: Servers
  - name: Block Storage
  - name: Filesystem Storage
  - name: Object Storage
  - name: Tags
  - name: Teams
  - name: Team members
  - name: Traffic
  - name: User data
  - name: User profile
  - name: VPN Sessions
  - name: Virtual machines
  - name: Virtual machine backups
  - name: Virtual machine restores
paths:
  /ips/{ip_id}:
    get:
      tags:
        - IP Addresses
      summary: Retrieve an IP
      description: Retrieve an IP Address
      operationId: get-ip
      parameters:
        - name: ip_id
          in: path
          description: The IP Address ID
          required: true
          schema:
            type: string
        - name: extra_fields[ip_addresses]
          in: query
          required: false
          description: >-
            The `region` and `server` are provided as extra attributes that are
            lazy loaded. To request it, just set
            `extra_fields[ip_addresses]=region,server` in the query string.
          schema:
            type: string
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/ip_address'
      security:
        - Bearer: []
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from latitudesh_python_sdk import Latitudesh
            import os


            with Latitudesh(
                bearer=os.getenv("LATITUDESH_BEARER", ""),
            ) as latitudesh:

                res = latitudesh.ip_addresses.get(ip_id="ip_059EqY7kOQj8p")

                # Handle response
                print(res)
        - lang: go
          label: Go (SDK)
          source: "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tlatitudeshgosdk \"github.com/latitudesh/latitudesh-go-sdk\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := latitudeshgosdk.New(\n        latitudeshgosdk.WithSecurity(os.Getenv(\"LATITUDESH_BEARER\")),\n    )\n\n    res, err := s.IPAddresses.Get(ctx, \"ip_059EqY7kOQj8p\", nil)\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res.IPAddress != nil {\n        // handle response\n    }\n}"
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { Latitudesh } from "latitudesh-typescript-sdk";

            const latitudesh = new Latitudesh({
              bearer: process.env["LATITUDESH_BEARER"] ?? "",
            });

            async function run() {
              const result = await latitudesh.ipAddresses.get({
                ipId: "<id>",
              });

              console.log(result);
            }

            run();
components:
  schemas:
    ip_address:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ip_address_data'
        meta:
          type: object
    ip_address_data:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - ip_addresses
        attributes:
          type: object
          properties:
            address:
              type: string
            cidr:
              type: string
              nullable: true
            family:
              type: string
              enum:
                - IPv4
                - IPv6
            gateway:
              type: string
              nullable: true
            netmask:
              type: string
            type:
              type: string
              enum:
                - Public
                - Private
                - Elastic
            public:
              type: boolean
            management:
              type: boolean
            additional:
              type: boolean
            project:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
            region:
              type: object
              properties:
                id:
                  type: string
                name:
                  type: string
                location:
                  type: object
                  properties:
                    id:
                      type: string
                    name:
                      type: string
                    slug:
                      type: string
            available:
              type: boolean
            assignment:
              type: object
              description: >-
                Server assignment information. Returns an empty object when the
                IP is not assigned to an active server (e.g., when the server is
                decommissioning or deleted). The hostname is null when the
                assigned server has no hostname set.
              properties:
                server_id:
                  type: string
                hostname:
                  type: string
                  nullable: true
                assigned_at:
                  type: string
                  nullable: true
            elastic:
              type: object
              description: >-
                Elastic IP details. Returns an empty object when the IP is not
                an Elastic IP.
              properties:
                id:
                  type: string
                mode:
                  type: string
                status:
                  type: string
            created_at:
              type: string
              format: date-time
              nullable: true
  securitySchemes:
    Bearer:
      type: apiKey
      name: Authorization
      in: header

````