porting_timestamp
porting_timestamp tells you whether a phone number has been
ported to another operator and, if so, when it was last ported.
A recent port is a fraud signal in its own right: moving a number to a
new operator is one of the ways to take control of it. For the operator
the number is on today, use current_carrier; for the full
history of ports, use porting_logs.
Request
Send the number and porting_timestamp in
commands. No other input is needed.
{
"number": "+447808226974",
"commands": ["porting_timestamp"]
}
porting_timestamp is not available in every country. Where
it is not available, see Billing.
Response
The result is in three fields at the top level of the response.
A ported number:
{
"status": 0,
"status_message": "Response from one supplier",
"ported": true,
"ported_date": "2024-01-15T00:00:00.000Z",
"ported_date_type": "exact",
"version": "..."
}
A number that has never been ported:
{
"status": 0,
"status_message": "Response from one supplier",
"ported": false,
"version": "..."
}
| Field | Type | Meaning |
|---|---|---|
ported |
boolean | true if the number has been ported at least once,
false if it never has. A number ported away and later
back to its original operator still reads true. |
ported_date |
string | When the number was last ported, ISO 8601 in UTC. When the source
knows only the day, the time is midnight UTC
(2024-01-15T00:00:00.000Z): read
ported_date_type to know how precise the date is.
Absent when the number has not been ported. |
ported_date_type |
string | How precise ported_date is, as stated by the source.
Present only together with ported_date. |
ported_date_type values
| Value | Meaning |
|---|---|
exact | ported_date is the actual day of the port. |
before | The number was ported on or before ported_date, which marks the start of the records available for that country: the actual port may be older. |
Compare ported_date_type without regard to case, and treat
any other value as "precision unknown".
When there is no porting information
If the source has no porting data for the number or could not be
reached, the response has none of these fields. The
status is 4, and the
status_message names porting_timestamp among
the commands that returned no data. If the number's country is not
covered, the status is 2, or 4
when other commands were served.
Billing
A response with ported or ported_date is
charged, including ported: false: "never ported" is an
answer. A response with neither is not charged.