Get phone number details

Retrieves detailed information about a phone number including carrier, line type, porting status, and VoIP detection. Uses the customer's messaging provider for rich data, with fallback to the internal index.

GET
/v3/numbers/lookup/{phoneNumber}

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v3/numbers/lookup/+12025551234"
{
  "success": true,
  "data": {
    "phone_number": "+12025551234",
    "is_valid": true,
    "carrier_name": "T-Mobile",
    "line_type": "mobile",
    "country_code": "US",
    "mobile_country_code": "310",
    "mobile_network_code": "260",
    "is_ported": false,
    "is_voip": false
  },
  "error": null,
  "meta": {
    "request_id": "req_7X9zKp2jDw",
    "timestamp": "2026-09-14T20:45:13.0532056+00:00",
    "version": "v3"
  }
}
{
  "success": false,
  "data": null,
  "error": {
    "code": "VALIDATION_001",
    "message": "Phone number is required",
    "details": null,
    "doc_url": "https://docs.sent.dm/reference/api/error-catalog"
  },
  "meta": {
    "request_id": "req_7X9zKp2jDw",
    "timestamp": "2026-09-14T20:45:13.0532116+00:00",
    "version": "v3"
  }
}
Empty
Empty
{
  "success": false,
  "data": null,
  "error": {
    "code": "RESOURCE_013",
    "message": "Phone number not found or invalid",
    "details": null,
    "doc_url": "https://docs.sent.dm/reference/api/error-catalog"
  },
  "meta": {
    "request_id": "req_7X9zKp2jDw",
    "timestamp": "2026-09-14T20:45:13.0532122+00:00",
    "version": "v3"
  }
}
{
  "success": false,
  "data": null,
  "error": {
    "code": "INTERNAL_001",
    "message": "An unexpected error occurred. Please contact support with request ID: req_7X9zKp2jDw",
    "details": null,
    "doc_url": "https://docs.sent.dm/reference/api/error-catalog"
  },
  "meta": {
    "request_id": "req_7X9zKp2jDw",
    "timestamp": "2026-09-14T20:45:13.0532126+00:00",
    "version": "v3"
  }
}

Get authenticated account GET

Returns the account associated with the provided API key. The response includes account identity, contact information, messaging channel configuration, and — depending on the account type — either a list of child profiles or the profile's own settings. **Account types:** - `organization` — Has child profiles. The `profiles` array is populated. - `user` — Standalone account with no profiles. - `profile` — Child of an organization. Includes `organization_id`, `short_name`, `status`, and `settings`. **Channels:** The `channels` object always includes `sms`, `whatsapp`, and `rcs`. Each channel has a `configured` boolean. Configured channels expose additional details such as `phone_number`. **Sending number:** `sending_phone_number` is the account's US SMS sender. It is intentionally the same value as `channels.sms.phone_number` — the two are kept in step, and it is published under both names because `sending_phone_number` is what this value is called on `GET /v3/profiles`. Read either. One difference: `sending_phone_number` is always present, including as `null`, while `channels.sms.phone_number` is omitted when there is no sender. `sending_phone_number_profile_id` names the account that holds that number in inventory — normally this account, and a different one where a number is shared. Both are `null` when the account has no US SMS sender.

Changelog

A chronological record of platform updates, new features, and important changes to Sent's APIs and services