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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

Headers

NameTypeDescription

Authorization

string

Your project's secret key.

x-cm-projectid

string

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

Request Body

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

Headers

NameTypeDescription

Authorization

string

Your project's secret key.

x-cm-projectid

string

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

Request Body

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to get.

Headers

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

Headers

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to delete.

Headers

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device.

Headers

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to update.

Headers

NameTypeDescription

Authorization

string

Your project's secret key.

x-cm-projectid

string

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

Request Body

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to update.

Headers

NameTypeDescription

Authorization

string

Your project's secret key.

x-cm-projectid

string

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

Request Body

NameTypeDescription

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

NameTypeDescription

version

string

The version of the API endpoint. Current latest v1.

id

string

The ID of a device to update.

Headers

NameTypeDescription

Authorization

string

Your project's secret key.

x-cm-projectid

string

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

Request Body

NameTypeDescription

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