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

version

string

The version of the API endpoint. Current latest v1.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

Request Body

Name
Type
Description

userId

string

The ID of a user.

timeZone

string

The timezone of a device in a tz database format.

meta

object

Key-value pair (string: string) object for custom data.

{
    Result: ""
}
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" }            
        }
    }

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

version

string

The version of the API endpoint. Current latest v1.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

Request Body

Name
Type
Description

token

string

Token of a device provided by the Expo.

deviceId

string

The ID of a device. If not provided, a new device will be added.

userId

string

The ID of a user.

timeZone

string

The timezone of a device in a tz database format.

meta

object

Key-value pair (string: string) object for custom data.

{
    Result: ""
}
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" }            
        }
    }

Get Device

GET https://api.codemash.io/:version/notifications/push/devices/:id

Gets a device.

Path Parameters

Name
Type
Description

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to get.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

{
    Result: ""
}
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);

var response = await pushService.GetDeviceAsync(
    new GetDeviceRequest
    {
        Id = "{DEVICE_ID}"
    }
);

Get Devices

GET https://api.codemash.io/:version/notifications/push/devices

Gets many devices.

Path Parameters

Name
Type
Description

version

string

The version of the API endpoint. Current latest v1.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

{
    Result: ""
}
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);

var response = await pushService.GetDevicesAsync(
    new GetDevicesRequest()
);

Delete Device

DELETE https://api.codemash.io/:version/notifications/push/devices/:id

Deletes a particular device.

Path Parameters

Name
Type
Description

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to delete.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

{
    Result: ""
}
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);

var response = await pushService.DeleteDeviceAsync(
    new DeleteDeviceRequest
    {
        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

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

{
    Result: ""
}
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);

var response = await pushService.DeleteTokenAsync(
    new DeleteDeviceTokenRequest
    {
        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

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to update.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

Request Body

Name
Type
Description

meta

string

Key-value pair (string: string) object of custom data.

{
    Result: ""
}
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" }            
        }
    }
);

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

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to update.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

Request Body

Name
Type
Description

timezone

string

The timezone of a device in a tz database format.

{
    Result: ""
}
var client = new CodeMashClient(apiKey, projectId);
var pushService = new CodeMashPushService(client);

var response = await pushService.UpdateDeviceTimeZoneAsync(
    new UpdateDeviceTimeZoneRequest
    {
        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

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to update.

Headers

Name
Type
Description

Authorization

string

Your project's secret key.

x-cm-projectid

string

Your project's ID. Can be passed as a query parameter.

Request Body

Name
Type
Description

userId

string

The ID of a new user.

{
    Result: ""
}
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}"),
    }
);

Last updated