Files
bookhoard/bruno/devices/kobo/scenarios/Kobo Initialization.yml
T
john-okeefe f859b2714d refactor(bruno): reorganize file structure from bruno-yaml to flat bruno directory
- Move all files from bruno-yaml/* to bruno/*
- Maintains existing directory structure within categories
- Updates bruno/user/auth files with OAuth2 refresh token flow
- Updates bruno/user/profile files for user profile management
- Adds bruno/dashboard/ directory with dashboard API tests
- Preserves all existing test scenarios and OpenCollection YAML format
- No functional changes - file reorganization only
2026-02-17 20:22:21 -05:00

99 lines
3.2 KiB
YAML

info:
name: Kobo Initialization
type: http
seq: 8
http:
method: GET
url: '{{base_url}}/api/sync/kobo/v1/initialization'
auth: inherit
docs: |-
## Kobo Device Initialization
Initializes Kobo device sync session and returns device configuration.
**Method:** GET
**Endpoint:** /api/sync/kobo/v1/initialization
**Authentication:** Bearer token
**Query Parameters:**
- `Platform` (string, optional): Device platform (android, kobo)
- `FirmwareVersion` (string, optional): Firmware version string
- `Model` (string, optional): Device model name
**Response:**
- `device` (object): Device information
- `device_id` (string): Server device ID
- `approved` (boolean): Whether device is approved
- `sync_enabled` (boolean): Whether sync is active
- `last_sync` (string): Last successful sync timestamp
- `user` (object): User information
- `user_id` (string): User identifier
- `email` (string): User email (masked)
- `library_size` (integer): Number of books in library
- `sync_config` (object): Sync configuration
- `sync_interval_minutes` (integer): Recommended sync frequency
- `batch_size` (integer): Max items per batch
- `timeout_seconds` (integer): Request timeout
- `retry_count` (integer): Max retry attempts
- `features` (object): Available features
- `annotation_sync` (boolean): Annotation support
- `bookmark_sync` (boolean): Bookmark support
- `progress_sync` (boolean): Progress tracking
- `library_download` (boolean): Library access
- `endpoints` (object): API endpoint URLs
- `markup_sync` (string): Progress/annotation sync URL
- `bookmark_sync` (string): Bookmark sync URL
- `library` (string): Library access URL
- `sync_from_server` (string): Download sync URL
- `server_time` (string): Current server timestamp
- `version` (string): API version
**Status Codes:**
- 200: Success
- 401: Unauthorized (invalid token)
- 403: Forbidden (device not approved)
- 404: Device not found
**Initialization Flow:**
1. Device powers on or connects to network
2. Device calls initialization endpoint
3. Server returns configuration and capabilities
4. Device adjusts sync behavior based on config
5. Device begins sync operations
**Authentication Methods:**
This endpoint uses **Bearer token authentication** (token in Authorization header).
Alternative: Use `/sync/kobo/{token}/v1/initialization` with token in URL path.
**Configuration Caching:**
- Response cached on device for 24 hours
- Refreshed on device reboot
- Updated when sync settings change
- Can be force-refreshed via device settings
**Device Approval:**
- New devices: `approved: false`
- Pending devices see limited functionality
- Approval required for full sync
- User approves via web interface
- Re-initialization after approval
**Use Cases:**
- Device registration
- Daily device wakeup
- Post-approval initialization
- Configuration refresh
- Feature capability check
- Sync endpoint discovery
**Kobo Native Integration:**
- Called by Kobo Nickel UI
- Integrated with Kobo sync service
- Part of Kobo account setup
- Supports Kobo "Sync now" feature
- Enables Kobo library browsing