NAV
shell ruby python csharp php

PhoneNumber

The PhoneNumber object

The PhoneNumber object looks like this in JSON:

{
    "object": "phone_number",
    "id": 3,
    "owner_id": 1,
    "owner_type": "organization",
    "number": "333.555.6666 x 091",
    "type": "work",
    "primary": true,
    "most_recent_by_type": false,
    "old": false,
    "public": true,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": null,
    "is_sms_verified": false,
    "sandbox": true
}
Attribute Required Data Type
id Yes int
owner_id Yes int
owner_type Yes enum (person, organization)
number Yes text (45)
type Yes enum (home, work, mobile, fax, other, org, school)
primary Yes bool
most_recent_by_type Yes bool
old Yes bool
public Yes bool
synced_from Yes int
ext No int
import_id No int
added_at No datetime
added_by_id No int
is_sms_verified No --
sandbox No bool

index (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "list",
    "count": 1,
    "results": 1,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "phone_number",
            "id": 3,
            "owner_id": 1,
            "owner_type": "organization",
            "number": "333.555.6666 x 091",
            "type": "work",
            "primary": true,
            "most_recent_by_type": false,
            "old": false,
            "public": true,
            "synced_from": null,
            "ext": null,
            "import_id": null,
            "added_at": null,
            "added_by_id": null,
            "is_sms_verified": false
        }
    ],
    "sandbox": true
}

Retrieves all PhoneNumber objects tied to a specific Organization.

HTTP Request

GET /organizations/(organization)/phonenumbers

Parameters

None

Permissions

One of the following roles is required to call this method:

index (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/phonenumbers"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "list",
    "count": 1,
    "results": 1,
    "results_per_page": null,
    "pages": 1,
    "page": 1,
    "offset": 0,
    "has_more": false,
    "data": [
        {
            "object": "phone_number",
            "id": 100,
            "owner_id": 12,
            "owner_type": "person",
            "number": "333-555-6666",
            "type": "work",
            "primary": true,
            "most_recent_by_type": false,
            "old": false,
            "public": true,
            "synced_from": null,
            "ext": null,
            "import_id": null,
            "added_at": null,
            "added_by_id": null,
            "is_sms_verified": false
        }
    ],
    "sandbox": true
}

Retrieves all PhoneNumber objects tied to a specific Person.

HTTP Request

GET /people/(person)/phonenumbers

Parameters

None

Permissions

One of the following roles is required to call this method:

create (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "number": "423-555-1100",
    "type": "work"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :number => '423-555-1100',
  :type => 'work'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'number': '423-555-1100',
  'type': 'work'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  number = "423-555-1100",
  type = "work"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'number' => '423-555-1100',
  'type' => 'work'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 2179,
    "owner_id": 1,
    "owner_type": "organization",
    "number": "(423) 555-1100",
    "type": "work",
    "primary": false,
    "most_recent_by_type": true,
    "old": false,
    "public": false,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": "2026-07-25T16:24:08+00:00",
    "added_by_id": 22,
    "is_sms_verified": false,
    "sandbox": true
}

Creates a new PhoneNumber object.

HTTP Request

POST /organizations/(organization)/phonenumbers

Parameters

Name Required Data Type Description
number Yes text (45)
type Yes enum (work, fax, other)

Permissions

One of the following roles is required to call this method:

show (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 3,
    "owner_id": 1,
    "owner_type": "organization",
    "number": "333.555.6666 x 091",
    "type": "work",
    "primary": true,
    "most_recent_by_type": false,
    "old": false,
    "public": true,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": null,
    "is_sms_verified": false,
    "sandbox": true
}

Retrieves a specific PhoneNumber object.

HTTP Request

GET /organizations/(organization)/phonenumbers/(phonenumber)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Permissions

One of the following roles is required to call this method:

update (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 3,
    "owner_id": 1,
    "owner_type": "organization",
    "number": "(333) 555-6666 x 091",
    "type": "work",
    "primary": true,
    "most_recent_by_type": true,
    "old": false,
    "public": true,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": null,
    "is_sms_verified": false,
    "sandbox": true
}

Updates an existing PhoneNumber object.

HTTP Request

PUT /organizations/(organization)/phonenumbers/(phonenumber)

Parameters

Name Required Data Type Description
number No text (45)
type No enum (work, fax, other)
is_primary No bool
old No bool
public No bool

Permissions

One of the following roles is required to call this method:

delete (organization)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)"), Method.Delete);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/organizations/(organization)/phonenumbers/(phonenumber)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 3,
    "deleted": true
}

Deletes an existing PhoneNumber object.

HTTP Request

DELETE /organizations/(organization)/phonenumbers/(phonenumber)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

create (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X POST
-d '{
    "number": "555-555-4443",
    "type": "home"
}' \ 
require 'httparty'
response = HTTParty.post(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :number => '555-555-4443',
  :type => 'home'
 }.to_json
)
puts response.body
import requests
response = requests.post(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'number': '555-555-4443',
  'type': 'home'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/phonenumbers"), Method.Post);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  number = "555-555-4443",
  type = "home"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'number' => '555-555-4443',
  'type' => 'home'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 2180,
    "owner_id": 12,
    "owner_type": "person",
    "number": "(555) 555-4443",
    "type": "home",
    "primary": false,
    "most_recent_by_type": true,
    "old": false,
    "public": false,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": "2026-07-25T16:24:10+00:00",
    "added_by_id": 22,
    "is_sms_verified": false,
    "sandbox": true
}

