pilot

Step 1: Create a device {#tms-ctf-stepup-otp-step1}
===================================================

This section describes how to create a device.

Endpoint
--------

**Test:** `POST ``https://apitest.cybersource.com``/tms/v2/devices`  
**Production:** `POST ``https://api.cybersource.com``/tms/v2/devices`  
**Production in India:** `POST ``https://api.in.cybersource.com``/tms/v2/devices`  
**Production in Saudi Arabia:** `POST ``https://api.sa.cybersource.com``/tms/v2/devices`{#tms-ctf-stepup-otp-step1_d67e67}  
**Test in Saudi Arabia:** `POST ``https://apitest.sa.cybersource.com``/tms/v2/devices`{#tms-ctf-stepup-otp-step1_d67e75}

Required Fields for Creating a Device {#tms-ctf-stepup-otp-step1-reqfields}
===========================================================================

[clientDeviceID](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/client-device-id.md "")
:

[clientDeviceName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/client-device-name.md "")
:

[category](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/category.md "")
:

[operatingSytem.type](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/operating-sys-aa/operating-sys-type.md "")
:

[certificates\[\].buildId](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/certificates-aa/certificates-build-id.md "")
:

[certificates\[\].format](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/certificates-aa/certificates-format.md "")
:

[certificates\[\].value](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/certificates-aa/certificates-value.md "")
:

Optional Fields for Creating a Device {#tms-ctf-stepup-otp-step1-optfields}
===========================================================================

[manufacturer](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/manufacturer.md "")
:

[brand](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/brand.md "")
:

[model](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/model.md "")
:

[operatingSytem.version](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/operating-sys-aa/operating-sys-version.md "")
:

[operatingSytem.buildId](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/operating-sys-aa/operating-sys-build-id.md "")
:

Related Information
-------------------

* [API Field Reference for the REST API](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/rest-api-fields-intro.md "")
  {#tms-ctf-stepup-otp-step1-optfields_d52e76}

REST Example: Creating a Device {#tms-ctf-stepup-otp-step1-ex-rest}
===================================================================

Request

```
{
  "clientDeviceID": "A1234567890-0987654321",
  "clientDeviceName": "Kevins iPhone",
  "category": "PHONE",
  "manufacturer": "Apple",
  "brand": "iPhone",
  "model": "iPhone 15 Pro Max",
  "operatingSytem": {
    "type": "IOS",
    "version": "26.1",
    "buildId": "23B5044I"
  },
  "certificates": [
    {
      "usage": "SIGNATURE",
      "format": "X509_PEM",
      "value": "&lt;Base64 URL-encoded Certificate&gt;"
    }
  ]
}
```

{#tms-ctf-stepup-otp-step1-ex-rest_d9e24}  
Response to a Successful Request
A successful delete response returns an empty `HTTP 204 No Content` status.  
Response to a Successful Request

```
{
    "errors": [
        {
            "type": "forbidden",
            "message": "Request not permitted"
        }
    ]
}
```

