List subscriptions
Subscriptions define which Peerlogic activity should be delivered and where. Use this endpoint to audit your current setup, find inactive subscriptions, or identify the subscription whose ID appears in a webhook delivery.
Each subscription applies to one practice and one trigger type. You can repeat a supported filter to match any of the supplied values. For example, repeating practice_id returns subscriptions for either practice.
The list never includes a webhook secret_key. That key is returned only when the subscription is created. See the Webhooks and subscriptions guide for the complete delivery and decryption flow.
curl --request GET \
--url https://api.prod.peerlogic.com/api/subscriptions/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.prod.peerlogic.com/api/subscriptions/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.peerlogic.com/api/subscriptions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.prod.peerlogic.com/api/subscriptions/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.prod.peerlogic.com/api/subscriptions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.prod.peerlogic.com/api/subscriptions/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.peerlogic.com/api/subscriptions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "<SUBSCRIPTION_ID>",
"created_at": "2026-09-15T19:18:09Z",
"modified_at": "2026-09-15T19:18:09Z",
"name": "Missed-call events",
"description": "Notify our integration when a call is missed",
"destination": "https://partner.example.com/webhooks/peerlogic",
"extra": null,
"practice_id": "<PRACTICE_ID>",
"subscription_type": "webhook",
"is_active": true,
"system_message": null,
"trigger": {
"trigger_type": "missed_call"
}
}
]
}{
"detail": "'Authorization' header is required"
}{
"message": "No permissions assigned to permit access to this endpoint."
}Authorizations
Bearer access token issued by Peerlogic.
Query Parameters
Return subscriptions for any of these practice IDs. Repeat the query parameter to supply more than one value.
Return subscriptions matching either active state. Repeat the query parameter to include both values.
Return subscriptions matching any of these names. Repeat the query parameter to supply more than one value.
Search customer-defined subscription names and descriptions.
Order results by a supported subscription field. Prefix a field with - for descending order.
Page number to return.
Maximum number of subscriptions to return on one page.
Response
A paginated list of subscriptions.
Total number of matching subscriptions.
Subscriptions in the current page.
Show child attributes
Show child attributes
URL for the next page, or null when this is the final page.
URL for the previous page, or null when this is the first page.
Was this page helpful?
curl --request GET \
--url https://api.prod.peerlogic.com/api/subscriptions/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.prod.peerlogic.com/api/subscriptions/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.prod.peerlogic.com/api/subscriptions/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.prod.peerlogic.com/api/subscriptions/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.prod.peerlogic.com/api/subscriptions/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.prod.peerlogic.com/api/subscriptions/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prod.peerlogic.com/api/subscriptions/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "<SUBSCRIPTION_ID>",
"created_at": "2026-09-15T19:18:09Z",
"modified_at": "2026-09-15T19:18:09Z",
"name": "Missed-call events",
"description": "Notify our integration when a call is missed",
"destination": "https://partner.example.com/webhooks/peerlogic",
"extra": null,
"practice_id": "<PRACTICE_ID>",
"subscription_type": "webhook",
"is_active": true,
"system_message": null,
"trigger": {
"trigger_type": "missed_call"
}
}
]
}{
"detail": "'Authorization' header is required"
}{
"message": "No permissions assigned to permit access to this endpoint."
}