Creates a new PhoneNumber object.

HTTP Request

POST /people/(person)/phonenumbers

Parameters

Name Required Data Type Description
number Yes text (45)
type Yes enum (mobile, home, work, school, fax, other)

Permissions

One of the following roles is required to call this method:

show (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 16,
    "owner_id": 16,
    "owner_type": "person",
    "number": "333.555.6666 x 091",
    "type": "work",
    "primary": true,
    "most_recent_by_type": false,
    "old": false,
    "public": true,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": null,
    "is_sms_verified": false,
    "sandbox": true
}

Retrieves a specific PhoneNumber object.

HTTP Request

GET /people/(person)/phonenumbers/(phonenumber)

Parameters

No additional parameters are needed beyond the ID of the object being requested that appears in the URL.

Permissions

One of the following roles is required to call this method:

update (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X PUT
require 'httparty'
response = HTTParty.put(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.put(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)"), Method.Put);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 16,
    "owner_id": 16,
    "owner_type": "person",
    "number": "(333) 555-6666 x 091",
    "type": "work",
    "primary": true,
    "most_recent_by_type": true,
    "old": false,
    "public": true,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": null,
    "is_sms_verified": false,
    "sandbox": true
}

Updates an existing PhoneNumber object.

HTTP Request

PUT /people/(person)/phonenumbers/(phonenumber)

Parameters

Name Required Data Type Description
number No text (45)
type No enum (mobile, home, work, school, fax, other)
is_primary No bool
old No bool
public No bool

Permissions

One of the following roles is required to call this method:

delete (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X DELETE
require 'httparty'
response = HTTParty.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.delete(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)"), Method.Delete);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 16,
    "deleted": true
}

Deletes an existing PhoneNumber object.

HTTP Request

DELETE /people/(person)/phonenumbers/(phonenumber)

Parameters

No additional parameters are needed beyond the ID of the object to delete that appears in the URL.

Permissions

One of the following roles is required to call this method:

unverify (person)

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)/unverify" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)/unverify',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)/unverify',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)/unverify"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/(phonenumber)/unverify');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 16,
    "owner_id": 16,
    "owner_type": "person",
    "number": "(333) 555-6666 x 091",
    "type": "work",
    "primary": true,
    "most_recent_by_type": true,
    "old": false,
    "public": true,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": null,
    "added_by_id": null,
    "is_sms_verified": false,
    "sandbox": true
}

HTTP Request

GET /people/(person)/phonenumbers/(phonenumber)/unverify

Parameters

None

Action Parameters

Name Data Type Description
send_notification_email Default is false

Permissions

One of the following roles is required to call this method:

set

Example code to call this method:

curl "https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/set" \
-H "Content-Type: application/json" \ 
-H "Authorization: Bearer YOUR_POPULI_API_KEY" \ 
-X GET
-d '{
    "number": "555-555-4443",
    "type": "home"
}' \ 
require 'httparty'
response = HTTParty.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/set',
 headers: {
  'Authorization' => 'Bearer YOUR_POPULI_API_KEY'
 },
 body: {
  :number => '555-555-4443',
  :type => 'home'
 }.to_json
)
puts response.body
import requests
response = requests.get(
 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/set',
 headers={
  'Authorization': 'Bearer YOUR_POPULI_API_KEY'
 },
 json={
  'number': '555-555-4443',
  'type': 'home'
 }
)
print(response.json())
using Newtonsoft.Json;
using RestSharp;
var client = new RestClient();
var request = new RestRequest(new Uri("https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/set"), Method.Get);
request.AddHeader("Authorization", "Bearer YOUR_POPULI_API_KEY");
request.AddJsonBody(new {
  number = "555-555-4443",
  type = "home"
});
var response = client.Execute(request);
var response_object = JsonConvert.DeserializeObject(response.Content);
Console.Write(response_object);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://yourschool.populiweb.com/api2/people/(person)/phonenumbers/set');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Authorization: Bearer YOUR_POPULI_API_KEY']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode([
  'number' => '555-555-4443',
  'type' => 'home'
]));
$response = curl_exec($curl);
$response_decoded = json_decode($response);
var_dump($response_decoded);

Example response:

{
    "object": "phone_number",
    "id": 2180,
    "owner_id": 12,
    "owner_type": "person",
    "number": "(555) 555-4443",
    "type": "home",
    "primary": false,
    "most_recent_by_type": true,
    "old": false,
    "public": false,
    "synced_from": null,
    "ext": null,
    "import_id": null,
    "added_at": "2026-07-25T16:24:10+00:00",
    "added_by_id": 22,
    "is_sms_verified": false,
    "sandbox": true
}

Creates a phone number OR updates it if it already exists.

HTTP Request

GET /people/(person)/phonenumbers/set

Parameters

Name Required Data Type Description
number Yes text (45)
type Yes enum (mobile, home, work, school, fax, other)
is_primary No bool
old No bool
public No bool

Permissions

One of the following roles is required to call this method: