meta { name: Create Ebook type: http seq: 8 } post { url: {{base_url}}/api/ebooks body: json auth: inherit } body:json { { "title": "Sample Ebook Title", "author": "Author Name", "isbn": "978-0123456789", "description": "A sample ebook description", "file_path": "/path/to/ebook.epub", "file_size": 1048576, "mime_type": "application/epub+zip", "cover_image_path": "/path/to/cover.jpg", "series": "Sample Series", "series_number": 1, "tags": "fiction,adventure", "asin": "B00EXAMPLE", "date_published": "2023-01-15", "publisher": "Sample Publisher", "contributors": "Contributor Name" } } settings { encodeUrl: true timeout: 0 } docs { ## Create Ebook Creates a new ebook entry in the database. **Method:** POST **Endpoint:** /api/ebooks **Authentication:** Required (Admin only) **Request Body:** JSON object with: - `title` (string, required): Ebook title (1-500 characters) - `author` (string, optional): Author name - `isbn` (string, optional): ISBN number - `description` (string, optional): Ebook description - `file_path` (string, required): Path to ebook file - `file_size` (integer, required): File size in bytes - `mime_type` (string, required): MIME type of ebook - `cover_image_path` (string, optional): Path to cover image - `series` (string, optional): Series name - `series_number` (integer, optional): Number in series - `tags` (string, optional): Comma-separated tags - `asin` (string, optional): Amazon ASIN - `date_published` (string, optional): Publication date (YYYY-MM-DD) - `publisher` (string, optional): Publisher name - `contributors` (string, optional): Contributors list **Response:** Complete ebook object with all fields **Status Codes:** - 201: Ebook created successfully - 400: Bad request (invalid data) - 401: Unauthorized - 403: Forbidden (admin access required) - 500: Internal server error **Features:** - Admin-only endpoint for creating ebooks - Full validation of required fields - Supports all ebook metadata fields - Associates ebook with creating admin user }