Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Voice LI-ELS, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flumen.com%2Flumen-voice-li-els" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Flumen.com%2Flumen-voice-li-els" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Voice LI-ELS API.
List rate centers by state and check their utilization for a productID before ordering numbers
Reserve up to 399 telephone numbers per rate center per order via POST /Voice/v1/Numbers/orderInventory
Check service availability and portability for an address or telephone number through POST /Voice/v3/Numbers/coverage
Create install or LNP porting orders for LI and ELS products with POST /Voice/v2/Numbers/order, then supplement, change, or cancel them
GET STARTED
Activate a port in real time with POST /Voice/v1/Numbers/lnp/portnow once the FOC date is today or past
Answer a backorder prompt with Accept_with_BackOrder, Accept_Available_Only, or Reject through POST /Voice/v1/Numbers/customerApproval
Track orders with GET /Voice/v1/Numbers/orderStatus and porting with GET /Voice/v1/Numbers/lnp/{VOID}/status
Patterns agents use Voice LI-ELS API for, with concrete tasks.
★ Number provisioning agent through Jentic
A provisioning agent fulfils a request for local numbers in a new market. It searches Jentic for 'reserve Lumen telephone numbers', receives the orderInventory operation with its productID, rateCenters, and customerServiceName fields, checks options with GET /Voice/v1/Numbers/rateCenters for the state, and submits the reservation. If the request goes to backorder, it answers through the customerApproval operation before the 4-hour window closes.
Call GET /Voice/v1/Numbers/rateCenters with state CO, then POST /Voice/v1/Numbers/orderInventory with productID, customerServiceName, and rateCenters containing rateCenter DENVER, state CO, tnQuantity 20
Number porting
Move existing numbers onto Lumen. POST /Voice/v3/Numbers/coverage with lnpIndicator Y checks portability, POST /Voice/v2/Numbers/order creates the LNP order with its subscriberLineList, and once the Firm Order Commit date is today or in the past, POST /Voice/v1/Numbers/lnp/portnow activates the numbers in real time. GET /Voice/v1/Numbers/lnp/{VOID}/status reports progress with the PON.
Call POST /Voice/v3/Numbers/coverage with lnpIndicator Y for the numbers, then GET /Voice/v1/Numbers/lnp/{VOID}/status with the PON, and call POST /Voice/v1/Numbers/lnp/portnow when the FOC date has arrived
Inventory and disconnect housekeeping
Keep the number estate tidy. GET /Voice/v2/Reports/inventoryDetails looks up an active number by TN, GET /Voice/v3/Numbers/inventory lists inventory or pending orders by rate center, and POST /Voice/v1/Numbers/order/disconnect releases numbers with a customerRequestedDate at least one business day ahead.
Call GET /Voice/v3/Numbers/inventory with state CO to list spare numbers, then POST /Voice/v1/Numbers/order/disconnect with a tnList of unused numbers and a customerRequestedDate next week
22 endpoints — the lumen voice li-els api manages the telephone number life cycle for lumen's local inbound (li) and enhanced local service (els) voice products.
METHOD
PATH
DESCRIPTION
/Voice/v1/Numbers/rateCenters
List rate centers by state
/Voice/v1/Numbers/orderInventory
Reserve telephone numbers
/Voice/v3/Numbers/coverage
Retrieve service availability
/Voice/v2/Numbers/order
Create an install or porting order
/Voice/v1/Numbers/lnp/portnow
Trigger a port
/Voice/v1/Numbers/orderStatus
Retrieve voice order status
/Voice/v1/Numbers/order/disconnect
Disconnect telephone numbers
/Voice/v1/Numbers/rateCenters
List rate centers by state
/Voice/v1/Numbers/orderInventory
Reserve telephone numbers
/Voice/v3/Numbers/coverage
Retrieve service availability
/Voice/v2/Numbers/order
Create an install or porting order
/Voice/v1/Numbers/lnp/portnow
Trigger a port
/Voice/v1/Numbers/orderStatus
Retrieve voice order status
/Voice/v1/Numbers/order/disconnect
Disconnect telephone numbers
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Lumen Voice LI-ELS by hand means running the OAuth2 client-credentials exchange, sending the right BusOrg in the x-customer-number header, and building nested subscriberLineList payloads for install and porting orders. Through Jentic you install once, import the Lumen Voice LI-ELS API from the API Directory, store your client credentials once, and your agent calls it.
Permission scoping
Most Lumen voice operations carry the order or number in the request body, so limit the agent to the operations it needs, such as reading order status and inventory. Lumen carries the target inside the request body, so rules bound which operations your agent may call, not which order. Destructive ones like disconnect or order cancel are not included unless you add them.
Credential isolation
Your Lumen client credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'reserve telephone numbers' or 'check number portability', and Jentic returns the matching Lumen operation with its input schema, including enums like lnpIndicator and approvalResponse, so the agent calls the right endpoint without browsing the developer portal.
Alternatives and complements available in the Jentic catalogue.
Specific to using Voice LI-ELS API through Jentic.
What authentication does the Lumen Voice LI-ELS API use?
Per its OpenAPI spec, the Lumen Voice LI-ELS API uses OAuth2 with the client credentials flow, with a token URL of /oauth/token on Lumen's test host. Requests also carry the x-customer-number header, your Lumen BusOrg ID; for ordering and disconnect calls this is the Child BusOrg tied to the billing account. Through Jentic, your client credentials are stored encrypted by your own Jentic One instance and the token is attached at execution time.
How many numbers can I reserve per order with the Lumen Voice LI-ELS API?
The spec states that POST /Voice/v1/Numbers/orderInventory reserves up to 399 telephone numbers per rate center per order, and that at least 75% of the current inventory in a rate center must be installed before ordering more.
What are the rate limits for the Lumen Voice LI-ELS API?
The OpenAPI spec does not specify rate limits. Check https://developer.lumen.com/contact-us/ for current limits on your account.
How do I port a number to Lumen through Jentic?
Install Jentic One, add the Lumen Voice LI-ELS API from the Jentic directory, and store your OAuth2 client credentials. Your agent searches for 'port a phone number to Lumen', receives POST /Voice/v2/Numbers/order with its lnpIndicator and subscriberLineList schema, and later activates the port with POST /Voice/v1/Numbers/lnp/portnow. To run it on your own infrastructure, install Jentic One from its GitHub repo.
What happens if a Lumen number request cannot be fulfilled?
Lumen sends a push notification saying how many numbers can be fulfilled now and how many will be backordered. You answer with POST /Voice/v1/Numbers/customerApproval using an approvalResponse such as Accept_with_BackOrder, Accept_Available_Only, or Reject, and the order is cancelled unless a response arrives within 4 hours.
Is there a Lumen Voice LI-ELS MCP server?
You don't need an MCP server to give your agent the Lumen Voice LI-ELS API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it, discovering the ordering and porting operations by intent.
Can I limit what my agent is allowed to do with the Lumen Voice LI-ELS API?
Yes. For a monitoring agent, allow only GET /Voice/v1/Numbers/orderStatus, GET /Voice/v1/Numbers/lnp/{VOID}/status, and GET /Voice/v3/Numbers/inventory, so it can report on orders and inventory but cannot reserve, port, or disconnect numbers. The agent's calls are logged for review.
Know of an official OpenAPI document? Contribute it →
For Agents
Reserve Lumen LI and ELS telephone numbers by rate center, check coverage and portability, place install or porting orders, trigger ports, disconnect numbers, and track order status. Uses OAuth2 client credentials and an x-customer-number header.
Use for: I need to reserve 20 local numbers in a Denver rate center, Check whether this phone number can be ported to Lumen, List the rate centers available in Colorado, Get the status of voice order 12345
Not supported: Does not place or record calls, send SMS, or bill end customers. Use for ordering, porting, and managing Lumen LI and ELS telephone numbers only.
The Lumen Voice LI-ELS API manages the telephone number life cycle for Lumen's Local Inbound (LI) and Enhanced Local Service (ELS) voice products. It lists rate centers by state, checks service coverage and number portability at an address, reserves numbers into inventory by rate center, and creates install or Local Number Portability (LNP) porting orders that can be supplemented, changed, cancelled, or triggered in real time. Further operations disconnect active numbers, report order and porting status, list active numbers, and return order notifications. Calls use an OAuth 2.0 client-credentials token and carry the customer's BusOrg ID in the x-customer-number header; the spec's server is Lumen's mock environment.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>