Content Import Panel – Validation Errors Reference
This article lists all errors you may encounter in the Content Import Panel, grouped by section and stage. For each error you will find the exact message shown in the panel and what to do to fix it.
For a general overview of the panel and how to run an import, see Content Import Panel.
NEW UPLOAD
The Import Panel surfaces errors at five stages during a new upload. You will receive actionable feedback at each stage before or during the final import.
Stage 1: Before a file is uploaded
These checks happen instantly in your browser, before any file is sent to the server.
| Condition | Message shown |
|---|---|
| File extension not allowed (allowed: pdf, epub, mp3, jpg, jpeg, png) | Unsupported file type: .{ext} |
| File larger than 500 MB | File too large (max 500 MB) |
| Already reached the 500-file limit for this import | Maximum number of files per import reached (500) |
Stage 2: While parsing the spreadsheet
These checks run when the system reads your metadata spreadsheet after upload.
| Condition | Outcome |
|---|---|
| More than 10,000 rows | An error message is shown: The spreadsheet exceeds the maximum of 10,000 rows. |
| No known format matches at least 60% of the headers | A modal prompts you to select the format manually (Publica.la or VitalSource) |
| File is empty, corrupted, or unreadable | The parser returns zero rows; all headers appear as unmatched in the preview |
Stage 3: While validating rows (before launch)
After both files are uploaded, the system validates each row before you can start the import. If errors are found, you will see a list of the top 50 issues. You can fix them and re-upload, or choose Continue with errors to skip invalid rows and process only the valid ones.
| Condition | Message shown |
|---|---|
Required title is missing (name for Publica.la, title for VitalSource) | Name is required |
| File type is not one of pdf, epub, audio, physical | Invalid file type: {value} |
| External ID (ISBN or VBID) already ingested for this team and intake | Already imported: {externalId} |
| Referenced file does not match any uploaded file | No uploaded file matches: {filename} |
| Referenced cover file does not match any uploaded file | No uploaded file matches: {filename} |
| VitalSource only: no uploaded content file matches the VBID prefix | No uploaded content file matches external ID: {externalId} |
|| Physical products skip file matching. External URLs (starting with http:// or https://) pass through without local file matching.
Stage 4: While uploading each file to S3
These errors appear in real time next to each file's progress bar during the upload step.
| Condition | Message shown |
|---|---|
| HTTP error from S3 | Upload failed (HTTP {status}) |
| Browser network error | Network error, check your connection |
| Upload exceeds the 10-minute timeout | Upload timed out |
| User navigates away or cancels the request | Upload cancelled |
Stage 5: During background processing (after Import starts)
Once you click Import, the system processes publications in the background. Most issues at this stage are handled automatically. Results are visible in the History section once the import finishes.
| Condition | Outcome |
|---|---|
| Metadata spreadsheet expired between upload and launch | Import is marked as failed; re-upload the spreadsheet and try again |
| Server rate limit (429) | Automatic retry after 30 seconds — no action required |
| Server error (5xx) | Up to 3 automatic retries with 30-second delay; if all fail, the batch is marked as failed |
| Client error (4xx) for a whole batch | The batch is marked as failed with a client-error reason |
| A single row is rejected by the server | That row is marked as failed; the error is stored in the CSV report |
| Background job crashes | Records reset automatically; a watchdog re-dispatches the job after 5 minutes |
|| The full list of per-row errors is available in the CSV report you can download from the History section once the import finishes.
FILE UPDATE
The File Update section runs its own validations before any replacement starts. Only content files are accepted: EPUB, PDF, MP3.
| Condition | Message shown |
|---|---|
| Filename has no extension | File has no valid extension: {filename} |
| Extension not allowed (allowed: epub, pdf, mp3) | Unsupported file extension: {ext} |
| Same filename appears twice in the same batch | Duplicate file for external_id: {externalId} |
| External ID does not match any previously imported product | No existing product found for external_id: {externalId} |
| New file type differs from the original product's type | File type mismatch: uploaded {newType} but product is {originalType} |
| Audiobook filename is missing or has an invalid track number | Missing or invalid track number in filename: {filename} (expected name_{track}.mp3) |
| Two audiobook files share the same track number for the same product | Duplicate track {order} for external_id: {externalId} |
| Audiobook track numbers are not contiguous (e.g. 1, 2, 4 instead of 1, 2, 3) | Non-contiguous track orders for external_id: {externalId} (got {actual}, expected {expected}) |
We hope this reference has been helpful. If you have any questions, contact us at [email protected].