info:
  name: Register Web Device
  type: http
  seq: 3

http:
  method: POST
  url: '{{base_url}}/api/devices/register'
  auth: none
  headers:
    - key: Content-Type
      value: application/json
  body:
    type: json
    json:
      device_name: Chrome Browser
      device_type: web
      device_identifier: web-client-abc123

docs: |-
  ## Register Web Device

  Registers a web browser client for reading progress sync.

  **Method:** POST

  **Endpoint:** /api/devices/register

  **Authentication:** None (public endpoint)

  **Request Body:**
  - `device_name` (string): Browser identification (e.g., "Chrome Browser")
  - `device_type` (string): Must be `web`
  - `device_identifier` (string): Unique browser/client identifier

  **Response:**
  - `registration_id` (string): UUID for tracking
  - `status` (string): `pending` or `auto-approved`
  - `message` (string): Status message

  **Status Codes:**
  - 201: Registration successful
  - 400: Invalid request

  **Web Device Notes:**
  - Web devices use localStorage for device identification
  - May be auto-approved without admin intervention
  - Used for browser-based reading progress tracking
  - Supports manual progress updates, highlights, and notes
