- 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
99 lines
3.2 KiB
YAML
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
|