Developers

GET/v3/lnp/project/{uniqueid}/events

Read porting project events

Retrieve stored project history and handle raw or malformed event payloads.

On this page
  1. Account and project access
  2. Request
  3. Response
  4. Read the event payload carefully
  5. History is not a delivery guarantee
  6. Errors and limits
  7. Effects

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/events"

Response

Fictional response example.

{
  "status": {
    "code": 200,
    "msg": "Project Events",
    "results": 1
  },
  "response": [
    {
      "id": 31,
      "subject": "Example project update",
      "event": "{\"type\":\"comment\",\"value\":\"Example update\",\"source\":\"Example source\"}",
      "type": "comment",
      "value": "Example update",
      "source": "Example source",
      "date_created": "2026-10-23 12:00:00"
    }
  ]
}

An existing project with no events returns API code 200, an empty list and status.results equal to 0. Results are requested in descending creation-time order, with no additional ordering for ties, pagination, cursor or date filter.

Read the event payload carefully

id is the numeric event row ID, subject is its stored subject, and date_created is its stored date/time value. The endpoint preserves the raw event string and also attempts to decode its type, value and source. If the payload is not a JSON object or a property is missing, the corresponding parsed field is an empty string.

The payload is not a fixed enum or a guaranteed plain-text schema. Do not treat source text as a verified identity or render event content as HTML. Keep raw events in authorized server-side workflows and display only appropriate text to authorized users. This endpoint has no separate staff/customer event visibility filter or content redaction.

History is not a delivery guarantee

This is stored project history, not a webhook stream, immutable synchronization cursor or complete record of every database change. For example, adding numbers through the reviewed add-numbers handler does not itself create an event. Reconcile the number list and status counts as well as reading events.

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

The reviewed handler reads stored events and does not change the project, start a transfer or debit the account. Event-writer visibility and authenticated account testing remain part of the pending contract review.