Create an Application

Creates an Application. Creating an application is usually the first step, after which you would attach this application either to a number or an endpoint.

API Endpoint

POST https://api.plivo.com/v1/Account/{auth_id}/Application/

Arguments

answer_url required string

The URL Plivo will fetch when a call executes this application. More details

app_name required string

The name of your application

answer_method string

The method used to call the answer_url. Defaults to POST.

hangup_url string

The URL that will be notified by Plivo when the call hangs up. Defaults to answer_url. More details

hangup_method string

The method used to call the hangup_url. Defaults to POST.

fallback_answer_url string

Invoked by Plivo only if answer_url is unavailable or the XML response is invalid. Should contain a XML response.

fallback_method string

The method used to call the fallback_answer_url. Defaults to POST.

message_url string

The URL that will be notified by Plivo when an inbound message is received. Defaults not set.

message_method string

The method used to call the message_url. Defaults to POST.

default_number_app boolean

If set to true, this parameter ensures that newly created numbers, which don't have an app_id, point to this application.

default_endpoint_app boolean

If set to true, this parameter ensures that newly created endpoints, which don't have an app_id, point to this application.

subaccount string

ID of the subaccount to which this application needs to be associated with.

log_incoming_messages boolean

If set to false, the content of incoming messages to Plivo phone numbers associated with this application are not logged in Plivo systems, including the debug logs available on the Plivo console. Additionally, the last three digits of the from number are redacted in all system logs and in the Message Detail Record (MDR) of the incoming message.

log_incoming_messages defaults true when not specified.

Note that non-redacted content and from number is always passed to the the message_url irrespective of the value set for this flag.

Response

HTTP Status Code: 201

{
  "message": "created",
  "app_id": "15784735442685051",
  "api_id": "5a9fcb68-582d-11e1-86da-6ff39efcb949"
}

Example Request

1
2
3
4
5
6
7
import plivo

client = plivo.RestClient()
response = client.applications.create(
    app_name='Test Application',
    answer_url='http://answer.url', )
print(response)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#
# Example for Application Create
#
require 'rubygems'
require 'plivo'

include Plivo
include Plivo::Exceptions

api = RestClient.new("YOUR_AUTH_ID", "YOUR_AUTH_TOKEN")

begin
  response = api.applications.create(
    'Test Application',
    answer_url: 'http://answer.url',
    answer_method: 'GET'
  )
  puts response
rescue PlivoRESTError => e
  puts 'Exception: ' + e.message
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Example for Application create

var plivo = require('plivo');

(function main() {
    'use strict';
    
    // As the auth_id and auth_token are unspecified, Plivo will fetch them from the PLIVO_AUTH_ID and PLIVO_AUTH_TOKEN environment variables.
    var client = new plivo.Client();
    client.applications.create(
        "Test Application", // app name
    	{
		answerUrl: "http://answer.url", // answer url
	}
    ).then(function (response) {
        console.log(response);
    }, function (err) {
        console.error(err);
    });
})();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/**
 * Example for Application create
 */
require 'vendor/autoload.php';
use Plivo\RestClient;
use Plivo\Exceptions\PlivoRestException;
$client = new RestClient("YOUR_AUTH_ID", "YOUR_AUTH_TOKEN");

try {
    $response = $client->applications->create(
        'Test Application',
        [
	'answer_url' => 'http://answer.url',
        'answer_method' => 'POST'
	]
    );
    print_r($response);
}
catch (PlivoRestException $ex) {
    print_r(ex);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package com.plivo.api.samples.application;

import java.io.IOException;
import com.plivo.api.Plivo;
import com.plivo.api.exceptions.PlivoRestException;
import com.plivo.api.models.application.Application;
import com.plivo.api.models.application.ApplicationCreateResponse;

/**
* Example for Application create
*/
class ApplicationCreate {
    public static void main(String [] args) {
        Plivo.init();
        try {
            ApplicationCreateResponse response = Application.creator("Test Application", "http://answer.url")
                .create();

            System.out.println(response);
        } catch (PlivoRestException | IOException e) {
            e.printStackTrace();
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * Example for Application Create
 */
using System;
using System.Collections.Generic;
using Plivo;
using Plivo.Exception;

namespace PlivoExamples
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            var api = new PlivoApi("YOUR_AUTH_ID", "YOUR_AUTH_TOKEN");
            try
            {
                var response = api.Application.Create(
                    appName:"Test Application",
                    answerUrl:"http://answer.url"
                );
                Console.WriteLine(response);
            }
            catch (PlivoRestException e)
            {
                Console.WriteLine("Exception: " + e.Message);
            }
        }
    }
}
1
2
3
4
curl -i --user AUTH_ID:AUTH_TOKEN \
    -H "Content-Type: application/json" \
    -d '{"answer_url": "http://example.com", "app_name": "Testing_App"}' \
    https://api.plivo.com/v1/Account/{auth_id}}/Application/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Example for Application create
package main

import "fmt"
import "github.com/plivo/plivo-go"
 
func main() {
	client, err := plivo.NewClient("", "", &plivo.ClientOptions{})
	if err != nil {
		panic(err)
	}
	response, err := client.Applications.Create(
		plivo.ApplicationCreateParams{
			AppName: "Test Application",
			AnswerURL: "http://answer.url",
		},
	)
	if err != nil {
		panic(err)
	}
	fmt.Printf("Response: %#v\n", response)
}