Cloud communications made easy

Flowroute provides developers with direct access to, and control over, telephony resources such as phone numbers, inbound and outbound calling, text messaging and advanced signaling data through REST APIs.

Give your app the voice it needs. With Flowroute it’s easy

With the Flowroute Numbers API, developers can build high-quality voice capabilities in the Cloud in a programmatic, simple manner to deliver carrier-grade communication experiences.

Get the Numbers API

Acquire phone numbers

The Numbers API lets you search for and purchase voice and text-enabled phone numbers in the U.S. and Canada.

Dynamically route calls

The Numbers API enables you to create and update inbound routes for your Flowroute phone numbers.

Advanced call control

Use Flowroute’s RESTful APIs to receive, initiate, and control calls.

Give your apps SMS capabilities with
Flowroute's Messaging API

Programmatically send and receive text messages through Flowroute’s SMS API. Flowroute provides developers with the tools to integrate text messaging into their cloud-based applications and services. By unifying calling and messaging on a single phone number, through one provider, with a single API, developers are able to create contextual communication experiences.

Customized routing

Gain real-time control over how SMS messages are routed through customizable web hooks to ensure streamlined delivery at the account or individual number level.

Unify calling and messaging with one phone number

Unify calling and messaging on a one phone number, through one provider, with a single API, to create contextual communication experiences.

Send and receive SMS

Configure SMS functionality of any toll-free or local number you own immediately. You have send and receive SMS control to reply and scale your application in seconds.

Message detail records (MDRs)

Review your detailed SMS statistics and records usage in real-time. Receive detailed information including message direction, message status, billing info, timestamps, and content of the message.

Port Orders API

Flowroute offers a programmatic, transparent, and easy way to manage the onboarding process via an API or online portal. Users are provided a step-by- step process, highlighting potential issues early and helping to avoid common pitfalls, which ultimately results in faster port order completion rates.

Port order API (Beta Invitation-only)

Through the Port order API, Flowroute helps communication service providers manage the lifecycle of customer onboarding, from order submission to completion.

Number feature automation

Enables automated configuration of CNAM, E911, call routing and name assignments during onboarding.

Bulk port orders

Gives CSPs the ability to create and manage thousands of port orders at once through the WebApp.

Quality Control

Sends automated verifications to confirm phone number transition through NPAC, the National Portability Administration Center.

Real-time event updates

Provides access to the entire onboarding journey, including real-time messages from Flowroute’s number and porting experts.

Software Development

Easily program voice and SMS messaging

  • Send a Message

    Send an SMS from your Flowroute phone number to another valid phone number.

    #Example cURL Request curl -H "Content-Type: application/json" -X POST -d \ '{"to":"12061231234","from":"12065551234", "body":"hello world"}' \ -u accessKey:secretKey \ https://api.flowroute.com/v2/messages #Example Response { "data": { "id": "mdr1-e3672cb28a9d422a9671945c9bc4eb9a" } }
  • Look up a Message Detail Record

    Search for a specific record identifier and retrieve its Message Detail Record (MDR).

    #Example cURL Request curl -u accessKey:secretKey https://api.flowroute.com/v2/messages/mdr1-3fda18239a4d4ec2a7a961f6d813daf4 #Example Response 200 OK { "data": { "attributes": { "body": "Hey, nice marmot!", "direction": "outbound", "timestamp": "2016-04-14T21:10:27.366645+00:00", "amount_nanodollars": 4000000, "from": "12062092844", "message_encoding": 0, "has_mms": false, "to": "19515557918", "amount_display": "$0.0040", "callback_url": null, "message_type": "long-code" }, "type": "message", "id": "mdr1-3fda18239a4d4ec2a7a961f6d813daf4" } }
  • Search for Purchasable Phone Numbers

    Search for phone numbers by area code (NPA), area code and exchange (NPA-NXX), state, or rate center.

    #Example Python Request #Instantiate the Controller pnc = PurchasablePhoneNumbersController() #Search for Purchasable Telephone Numbers response = pnc.search(limit=1,npa=206,nxx=743,page=1,ratecenter='SEATTLE',state='WA',tn=None) #Example Response #Note: The following response is formatted for clarity only. { "links": { "next": "/v1/available-tns/tns/?npa=206&nxx;=743&state;=wa&ratecenter;=seattle&limit;=1&page;=2" }, "tns": { "12067439178": { "initial_cost": "1.00", "monthly_cost": "1.25", "state": "WA", "ratecenter": "SEATTLE", "billing_methods": [ "METERED" ] } } }
  • Purchase a Phone Number

    Purchase a phone number from available Flowroute inventory.

    #Example Python Request #Instantiate the Controller tnc = TelephoneNumbersController() #Purchase a Telephone Number billing = BillingMethod(billing_method="METERED") number = "15852003968" response = tnc.purchase(billing,number) #Example Response 201 Created { }
  • List Account Phone Numbers

    Retrieve a list of all phone numbers currently on your Flowroute account.

    #Example Python Request #Instantiate the Controller tnc = TelephoneNumbersController() #List Account Telephone Numbers response = tnc.list_account_telephone_numbers(limit=5,page=2,pattern=206) #Example Response { "links": { "prev": "/v1/tns/?limit=1&page=1", "next": "/v1/tns/?limit=1&page=3" }, "tns": { "12062092844": { "routes": [ { "type": "SIP-REG", "name": "sip-reg" }, { "type": "SIP-REG", "name": "sip-reg" } ], "billing_method": "METERED", "detail": "/v1/tns/120620928448" } } }
Full API Resources
					    #Example cURL Request
curl -H "Content-Type: application/json" -X POST -d \ 
'{"to":"12061231234","from":"12065551234", "body":"hello world"}' \
-u accessKey:secretKey \
https://api.flowroute.com/v2/messages

#Example Response
{
  "data": {
    "id": "mdr1-e3672cb28a9d422a9671945c9bc4eb9a"
  }
}