--- name: evernote-common-errors description: 'Diagnose and fix common Evernote API errors. Use when encountering Evernote API exceptions, debugging failures, or troubleshooting integration issues. Trigger with phrases like "evernote error", "evernote exception", "fix evernote issue", "debug evernote", "evernote troubleshooting". ' allowed-tools: Read, Write, Edit, Grep version: 1.0.0 license: MIT author: Jeremy Longshore tags: - saas - evernote - api - debugging compatibility: Designed for Claude Code, also compatible with Codex and OpenClaw --- # Evernote Common Errors ## Overview Comprehensive guide to diagnosing and resolving Evernote API errors. Evernote uses three exception types: `EDAMUserException` (client errors), `EDAMSystemException` (server/rate limit errors), and `EDAMNotFoundException` (invalid GUIDs). ## Prerequisites - Basic Evernote SDK setup - Understanding of Evernote data model ## Instructions ### EDAMUserException Error Codes | Code | Name | Cause | Fix | |------|------|-------|-----| | 1 | `BAD_DATA_FORMAT` | Invalid ENML, missing DOCTYPE | Validate ENML before sending; check for forbidden elements | | 2 | `DATA_REQUIRED` | Missing required field (title, content) | Ensure `note.title` and `note.content` are set | | 3 | `PERMISSION_DENIED` | API key lacks permissions | Request additional permissions from Evernote | | 4 | `INVALID_AUTH` | Invalid or revoked token | Re-authenticate user via OAuth | | 5 | `AUTH_EXPIRED` | Token past expiration date | Check `edam_expires`, refresh token | | 6 | `LIMIT_REACHED` | Account limit exceeded (250 notebooks) | Clean up resources before creating new ones | | 7 | `QUOTA_REACHED` | Monthly upload quota exceeded | Check `user.accounting.remaining` | ### ENML Validation The most common error is `BAD_DATA_FORMAT` from invalid ENML. Validate before sending: ```javascript function validateENML(content) { const errors = []; if (!content.includes('')) errors.push('Missing root'); const forbidden = [/