Docs
API reference

Devices

Download spec

List devices

GET
/devices

Authorization

apiKey
headerAuthorizationBearer <token>

An API key from Settings → Developers → API keys.

Response Body

Success. Writes without read permission return an ID and revision only.

application/json
  1. response
devices*array<>
Example Request
curl -X GET 'https://app.italic.com/api/v2/devices'
Example Response
{
  "devices": [
    {
      "id": "string",
      "name": "string",
      "model": "string"
    }
  ]
}

Create a custom device

POST
/devices

Authorization

apiKey
headerAuthorizationBearer <token>

An API key from Settings → Developers → API keys.

Header Parameters

Idempotency-Key?string

Reuse the same key and body when retrying; the retry returns the first result with replayed: true. Keys are kept for 24 hours.

Length1 <= length <= 128

Request Body

application/json
  1. body
name*string

What the apps call the device, such as Kitchen recorder. The person can rename it in the apps.

Length1 <= length <= 80

Response Body

Success. Writes without read permission return an ID and revision only.

application/json
  1. response
device*
replayed?boolean
Example Request
curl -X POST 'https://app.italic.com/api/v2/devices' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "string"
}'
Example Response
{
  "device": {
    "id": "string",
    "name": "string",
    "model": "string"
  },
  "replayed": true
}

Get device settings

GET
/devices/{id}/settings

Authorization

apiKey
headerAuthorizationBearer <token>

An API key from Settings → Developers → API keys.

Path Parameters

id*string
Match^[A-Za-z0-9][A-Za-z0-9._:-]*$
Length1 <= length <= 256

Response Body

Success. Writes without read permission return an ID and revision only.

application/json
  1. response
settings*
Example Request
curl -X GET 'https://app.italic.com/api/v2/devices/string/settings'
Example Response
{
  "settings": {
    "inputs": {
      "hold": "clip",
      "doubleTap": "clip",
      "tripleTap": "clip",
      "recordButton": "clip",
      "pushToTalk": "clip",
      "appRecord": "clip"
    }
  }
}

Update device settings

PATCH
/devices/{id}/settings

Authorization

apiKey
headerAuthorizationBearer <token>

An API key from Settings → Developers → API keys.

Path Parameters

id*string
Match^[A-Za-z0-9][A-Za-z0-9._:-]*$
Length1 <= length <= 256

Header Parameters

If-Match*string

ETag from the last GET response. Prevents overwriting a newer edit.

Length0 <= length <= 100

Request Body

application/json
  1. body
inputs*

Response Body

Success. Writes without read permission return an ID and revision only.

application/json
  1. response
settings*
Example Request
curl -X PATCH 'https://app.italic.com/api/v2/devices/string/settings' \
  -H 'If-Match: string' \
  -H 'Content-Type: application/json' \
  -d '{
  "inputs": {}
}'
Example Response
{
  "settings": {
    "inputs": {
      "hold": "clip",
      "doubleTap": "clip",
      "tripleTap": "clip",
      "recordButton": "clip",
      "pushToTalk": "clip",
      "appRecord": "clip"
    }
  }
}