Start participant-level recording
This endpoint lets you start recording for a particular participant.
API Endpoint
POST
https://api.plivo.com/v1/Account/{auth_id}/MultiPartyCall/{mpc_name/UUID}/Participant/{Member_Id}/Record/
Arguments
file_format
Format of the recording.
Allowed values: mp3, wav.
Defaults to mp3.
recording_callback_url
URL to which status update events for this recording should be posted.
recording_callback_method
HTTP verb used to invoke the URL configured as recording_callback_url .
Allowed values: GET, POST.
Defaults to POST.
List of events and parameters sent to the recording_callback_url
These events are generated:
ParticipantRecordingInitiated
ParticipantRecordingPaused
ParticipantRecordingResumed
ParticipantRecordingCompleted
ParticipantRecordingFailed
This information is sent to the URL when an event is triggered:
EventNamestring
Event that triggered this notification. This parameter will have one of the values from the list of events above.
EventTimestampstring
Timestamp at which the event occurred. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm
MemberIDstring
The ID of the participant in the MPC. This ID is unique for each participant.
RecordingDurationstring
Duration of recording in seconds.
RecordingEndTimestring
Timestamp at which the recording ended.Format: YYYY-MM-DD HH:mm:ss+|-hh:mm
RecordingFormatstring
Format of the recording.
RecordingResourceURLstring
Resource URL of the recording file. You can use this URL to fetch the recording details later.
RecordingStartTimestring
Timestamp at which the recording started. Format: YYYY-MM-DD HH:mm:ss+|-hh:mm
RecordingURLstring
Complete path to the recorded file URL.
RecordingUUIDstring
Unique identifier to identify the file.
SequenceNumberstring
Indicates the sequence of the callback. Helpful to sort the callback events posted to the recording_callback_url.
Returns
If successful, this endpoint returns an acknowledgement that the recording has started, along with a URL to access the recording.
Response
{
"api_id" : "e05b5263-45dc-11eb-9014-0242ac110003" ,
"message" : "MPC: test_mpc_1 record started" ,
"recording_id" : "e06ac332-45dc-11eb-94fe-06dd7f581a50" ,
"recording_url" : "https://media.plivo.com/v1/Account/MAOTE1OWE0MDK0MTLHYW/Recording/e06ac332-45dc-11eb-94fe-06dd7f581a50.mp3"
}
Example Request
1
2
3
4
5
6
import plivo
client = plivo . RestClient ( auth_id = "<auth_id>" , auth_token = "<auth_token>" )
response = client . multi_party_calls . start_participant_recording ( memberid , uuid = 'uuid' , file_format = 'mp3' )
print ( response )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
require 'rubygems'
require 'plivo'
include Plivo
include Plivo :: Exceptions
api = RestClient . new ( "<auth_id>" , "<auth_token>" )
begin
response = api . multipartycalls . start_participant_recording (
"friendly_name" :"mpc_name" ,
"member_id" :"memberid" )
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
var plivo = require ( ' plivo ' );
( function main () {
' use strict ' ;
var client = new plivo . Client ( " <auth_id> " , " <auth_token> " );
client . multiPartyCalls . startParticipantRecording ( " memberid " , " mpc_uuid " / null , null / " mpc_friendlyName " ,
{
' file_format ' : ' mp3 ' ,
}). 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
<?php
require 'vendor/autoload.php' ;
use Plivo\RestClient ;
use Plivo\Exceptions\PlivoRestException ;
$client = new RestClient ( "<auth_id>" , "<auth_token>" );
try
{
$response = $client
-> multiPartyCalls
-> startParticipantRecording ( "member_id" , [ "friendly_name" => "mpc_name" , ]);
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
25
26
27
28
package com.plivo.examples.multipartycall ;
import com.plivo.api.Plivo ;
import com.plivo.api.exceptions.PlivoRestException ;
import com.plivo.api.exceptions.PlivoValidationException ;
import com.plivo.api.models.multipartycall.MultiPartyCall ;
import com.plivo.api.models.multipartycall.MultiPartyCallParticipantRecordingStart ;
import com.plivo.api.models.multipartycall.MultiPartyCallRecordingStartResponse ;
import com.plivo.api.models.multipartycall.MultiPartyCallUtils ;
import java.io.IOException ;
class MultiPartyCallParticipantRecordingStart {
public static void main ( String [] args ) throws IOException , PlivoRestException , PlivoValidationException {
Plivo . init ( "<auth_id>" , "<auth_token>" );
try
{
MultiPartyCallRecordingStartResponse response = MultiPartyCall . participantRecordStarter ( "name_MPCname" , "member_id" ). update ();
System . out . println ( response );
}
catch ( Exception 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
using System ;
using Plivo ;
using Plivo.Exception ;
namespace PlivoExamples
{
class Program
{
static void Main ( string [] args )
{
var api = new PlivoApi ( "<auth_id>" , "<auth_token>" );
try
{
var response = api . MultiPartyCall . StartParticipantRecording ( participantId : "member_id" , friendlyName : "mpc_name" );
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 '{"file_format": "mp3"}' \
https://api.plivo.com/v1/Account/{ auth_id} /MultiPartyCall/{ mpc_name/UUID} /Participant/{ Member_Id} /Record/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package main
import (
"fmt"
"github.com/plivo/plivo-go/v7"
)
func main () {
client , err := plivo . NewClient ( "<auth_id>" , "<auth_token>" , & plivo . ClientOptions {})
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
response , err := client . MultiPartyCall . StartParticipantRecording ( plivo . MultiPartyCallParticipantParams { FriendlyName : "MPC_Name" }, plivo . MultiPartyCallStartRecordingParams { FileFormat : "" , RecordingCallbackUrl : "" })
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
fmt . Printf ( "Response: %#v \n " , response )
}
Example Request
1
2
3
4
5
6
import plivo
client = plivo . RestClient ( auth_id = "<auth_id>" , auth_token = "<auth_token>" )
response = client . multi_party_calls . start_participant_recording ( memberid , uuid = 'uuid' , file_format = 'mp3' )
print ( response )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
require 'rubygems'
require 'plivo'
include Plivo
include Plivo :: Exceptions
api = RestClient . new ( "<auth_id>" , "<auth_token>" )
begin
response = api . multipartycalls . start_participant_recording (
"friendly_name" :"mpc_name" ,
"member_id" :"memberid" )
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
var plivo = require ( ' plivo ' );
( function main () {
' use strict ' ;
var client = new plivo . Client ( " <auth_id> " , " <auth_token> " );
client . multiPartyCalls . startParticipantRecording ( " memberid " , " mpc_uuid " / null , null / " mpc_friendlyName " ,
{
' file_format ' : ' mp3 ' ,
}). 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
<?php
require 'vendor/autoload.php' ;
use Plivo\RestClient ;
use Plivo\Exceptions\PlivoRestException ;
$client = new RestClient ( "<auth_id>" , "<auth_token>" );
try
{
$response = $client
-> multiPartyCalls
-> startParticipantRecording ( "member_id" , [ "friendly_name" => "mpc_name" , ]);
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
25
26
27
28
package com.plivo.examples.multipartycall ;
import com.plivo.api.Plivo ;
import com.plivo.api.exceptions.PlivoRestException ;
import com.plivo.api.exceptions.PlivoValidationException ;
import com.plivo.api.models.multipartycall.MultiPartyCall ;
import com.plivo.api.models.multipartycall.MultiPartyCallParticipantRecordingStart ;
import com.plivo.api.models.multipartycall.MultiPartyCallRecordingStartResponse ;
import com.plivo.api.models.multipartycall.MultiPartyCallUtils ;
import java.io.IOException ;
class MultiPartyCallParticipantRecordingStart {
public static void main ( String [] args ) throws IOException , PlivoRestException , PlivoValidationException {
Plivo . init ( "<auth_id>" , "<auth_token>" );
try
{
MultiPartyCallRecordingStartResponse response = MultiPartyCall . participantRecordStarter ( "name_MPCname" , "member_id" ). update ();
System . out . println ( response );
}
catch ( Exception 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
using System ;
using Plivo ;
using Plivo.Exception ;
namespace PlivoExamples
{
class Program
{
static void Main ( string [] args )
{
var api = new PlivoApi ( "<auth_id>" , "<auth_token>" );
try
{
var response = api . MultiPartyCall . StartParticipantRecording ( participantId : "member_id" , friendlyName : "mpc_name" );
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 '{"file_format": "mp3"}' \
https://api.plivo.com/v1/Account/{ auth_id} /MultiPartyCall/{ mpc_name/UUID} /Participant/{ Member_Id} /Record/
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 main
import (
"fmt"
"github.com/plivo/plivo-go/v7"
)
func main () {
client , err := plivo . NewClient ( "<auth_id>" , "<auth_token>" , & plivo . ClientOptions {})
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
response , err := client . MultiPartyCall . StartParticipantRecording ( plivo . MultiPartyCallParticipantParams { FriendlyName : "MPC_Name" }, plivo . MultiPartyCallStartRecordingParams { FileFormat : "" , RecordingCallbackUrl : "" })
if err != nil {
fmt . Print ( "Error" , err . Error ())
return
}
fmt . Printf ( "Response: %#v \n " , response )
}
🥳 Thank you! It means a lot to us!
Help Us Improve
Thank you so much for rating the page, we would like to get your input
for further improvements!
Thank you for your feedback!