PingOne Platform APIs

Update Phone Delivery Settings (select Twilio Messaging Service)

PUT {{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}

This example uses the phoneDeliverySettings endpoint to specify the specific Twilio messaging service that should be used for sending PingOne notifications.

The ID used at the end of the URL is the ID of the sender that was returned in the initial call to create the sender.

The remaining parameters and their values can be taken from the reponse to the initial create call, or you can send a GET request that specifies the ID of the sender in the URL.

Since only one of the available messaging services can be set as the one to use for notifications, make sure that selected is set to true for only one of the messaging services in the array.

Prerequisites

Refer to Notifications and Phone Delivery Settings for important overview information.

Request Model
Property Type Required?

authToken

String

Required

id

String

Required

messagingServices

Object

Required

name

String

Required

provider

String

Required

sid

String

Required

Headers

Authorization      Bearer {{accessToken}}

Content-Type      application/json

Body

raw ( application/json )

{
  "id" : "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
  "name" : "Twilio Messaging Services sender",
  "provider" : "CUSTOM_TWILIO_MESSAGING_SERVICE",
  "sid" : "{{twilioMessagingServiceSID}}",
  "messagingServices" : [ {
    "selected" : false,
    "name" : "pingid",
    "messagingServiceId" : "MG0fea65a6453e95e74c378237ad515896"
  }, {
    "selected" : true,
    "name" : "Default Messaging Service for Conversations",
    "messagingServiceId" : "MG465d7bf41867734f6ad964f3da781117"
  }, {
    "selected" : false,
    "name" : "Test additional sid",
    "messagingServiceId" : "MG4a3b7c403917b8d5e2b8792b20abf380"
  } ]
}

Example Request

  • cURL

  • C#

  • Go

  • HTTP

  • Java

  • jQuery

  • NodeJS

  • Python

  • PHP

  • Ruby

  • Swift

curl --location --globoff --request PUT '{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--data '{
  "id" : "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
  "name" : "Twilio Messaging Services sender",
  "provider" : "CUSTOM_TWILIO_MESSAGING_SERVICE",
  "sid" : "{{twilioMessagingServiceSID}}",
  "messagingServices" : [ {
    "selected" : false,
    "name" : "pingid",
    "messagingServiceId" : "MG0fea65a6453e95e74c378237ad515896"
  }, {
    "selected" : true,
    "name" : "Default Messaging Service for Conversations",
    "messagingServiceId" : "MG465d7bf41867734f6ad964f3da781117"
  }, {
    "selected" : false,
    "name" : "Test additional sid",
    "messagingServiceId" : "MG4a3b7c403917b8d5e2b8792b20abf380"
  } ]
}'
var options = new RestClientOptions("{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Put);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer {{accessToken}}");
var body = @"{" + "\n" +
@"  ""id"" : ""420cd60b-8b61-4fc6-b179-a9cb78d4f93f""," + "\n" +
@"  ""name"" : ""Twilio Messaging Services sender""," + "\n" +
@"  ""provider"" : ""CUSTOM_TWILIO_MESSAGING_SERVICE""," + "\n" +
@"  ""sid"" : ""{{twilioMessagingServiceSID}}""," + "\n" +
@"  ""messagingServices"" : [ {" + "\n" +
@"    ""selected"" : false," + "\n" +
@"    ""name"" : ""pingid""," + "\n" +
@"    ""messagingServiceId"" : ""MG0fea65a6453e95e74c378237ad515896""" + "\n" +
@"  }, {" + "\n" +
@"    ""selected"" : true," + "\n" +
@"    ""name"" : ""Default Messaging Service for Conversations""," + "\n" +
@"    ""messagingServiceId"" : ""MG465d7bf41867734f6ad964f3da781117""" + "\n" +
@"  }, {" + "\n" +
@"    ""selected"" : false," + "\n" +
@"    ""name"" : ""Test additional sid""," + "\n" +
@"    ""messagingServiceId"" : ""MG4a3b7c403917b8d5e2b8792b20abf380""" + "\n" +
@"  } ]" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}"
  method := "PUT"

  payload := strings.NewReader(`{
  "id" : "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
  "name" : "Twilio Messaging Services sender",
  "provider" : "CUSTOM_TWILIO_MESSAGING_SERVICE",
  "sid" : "{{twilioMessagingServiceSID}}",
  "messagingServices" : [ {
    "selected" : false,
    "name" : "pingid",
    "messagingServiceId" : "MG0fea65a6453e95e74c378237ad515896"
  }, {
    "selected" : true,
    "name" : "Default Messaging Service for Conversations",
    "messagingServiceId" : "MG465d7bf41867734f6ad964f3da781117"
  }, {
    "selected" : false,
    "name" : "Test additional sid",
    "messagingServiceId" : "MG4a3b7c403917b8d5e2b8792b20abf380"
  } ]
}`)

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Content-Type", "application/json")
  req.Header.Add("Authorization", "Bearer {{accessToken}}")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
