---
title: Claim Token Procedure
description: Claim Token Procedure
---

[Skip to content](https://portal.sandgrain.eu/knowledge-base/claims/claim-token-procedure#main-content)

English

Show submenu for translations

![SandGrain\_Logo\_RGB\_white-bijgesneden (1)](https://portal.sandgrain.eu/hs-fs/hubfs/SandGrain_Logo_RGB_white-bijgesneden%20(1).png?width=427&height=83&name=SandGrain_Logo_RGB_white-bijgesneden%20(1).png)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- [Contact us](https://portal.sandgrain.eu/login)

[Contact us](https://portal.sandgrain.eu/login?hsLang=en)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Knowledge Base](https://portal.sandgrain.eu/knowledge-base?hsLang=en)
2. [User Documentation](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en)
3. [Claim Token Procedure](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#claim-token-procedure)

October 6, 2026

# Claim Token Procedure

### Authentication

All calls to CyberRock Cloud Device/Tenant portal needs to have the CloudFlare Access Client ID and CloudFlare Client Secret send in the header

### Login

The IoT device with the CyberRock Token need to login to CyberRock Cloud’s Device Portal with your account details 

```
https://device-api.sandbox.sandgrain.io 
```

**URL:** `/api/auth/deviceLogin` 

**Method:** POST

**Parameter**: 

```
{    "username": "xxx-xxxxx",   "password": "xxxxxxxxx" }
```

**Response:** 

Status **200 OK** 

```
{    "iotId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",   "username": "xxx-xxxxxxx",   "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6Ikpfgbwrwbsdfgbsdbg"}
```

Once logged in the authentication process and begin by requesting a Challenge Word (CW).

### Request CW

Next is retrieving the TID from CyberRock Token. Then request a Challenge Word (CW) from CyberRock Cloud 

**URL:** `/api/device/requestCW` 

**Method:** POST 

**Header:** Bearer {accessToken}

This is the token that generated by calling the login API

**Parameter**:  

```
{    "requestSignedResponse": false,   "TID": "800000001000000010000000000000014464b592da61f3fd5506fcb1f37f4bef"} 
```

**Response**: 

Status **200 OK** 

```
{   "CW": "132764765ebdcaaefe8d2508f0b3098600deb9b3a2f2bfe30c4a285d262a396d",   "transactionId": "BA782F0B-4E0F-EE11-A9B9-000D3A49003C" } 
```

### Reply RW

The IoT device with the CyberRock Token can generate the corresponding Response Word and send this back to Cyberrock Cloud. 

**URL**: `/api/device/replyRW` 

**Method**: POST 

Header: Bearer {accessToken}

This is the token that generated by calling the login API

**Parameter:**  

```
{    "requestSignedResponse": false,      "TID": "80000000100000001000000000000001",    "CW": "132764765ebdcaaefe8d2508f0b3098600deb9b3a2f2bfe30c4a285d262a396d",    "RW": "e498a506be93008e40739a3077e4ad40",    "transactionId": "c905f6b4-3239-417e-abd9-66fe66f43a2a" } 
```

**Response:** 

Status **200 OK** 

```
{    "transactionId": "c905f6b4-3239-417e-abd9-66fe66f43a2a" } 
```

### Check Authentication Status

ReplyRW API will only return a transactionID value not the status itself. To know the status of the authentication the following call can be made 

**URL:** `/api/device/checkAuthStatus` 

**Method:** GET 

**Header:** `requestSignedResponse`, `transactionId`, `CF-Access-Client-Id`, `CF-Access-Client-Secret`

This is the token that generated by calling the login API 

**Response:** 

Status **200 OK** 

```
{  "status": [    "AUTH_OK",    "AUTH_NOT_OK",    "CLAIM_TOKEN"  ],  "claimTokenId": "123e4567-e89b-12d3-a456-426614174000"}
```

Please notice the status of “CLAIM\_TOKEN”. 

| [← Introduction to Claim Token](https://portal.sandgrain.eu/knowledge-base/introduction-to-claim-token-procedure-?hsLang=en) | [Tenant API →](https://portal.sandgrain.eu/knowledge-base/tenant-api-?hsLang=en) |
| --- | --- |

- [User Documentation](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#main-content)

    - [Quick Starter Guide](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#quick-starter-guide)
    - [User Manual](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#user-manual)
    - [Whitepaper](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#whitepaper)
    - [Token Leaflet](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#token-leaflet)
    - [Claim Token Procedure](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#claim-token-procedure)
    - [Daisy Chain](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#daisy-chain)
    - [Release Note](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#release-note)
    - [Naming Convention](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#naming-convention)
    - [SandGrain SDK](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#sandgrain-sdk)
    - [TrustBridge](https://portal.sandgrain.eu/knowledge-base/user-documentation?hsLang=en#trustbridge)
- [API Documentation](https://portal.sandgrain.eu/knowledge-base/api-documentation?hsLang=en#main-content)

    - [Device API Integration](https://portal.sandgrain.eu/knowledge-base/api-documentation?hsLang=en#device-api-integration)
    - [Daisy Chain and Attestation](https://portal.sandgrain.eu/knowledge-base/api-documentation?hsLang=en#daisy-chain-and-attestation)
- [SDK](https://portal.sandgrain.eu/knowledge-base/sdk?hsLang=en#main-content)

    - [Core Functions](https://portal.sandgrain.eu/knowledge-base/sdk?hsLang=en#core-functions)
    - [SandGrain SDK](https://portal.sandgrain.eu/knowledge-base/sdk?hsLang=en#sandgrain-sdk)

[![SandGrain\_Logo\_RGB\_white-bijgesneden (1)-1](https://portal.sandgrain.eu/hs-fs/hubfs/SandGrain_Logo_RGB_white-bijgesneden%20(1)-1.png?width=427&height=83&name=SandGrain_Logo_RGB_white-bijgesneden%20(1)-1.png "SandGrain_Logo_RGB_white-bijgesneden (1)-1")](https://portal.sandgrain.eu/?hsLang=en)

<https://www.facebook.com/> <https://www.twitter.com/> <https://www.instagram.com/> <https://podcasts.apple.com/> [mailto:email@email.com](mailto:email@email.com)

Copyright © 2026, sandgrain.eu