---
title: ""
---

title: Create Customer IP (Customer)
description: POST /api/customers/:customerPublicId/ips
---

# Create Customer IP (Customer)
`POST /api/customers/:customerPublicId/ips`

Creates a new customer IP for DNSBL monitoring.

## Request Body

```json
{
  "ipAddress": "203.0.113.10",
  "label": "Mail Server",
  "ipFamily": "v4",
  "status": "active"
}
```

Notes:

- `customerPublicId` should be the customer public UUID. Legacy numeric customer IDs remain supported for compatibility.
- `ipFamily` is optional; if omitted, it is inferred from the IP address.
- If `ipFamily` is provided, it must match the IP address version.
- Creating an `active` IP may be blocked by quota limits.

## Example (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"

curl -X POST "$BASE_URL/api/customers/6bfec6f6-245a-47ce-843b-157d97d56f88/ips" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ipAddress":"203.0.113.10","label":"Mail Server","status":"active"}'
```

## Response

Returns the newly created customer IP record.

## Common errors

- `400 Invalid Customer identifier` when `:customerPublicId` is missing/invalid
- `400 Invalid IP address` when `ipAddress` is invalid
- `400 IP family mismatch...` when `ipFamily` does not match the IP
- `401 Unauthorized` when you are not logged in
- `403 Forbidden` for readonly/global supporter users, or when you cannot access the customer
- `403 Active IP limit reached...` when creating/activating would exceed your quota
- `404 Customer not found` when the customer does not exist
- `409 IP already exists for this customer` when the IP is already present

