Account and project access
Use an enabled API account over HTTPS from an allowed IP address. The project must belong to that account and must not be deleted. Use the project’s unique ID from the port-order workflow, not its numeric database ID or a phone number. URL-encode the project ID when building a request.
Request
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/status"No request body, pagination or date filter is read by this endpoint.
Response
Fictional response example.
{
"status": {
"code": 200,
"msg": "Project Status"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"status": 2,
"status_str": "Completed",
"counts": {
"total": 2,
"pending": 0,
"in_progress": 0,
"completed": 1,
"rejected": 1
}
}
}The outer status.code reports the API result. The separate response.status is the project’s derived porting summary. Do not confuse the two.
A summary is not an all-numbers result
The summary chooses In Progress if any number has that status, otherwise Pending, otherwise Completed, otherwise Rejected. With no matching known status it defaults to Pending. A project containing both completed and rejected numbers therefore reports Completed while still having rejected numbers.
Always inspect counts and the individual number list before deciding the whole project is finished. counts.total includes every project-number row; the other counters cover only the four known status values and may not sum to the total when other values exist. A project with zero numbers reports zero counters and a Pending summary.
Interpret porting status
| Value | Label |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
Keep the numeric status and tolerate unknown values. Unknown labels fall back to the stored value rather than a guaranteed new label. A stored completion status or scheduled date does not by itself test inbound routing or every service on the number.
Errors and limits
Check both the HTTP response and status.code/status.msg. A missing, deleted or unowned project returns API code 404 with a project-not-found message. Authentication and source-IP restrictions also apply. The examples do not make a live request, and a successful response is not proof that a carrier has accepted or completed a transfer.
Effects
This endpoint reads stored project counts. It does not submit a transfer, change a status, initiate a call or debit the account in the reviewed handler. It provides no real-time carrier polling or webhook subscription.