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
Name Type Description The version of the API endpoint. Current latest v1 .
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
Name Type Description The timezone of a device in a tz database format.
Key-value pair (string: string) object for custom data.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy 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" }
}
}
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
Name Type Description 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.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy 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" }
}
}
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
The ID of a device to get.
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy var client = new CodeMashClient (apiKey , projectId);
var pushService = new CodeMashPushService (client);
var response = await pushService . GetDeviceAsync (
new GetDeviceRequest
{
Id = "{DEVICE_ID}"
}
);
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy var client = new CodeMashClient (apiKey , projectId);
var pushService = new CodeMashPushService (client);
var response = await pushService . GetDevicesAsync (
new GetDevicesRequest ()
);
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
The ID of a device to delete.
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy var client = new CodeMashClient (apiKey , projectId);
var pushService = new CodeMashPushService (client);
var response = await pushService . DeleteDeviceAsync (
new DeleteDeviceRequest
{
Id = "{DEVICE_ID}"
}
);
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy var client = new CodeMashClient (apiKey , projectId);
var pushService = new CodeMashPushService (client);
var response = await pushService . DeleteTokenAsync (
new DeleteDeviceTokenRequest
{
Id = "{DEVICE_ID}"
}
);
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
The ID of a device to update.
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
Name Type Description Key-value pair (string: string) object of custom data.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy 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" }
}
}
);
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
The ID of a device to update.
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
Name Type Description The timezone of a device in a tz database format.
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy var client = new CodeMashClient (apiKey , projectId);
var pushService = new CodeMashPushService (client);
var response = await pushService . UpdateDeviceTimeZoneAsync (
new UpdateDeviceTimeZoneRequest
{
Id = "{DEVICE_ID}" ,
TimeZone = "Etc/UTC" ,
}
);
Copy 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
Name Type Description The version of the API endpoint. Current latest v1 .
The ID of a device to update.
Name Type Description Your project's secret key.
Your project's ID. Can be passed as a query parameter.
Request Body
200 Returns an ID of created notification group. 401 Returns if the user does not have a valid permission to call this method. 500
.NET Node PHP
Copy 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}"),
}
);
Copy 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}',
]);
}
}