API Reference

Version 2.4 | Base URL: https://api.cllova.ai/v1

Authentication

All API requests require an API key in the header:

Authorization: Bearer YOUR_API_KEY

Get your key from the developer dashboard.

Voice Processing

POST
/voice/process

Process audio input into text commands

Request

{
  "audio": "base64_encoded_audio",
  "language": "en-US",
  "format": "wav|mp3",
  "enhance": true
}

Response

{
  "success": true,
  "text": "play jazz music",
  "intents": [
    {
      "intent": "play_music",
      "confidence": 0.97,
      "parameters": {
        "genre": "jazz"
      }
    }
  ]
}

Skill Management

GET
/skills

List installed skills

Example Response

{
  "skills": [
    {
      "id": "weather_001",
      "name": "Weather Lookup",
      "version": "1.2",
      "author": "CLLOVA Team"
    },
    {
      "id": "calendar_002",
      "name": "Calendar Manager",
      "version": "2.1",
      "author": "Third Party"
    }
  ]
}
POST
/skills/install

Install a new skill from package

Request

{
  "package_url": "https://example.com/skill.zip",
  "verify_signature": true
}

Device Control

POST
/device/execute

Send commands to connected IoT devices

Request

{
  "device_id": "living_room_light",
  "command": "set_state",
  "parameters": {
    "power": "on",
    "brightness": 80,
    "color": "#6e48aa"
  }
}

Response

{
  "success": true,
  "new_state": {
    "power": "on",
    "brightness": 80,
    "color": "#6e48aa"
  }
}

Error Codes

Code Meaning
400 Invalid request format
401 Unauthorized (invalid API key)
429 Rate limit exceeded
500 Internal server error