Get Push
Retrieve a single transactional push notification: its content and how many of the contact's devices it reached the push provider for.
Endpoint
GET /push/:id
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The ID returned from POST /push/send |
Response
{
"id": "01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
"title": "Your order shipped",
"body": "Order A-1023 is on its way — arriving Thursday.",
"category": "order_update",
"devices_targeted": 2,
"devices_accepted": 2,
"created_at": "2026-09-27T12:00:00.000Z"
}
Response Fields
| Field | Description |
|---|---|
id | Push ID |
title | Notification title. null once the content has been purged. |
body | Notification body. null once the content has been purged. |
category | The analytics label you sent, or null |
devices_targeted | Devices the contact had registered when the push was sent |
devices_accepted | Devices the push provider (FCM, APNs or web push) accepted the notification for |
created_at | When the push was submitted to Arsel |
Accepted is not delivered
devices_accepted counts devices the provider accepted the notification for. FCM, APNs and web push do not confirm arrival on the device, so a device that is off or offline past the notification's ttl_seconds still counts as accepted.
Examples
- cURL
- JavaScript
- Python
- C#
- PHP
curl "https://api.arsel.sa/v1/push/01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a" \
-H "Authorization: Bearer be_your_api_key"
const response = await fetch(
"https://api.arsel.sa/v1/push/01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
{ headers: { Authorization: "Bearer be_your_api_key" } },
);
const push = await response.json();
console.log(push.devices_accepted);
import requests
response = requests.get(
"https://api.arsel.sa/v1/push/01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a",
headers={"Authorization": "Bearer be_your_api_key"},
)
print(response.json()["devices_accepted"])
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer be_your_api_key");
var response = await client.GetAsync(
"https://api.arsel.sa/v1/push/01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a");
Console.WriteLine(await response.Content.ReadAsStringAsync());
<?php
$ch = curl_init("https://api.arsel.sa/v1/push/01957e3a-4b5c-7d8e-9f0a-1b2c3d4e5f6a");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer be_your_api_key"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo $response;
curl_close($ch);
Error Responses
- 404 Not Found
- 401 Unauthorized
{
"status_code": 404,
"name": "not_found",
"message": "Push notification not found"
}
{
"status_code": 401,
"name": "unauthorized",
"message": "Invalid or missing API key"
}