Donutwork Docs

Mobile Push Tokens

Register and remove iOS push tokens bound to mobile API key identities.

Mobile Push Tokens API

These endpoints are available only when using a mobile-scoped API key.

Save Device Push Token

POST
/2026-02-01/mobile/push-token.json
Required permissionmobile_push:writeApiAccessPermission::MOBILE_PUSH_WRITE

Query Parameters

No query parameters required.

Request Body

JSON
{
  "device": {
    "device_id": "ios_device_001",
    "push_token": "f6ad7d6f0a3b82d91fd89e88d4d4c6f3e0f9a7f6",
    "platform": "ios",
    "app_version": "1.2.3",
    "environment": "production"
  }
}
device.device_idstringRequired
Device identifier (8-128 chars, allowed: letters, numbers, . _ : -).
device.push_tokenstringRequired
APNs push token (20-1024 chars).
device.platformstring
Platform value. Only `ios` is accepted.
device.app_versionstring
Client application version.
device.environmentstring
Push environment (`sandbox` or `production`).

Responses

Push token saved or updated.

{
  "status": "success",
  "message": "Push token saved",
  "device": {
    "device_id": "ios_device_001",
    "platform": "ios",
    "environment": "production"
  }
}

API key is not mobile-scoped.

{
  "error": "Mobile API key required for this endpoint"
}

Delete Device Push Token

DELETE
/2026-02-01/mobile/push-token.json
Required permissionmobile_push:writeApiAccessPermission::MOBILE_PUSH_WRITE

Query Parameters

device_idstring
Device identifier when passed via query string. Required if not present in `device.device_id` body.

Request Body

JSON
{
  "device": {
    "device_id": "ios_device_001"
  }
}
device.device_idstring
Device identifier when passed via JSON body. Required if not present in `device_id` query param.

Responses

Push token deleted or already absent.

{
  "status": "success",
  "message": "Push token removed",
  "deleted": true,
  "device_id": "ios_device_001"
}

Device identifier missing or invalid.

{
  "error": "Missing required field: device_id"
}

On this page