PUT /environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}} HTTP/1.1
Host: {{apiPath}}
Content-Type: application/json
Authorization: Bearer {{accessToken}}

{
  "id" : "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
  "name" : "Twilio Messaging Services sender",
  "provider" : "CUSTOM_TWILIO_MESSAGING_SERVICE",
  "sid" : "{{twilioMessagingServiceSID}}",
  "messagingServices" : [ {
    "selected" : false,
    "name" : "pingid",
    "messagingServiceId" : "MG0fea65a6453e95e74c378237ad515896"
  }, {
    "selected" : true,
    "name" : "Default Messaging Service for Conversations",
    "messagingServiceId" : "MG465d7bf41867734f6ad964f3da781117"
  }, {
    "selected" : false,
    "name" : "Test additional sid",
    "messagingServiceId" : "MG4a3b7c403917b8d5e2b8792b20abf380"
  } ]
}
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"id\" : \"420cd60b-8b61-4fc6-b179-a9cb78d4f93f\",\n  \"name\" : \"Twilio Messaging Services sender\",\n  \"provider\" : \"CUSTOM_TWILIO_MESSAGING_SERVICE\",\n  \"sid\" : \"{{twilioMessagingServiceSID}}\",\n  \"messagingServices\" : [ {\n    \"selected\" : false,\n    \"name\" : \"pingid\",\n    \"messagingServiceId\" : \"MG0fea65a6453e95e74c378237ad515896\"\n  }, {\n    \"selected\" : true,\n    \"name\" : \"Default Messaging Service for Conversations\",\n    \"messagingServiceId\" : \"MG465d7bf41867734f6ad964f3da781117\"\n  }, {\n    \"selected\" : false,\n    \"name\" : \"Test additional sid\",\n    \"messagingServiceId\" : \"MG4a3b7c403917b8d5e2b8792b20abf380\"\n  } ]\n}");
Request request = new Request.Builder()
  .url("{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}")
  .method("PUT", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
var settings = {
  "url": "{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}",
  "method": "PUT",
  "timeout": 0,
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer {{accessToken}}"
  },
  "data": JSON.stringify({
    "id": "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
    "name": "Twilio Messaging Services sender",
    "provider": "CUSTOM_TWILIO_MESSAGING_SERVICE",
    "sid": "{{twilioMessagingServiceSID}}",
    "messagingServices": [
      {
        "selected": false,
        "name": "pingid",
        "messagingServiceId": "MG0fea65a6453e95e74c378237ad515896"
      },
      {
        "selected": true,
        "name": "Default Messaging Service for Conversations",
        "messagingServiceId": "MG465d7bf41867734f6ad964f3da781117"
      },
      {
        "selected": false,
        "name": "Test additional sid",
        "messagingServiceId": "MG4a3b7c403917b8d5e2b8792b20abf380"
      }
    ]
  }),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var request = require('request');
var options = {
  'method': 'PUT',
  'url': '{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}',
  'headers': {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer {{accessToken}}'
  },
  body: JSON.stringify({
    "id": "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
    "name": "Twilio Messaging Services sender",
    "provider": "CUSTOM_TWILIO_MESSAGING_SERVICE",
    "sid": "{{twilioMessagingServiceSID}}",
    "messagingServices": [
      {
        "selected": false,
        "name": "pingid",
        "messagingServiceId": "MG0fea65a6453e95e74c378237ad515896"
      },
      {
        "selected": true,
        "name": "Default Messaging Service for Conversations",
        "messagingServiceId": "MG465d7bf41867734f6ad964f3da781117"
      },
      {
        "selected": false,
        "name": "Test additional sid",
        "messagingServiceId": "MG4a3b7c403917b8d5e2b8792b20abf380"
      }
    ]
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
import requests
import json

url = "{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}"

payload = json.dumps({
  "id": "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
  "name": "Twilio Messaging Services sender",
  "provider": "CUSTOM_TWILIO_MESSAGING_SERVICE",
  "sid": "{{twilioMessagingServiceSID}}",
  "messagingServices": [
    {
      "selected": False,
      "name": "pingid",
      "messagingServiceId": "MG0fea65a6453e95e74c378237ad515896"
    },
    {
      "selected": True,
      "name": "Default Messaging Service for Conversations",
      "messagingServiceId": "MG465d7bf41867734f6ad964f3da781117"
    },
    {
      "selected": False,
      "name": "Test additional sid",
      "messagingServiceId": "MG4a3b7c403917b8d5e2b8792b20abf380"
    }
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer {{accessToken}}'
));
$request->setBody('{\n  "id" : "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",\n  "name" : "Twilio Messaging Services sender",\n  "provider" : "CUSTOM_TWILIO_MESSAGING_SERVICE",\n  "sid" : "{{twilioMessagingServiceSID}}",\n  "messagingServices" : [ {\n    "selected" : false,\n    "name" : "pingid",\n    "messagingServiceId" : "MG0fea65a6453e95e74c378237ad515896"\n  }, {\n    "selected" : true,\n    "name" : "Default Messaging Service for Conversations",\n    "messagingServiceId" : "MG465d7bf41867734f6ad964f3da781117"\n  }, {\n    "selected" : false,\n    "name" : "Test additional sid",\n    "messagingServiceId" : "MG4a3b7c403917b8d5e2b8792b20abf380"\n  } ]\n}');
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
require "uri"
require "json"
require "net/http"

url = URI("{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Put.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer {{accessToken}}"
request.body = JSON.dump({
  "id": "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
  "name": "Twilio Messaging Services sender",
  "provider": "CUSTOM_TWILIO_MESSAGING_SERVICE",
  "sid": "{{twilioMessagingServiceSID}}",
  "messagingServices": [
    {
      "selected": false,
      "name": "pingid",
      "messagingServiceId": "MG0fea65a6453e95e74c378237ad515896"
    },
    {
      "selected": true,
      "name": "Default Messaging Service for Conversations",
      "messagingServiceId": "MG465d7bf41867734f6ad964f3da781117"
    },
    {
      "selected": false,
      "name": "Test additional sid",
      "messagingServiceId": "MG4a3b7c403917b8d5e2b8792b20abf380"
    }
  ]
})

response = http.request(request)
puts response.read_body
let parameters = "{\n  \"id\" : \"420cd60b-8b61-4fc6-b179-a9cb78d4f93f\",\n  \"name\" : \"Twilio Messaging Services sender\",\n  \"provider\" : \"CUSTOM_TWILIO_MESSAGING_SERVICE\",\n  \"sid\" : \"{{twilioMessagingServiceSID}}\",\n  \"messagingServices\" : [ {\n    \"selected\" : false,\n    \"name\" : \"pingid\",\n    \"messagingServiceId\" : \"MG0fea65a6453e95e74c378237ad515896\"\n  }, {\n    \"selected\" : true,\n    \"name\" : \"Default Messaging Service for Conversations\",\n    \"messagingServiceId\" : \"MG465d7bf41867734f6ad964f3da781117\"\n  }, {\n    \"selected\" : false,\n    \"name\" : \"Test additional sid\",\n    \"messagingServiceId\" : \"MG4a3b7c403917b8d5e2b8792b20abf380\"\n  } ]\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "{{apiPath}}/environments/{{envID}}/notificationsSettings/phoneDeliverySettings/{{twilioMessagingServiceP1ID}}")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "PUT"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()

Example Response

200 OK

{
    "_links": {
        "self": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/notificationsSettings/phoneDeliverySettings/420cd60b-8b61-4fc6-b179-a9cb78d4f93f"
        },
        "environment": {
            "href": "https://api.pingone.eu/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
        }
    },
    "id": "420cd60b-8b61-4fc6-b179-a9cb78d4f93f",
    "environment": {
        "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
    },
    "name": "Twilio Messaging Services sender",
    "createdAt": "2026-04-23T13:28:25.644Z",
    "updatedAt": "2026-04-23T14:17:41.669Z",
    "provider": "CUSTOM_TWILIO_MESSAGING_SERVICE",
    "sid": "{{twilioMessagingServiceSID}}",
    "messagingServices": [
        {
            "selected": false,
            "name": "pingid",
            "messagingServiceId": "MG0fea65a6453e95e74c378237ad515896"
        },
        {
            "selected": true,
            "name": "Default Messaging Service for Conversations",
            "messagingServiceId": "MG465d7bf41867734f6ad964f3da781117"
        },
        {
            "selected": false,
            "name": "Test additional sid",
            "messagingServiceId": "MG4a3b7c403917b8d5e2b8792b20abf380"
        }
    ]
}