---
title: "Create a new device profile"
method: POST
path: "/profiles"
tags: ["Profiles"]
---

# Create a new device profile

`POST /profiles`

## Request body

- CreateProfileInputBody
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `name` string, required — Profile name
  - `spec` DeviceSpec, required
    - `$schema` string, uri — A URL to the JSON Schema for this object.
    - `androidVersion` integer
    - `apps` string[], nullable
    - `carrier` DeviceCarrier
      - `GsmOperatorAlpha` string, required
      - `GsmOperatorNumeric` integer, required
      - `GsmSimOperatorAlpha` string, required
      - `GsmSimOperatorIsoCountry` string, required
      - `GsmSimOperatorNumeric` integer, required
      - `PersistSysTimezone` string, required
    - `country` string
    - `files` string[], nullable
    - `identifiers` DeviceIdentifiers
      - `BootloaderSerialNumber` string, required
      - `IdentifierAndroidID` string, required
      - `IdentifierAppSetID` string, required
      - `IdentifierBluetoothMAC` string, required
      - `IdentifierGAID` string, required
      - `IdentifierGSFID` string, required
      - `IdentifierICCID` string, required
      - `IdentifierIMEI` string, required
      - `IdentifierIMSI` string, required
      - `IdentifierMEID` string, required
      - `IdentifierMediaDRMID` string, required
      - `IdentifierPhoneNumber` string, required
      - `IdentifierSerial` string, required
      - `IdentifierWifiMAC` string, required
      - `SerialNumber` string, required
    - `locale` string
    - `location` Location
      - `$schema` string, uri — A URL to the JSON Schema for this object.
      - `latitude` number, double, required
      - `longitude` number, double, required
    - `name` string
    - `proxy` ProxyConfig1
      - `connect` Ref
        - `country` string — ISO 3166-1 alpha-2 country code; provisions (or reuses) a rotating residential Mobilerun Connect proxy for the device.
        - `id` string, uuid — Existing Mobilerun Connect proxy id; its credentials are fetched server-side.
      - `name` string
      - `smartIp` boolean
      - `socks5` SOCKS5
        - `host` string, required
        - `password` string, required
        - `port` integer, required
        - `user` string, required
    - `timezone` string

## Response `200`

OK

- ProfileInfo
  - `$schema` string, uri — A URL to the JSON Schema for this object.
  - `createdAt` string, date-time, required
  - `createdBy` string
  - `id` string, required
  - `name` string, required
  - `ownerId` string, required
  - `spec` DeviceSpec, required
    - `$schema` string, uri — A URL to the JSON Schema for this object.
    - `androidVersion` integer
    - `apps` string[], nullable
    - `carrier` DeviceCarrier
      - `GsmOperatorAlpha` string, required
      - `GsmOperatorNumeric` integer, required
      - `GsmSimOperatorAlpha` string, required
      - `GsmSimOperatorIsoCountry` string, required
      - `GsmSimOperatorNumeric` integer, required
      - `PersistSysTimezone` string, required
    - `country` string
    - `files` string[], nullable
    - `identifiers` DeviceIdentifiers
      - `BootloaderSerialNumber` string, required
      - `IdentifierAndroidID` string, required
      - `IdentifierAppSetID` string, required
      - `IdentifierBluetoothMAC` string, required
      - `IdentifierGAID` string, required
      - `IdentifierGSFID` string, required
      - `IdentifierICCID` string, required
      - `IdentifierIMEI` string, required
      - `IdentifierIMSI` string, required
      - `IdentifierMEID` string, required
      - `IdentifierMediaDRMID` string, required
      - `IdentifierPhoneNumber` string, required
      - `IdentifierSerial` string, required
      - `IdentifierWifiMAC` string, required
      - `SerialNumber` string, required
    - `locale` string
    - `location` Location
      - `$schema` string, uri — A URL to the JSON Schema for this object.
      - `latitude` number, double, required
      - `longitude` number, double, required
    - `name` string
    - `proxy` ProxyConfig1
      - `connect` Ref
        - `country` string — ISO 3166-1 alpha-2 country code; provisions (or reuses) a rotating residential Mobilerun Connect proxy for the device.
        - `id` string, uuid — Existing Mobilerun Connect proxy id; its credentials are fetched server-side.
      - `name` string
      - `smartIp` boolean
      - `socks5` SOCKS5
        - `host` string, required
        - `password` string, required
        - `port` integer, required
        - `user` string, required
    - `timezone` string
  - `updatedAt` string, date-time, required
  - `userId` string, required — Deprecated: use ownerId/createdBy.

## Other responses

- `default` — Error

## Changes

- **2026-08-01** `cd80ab1b29b0` — 1 info
  - endpoint added
- **2026-08-01** `3183ec3153d1` — 1 breaking
  - api path removed without deprecation
- **2026-07-24** `618bd1cc1aed` — 2 info
  - added the new optional request property `spec/proxy/connect`
  - added the optional property `spec/proxy/connect` to the response with the `200` status
- **2026-07-07** `d5d1e5ee8188` — 3 info
  - added the optional property `createdBy` to the response with the `200` status
  - response property `userId` deprecated
  - added the required property `ownerId` to the response with the `200` status
- **2026-06-29** `3cb3612f45e0` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/droidrun/apis/droidrun-cloud/changes/profiles/post.md)

---

[API](https://skmtc.dev/droidrun/apis/droidrun-cloud.md) · [All operations](https://skmtc.dev/droidrun/apis/droidrun-cloud/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/droidrun/droidrun-cloud/revisions/a1453ac769d4/schema)
