> **For AI agents:** this page is a focused, LLM-optimized view of a
> single Fiber AI operation. Before calling it, fetch the routing
> instructions at [`https://api.fiber.ai/llms.txt`](https://api.fiber.ai/llms.txt) and the full operation
> index at [`https://api.fiber.ai/ai-docs/index.md`](https://api.fiber.ai/ai-docs/index.md).

# validatePhoneNumber

`POST /v1/validate-phone/single`

**Tags:** `Validation`

Validate a single phone number

**Endpoint:** `https://api.fiber.ai/v1/validate-phone/single`

## Description

Validates a phone number and returns detailed information including whether it's valid, reachable (active/alive), carrier information, and the caller ID name associated with the number.

⚡ Rate limit: 60 requests per 1 minute

💰 Cost: 3 credits per phone validation ⓘ

⏱ Recommended timeout: 1 minute ⓘ

## Request body (JSON Schema)

```json
{
  "type": "object",
  "properties": {
    "apiKey": {
      "type": "string",
      "description": "Your Fiber API key"
    },
    "phoneNumber": {
      "type": "string",
      "description": "Phone number to validate. E.164 (e.g. +14155551234) is recommended; other formats with spaces, dashes, or parentheses are accepted."
    },
    "patience": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "MINIMUM",
        "LOW",
        "MEDIUM",
        "HIGH",
        "EXTREME",
        "MAXIMUM",
        null
      ],
      "description": "How long to wait for phone-number verification after a number is found. Higher patience increases average response time but improves identity and reachability accuracy. MINIMUM is the least thorough verification option."
    }
  },
  "required": [
    "apiKey",
    "phoneNumber"
  ]
}
```

## Response — success (JSON Schema)

```json
{
  "type": "object",
  "properties": {
    "output": {
      "type": "object",
      "properties": {
        "formattedNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "Phone number in international format (e.g., +1 234 567 8900)"
        },
        "nationalFormat": {
          "type": [
            "string",
            "null"
          ],
          "description": "Phone number in national format"
        },
        "countryCallingCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "Country calling code with plus prefix (e.g. '+1', '+44'), derived from validation result; not used as request input."
        },
        "countryIsoCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "ISO 3166-1 alpha-2 country code (e.g. 'US', 'GB'), derived from validation result; not used as request input."
        },
        "countryName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Full country name (e.g. 'United States'), derived from validation result."
        },
        "isValid": {
          "type": "boolean",
          "description": "Whether the phone number is valid"
        },
        "isReachable": {
          "type": "string",
          "enum": [
            "reachable",
            "not_reachable",
            "bad_number",
            "unknown"
          ],
          "description": "Whether the phone number is currently reachable (alive/active status)"
        },
        "isPorted": {
          "type": "boolean",
          "description": "Whether the number has been ported to a different carrier"
        },
        "isRoaming": {
          "type": "boolean",
          "description": "Whether the number is currently roaming"
        },
        "currentCarrier": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "networkType": {
              "type": [
                "string",
                "null"
              ]
            },
            "country": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "description": "Information about the current carrier"
        },
        "originalCarrier": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "networkType": {
              "type": [
                "string",
                "null"
              ]
            },
            "country": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "description": "Information about the original carrier that issued the number"
        },
        "callerIdName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The name associated with this phone number (what shows up on caller ID)"
        },
        "validationScore": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10,
          "description": "Validation score from 0-10 (10 = valid and reachable, 6 = valid but not reachable, 2 = unknown, 0 = invalid)"
        },
        "validationStatus": {
          "type": "string",
          "enum": [
            "valid_reachable",
            "valid_not_reachable",
            "invalid",
            "unknown"
          ],
          "description": "Overall validation status"
        }
      },
      "required": [
        "isValid",
        "isReachable",
        "isPorted",
        "isRoaming",
        "validationScore",
        "validationStatus"
      ]
    },
    "chargeInfo": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charged-now"
              ]
            },
            "creditsCharged": {
              "type": "number"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsCharged"
          ],
          "description": "Credits were charged immediately for this operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charging-later"
              ]
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "message"
          ],
          "description": "Credits will be charged after the operation completes"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "charged-for-async-process"
              ]
            },
            "creditsCharged": {
              "type": "number"
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsCharged",
            "message"
          ],
          "description": "Credits that were charged for an asynchronous operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "free"
              ]
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "message"
          ],
          "description": "No credits were charged for this operation"
        },
        {
          "type": "object",
          "properties": {
            "method": {
              "type": "string",
              "enum": [
                "credits-refunded"
              ]
            },
            "creditsRefunded": {
              "type": "number"
            },
            "message": {
              "type": "string"
            },
            "lowCreditAlert": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "getMoreCreditsUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "URL to top up credits or restart billing cycle to get fresh credits."
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable credits warning."
                },
                "availableCredits": {
                  "type": "number",
                  "description": "Number of credits remaining in the current billing period."
                }
              },
              "required": [
                "getMoreCreditsUrl",
                "message",
                "availableCredits"
              ],
              "description": "Contains a link to get more credits, a warning message, and the remaining credit count."
            }
          },
          "required": [
            "method",
            "creditsRefunded",
            "message"
          ],
          "description": "Credits were refunded for this operation"
        }
      ]
    },
    "warnings": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "description": "Full path to extraneous field (e.g., 'searchParams.ExtraField')"
          },
          "message": {
            "type": "string",
            "description": "Warning message"
          }
        },
        "required": [
          "field",
          "message"
        ]
      },
      "description": "Warnings about extraneous fields in request"
    },
    "advice": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "description": "Tips, recommendations, and suggestions for using this API effectively."
    }
  },
  "required": [
    "output",
    "chargeInfo"
  ],
  "additionalProperties": false
}
```

---

Canonical JSON: [`https://api.fiber.ai/openapi.json`](https://api.fiber.ai/openapi.json)
Operation index: [`https://api.fiber.ai/ai-docs/index.md`](https://api.fiber.ai/ai-docs/index.md)
