Devices API
Overview of mobile devices API methods
Register Device
POST
https://api.codemash.io/:version/notifications/push/devices
Registers a device without a token. Devices without a token won't receive push notifications.
Path Parameters
The version of the API endpoint. Current latest v1.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
The timezone of a device in a tz database format.
Key-value pair (string: string) object for custom data.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.RegisterDeviceAsync(
new RegisterDeviceRequest
{
UserId = Guid.parse("{USER_ID}"),
TimeZone = "Etc/UTC",
Meta = new Dictionary<string, string>
{
{ "Os", "Android" }
}
}
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function registerDevice()
{
$responseData = $this->codemashPushNotification->registerDevice([
'userId' => '{USER_ID}',
'timeZone' => 'Etc/UTC',
'meta' => [
'Brand' => 'Apple'
]
}
}
Register Expo Token
POST
https://api.codemash.io/:version/notifications/push/token/expo
Registers a device with an Expo token and creates a device if not yet created.
Path Parameters
The version of the API endpoint. Current latest v1.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
Token of a device provided by the Expo.
The ID of a device. If not provided, a new device will be added.
The timezone of a device in a tz database format.
Key-value pair (string: string) object for custom data.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.RegisterExpoTokenAsync(
new RegisterDeviceExpoTokenRequest
{
UserId = Guid.parse("{USER_ID}"),
Token = "ExponentPushToken[**********************]",
TimeZone = "Etc/UTC",
Meta = new Dictionary<string, string>
{
{ "Os", "Android" }
}
}
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function registerExpoToken()
{
$responseData = $this->codemashPushNotification->registerExpoToken([
'userId' => '{USER_ID}',
'timeZone' => 'Etc/UTC',
'meta' => [
'Brand' => 'Apple'
],
'token' => 'ExponentPushToken[**********************]',
]);
}
}
Get Device
GET
https://api.codemash.io/:version/notifications/push/devices/:id
Gets a device.
Path Parameters
The version of the API endpoint. Current latest v1.
The ID of a device to get.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.GetDeviceAsync(
new GetDeviceRequest
{
Id = "{DEVICE_ID}"
}
);
use Codemash\CodemashClient;
use Codemash\CodemashPushNotification;
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function getDevice()
{
$responseData = $this->codemashPushNotification->getDevice([
'id' => '{DEVICE_ID}',
]);
}
}
Get Devices
GET
https://api.codemash.io/:version/notifications/push/devices
Gets many devices.
Path Parameters
The version of the API endpoint. Current latest v1.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.GetDevicesAsync(
new GetDevicesRequest()
);
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function getDevices()
{
$responseData = $this->codemashPushNotification->getDevices();
}
}
Delete Device
DELETE
https://api.codemash.io/:version/notifications/push/devices/:id
Deletes a particular device.
Path Parameters
The version of the API endpoint. Current latest v1.
The ID of a device to delete.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.DeleteDeviceAsync(
new DeleteDeviceRequest
{
Id = "{DEVICE_ID}"
}
);
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function deleteDevice()
{
$responseData = $this->codemashPushNotification->deleteDevice([
'id' => '{DEVICE_ID}',
]);
}
}
Delete Device Token
DELETE
https://api.codemash.io/:version/notifications/push/devices/:id/token
Deletes a token of a particular device.
Path Parameters
The version of the API endpoint. Current latest v1.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.DeleteTokenAsync(
new DeleteDeviceTokenRequest
{
Id = "{DEVICE_ID}"
}
);
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function deleteDeviceToken()
{
$responseData = $this->codemashPushNotification->deleteDeviceToken([
'id' => '{DEVICE_ID}',
]);
}
}
Update Device Meta
PATCH
https://api.codemash.io/:version/notifications/push/devices/:id/metadata
Updates a meta-information of a particular device.
Path Parameters
The version of the API endpoint. Current latest v1.
The ID of a device to update.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
Key-value pair (string: string) object of custom data.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.UpdateDeviceMetaAsync(
new UpdateDeviceMetaRequest
{
Id = "{DEVICE_ID}",
Meta = new Dictionary<string, string>
{
{ "Os", "iOs" }
}
}
);
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function updateDeviceMeta()
{
$responseData = $this->codemashPushNotification->updateDeviceMeta([
'id' => '{DEVICE_ID}',
'meta' => ['Brand' => 'Apple'],
]);
}
}
Update Device Timezone
PATCH
https://api.codemash.io/:version/notifications/push/devices/:id/timezone
Updates a timezone of a particular device.
Path Parameters
The version of the API endpoint. Current latest v1.
The ID of a device to update.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
The timezone of a device in a tz database format.
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.UpdateDeviceTimeZoneAsync(
new UpdateDeviceTimeZoneRequest
{
Id = "{DEVICE_ID}",
TimeZone = "Etc/UTC",
}
);
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function updateDeviceTimezone()
{
$responseData = $this->codemashPushNotification->updateDeviceTimezone([
'id' => '{DEVICE_ID}',
'timezone' => 'ETC/UTC',
]);
}
}
Update Device User
PATCH
https://api.codemash.io/:version/notifications/push/devices/:id/timezone
Updates a user of a particular device.
Path Parameters
The version of the API endpoint. Current latest v1.
The ID of a device to update.
Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);
var response = await pushService.UpdateDeviceUserRequest(
new UpdateDeviceUserRequest
{
Id = "{DEVICE_ID}",
UserId = Guid.Parse("{USER_ID}"),
}
);
class CodemashService
{
protected CodemashPushNotification $codemashPushNotification;
public function __construct()
{
$secretKey = '{YOUR_SECRET_KEY}';
$projectId = '{YOUR_PROJECT_ID}';
$client = new CodemashClient($secretKey, $projectId);
$codemashPushNotification = new CodemashPushNotification($client);
}
public function updateDeviceUser()
{
$responseData = $this->codemashPushNotification->updateDeviceUser([
'id' => '{DEVICE_ID}',
'userId' => '{USER_ID}',
]);
}
}