Table Conversion Issues
Table Cell Count Mismatch
Error: Number of cells in table row must match the table width of the parent table
Error: Number of cells in table row must match the table width of the parent table
- Missing pipe separators (
|) in markdown table rows - Extra or missing cells in some rows
- Malformed table syntax with inconsistent column counts
- Copy-pasted tables from other sources with formatting issues
- Check your markdown table syntax:
-
Validate your table before sending:
- Count the number of
|separators in each row - Ensure header, separator, and all data rows have the same column count
- Use a markdown editor with table validation
- Count the number of
- Handle empty cells properly:
Page and Block Access Issues
Invalid Page ID Format
Error: page_id should be a valid uuid
Error: page_id should be a valid uuid
- Copying page ID from URL without hyphens
- Using the page title or slug instead of ID
- Including quotes or extra characters around the ID
- Passing
"null"or"<string>"as the page ID
- Easiest: pass the full Notion page URL — the API normalizes it automatically:
-
Or pass just the page ID (with or without hyphens):
- Copy the 32-character ID from the end of the page URL
- Example with hyphens:
1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p - Example without hyphens:
1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p
-
Don’t use these as page IDs:
- ❌ Page titles:
"My-Multi-Category-Document" - ❌ Literal strings:
"null","<string>"
- ❌ Page titles:
Page or Block Not Found
Error: Could not find page with ID
Error: Could not find page with ID
- Page not shared with your integration
- Page was deleted or moved
- Using an old/expired page ID
- Wrong workspace (integration in different workspace than page)
- Page is in a private database
-
Check your Notion connection in the dashboard:
- Make sure your Notion workspace is connected via OAuth
- The connected account must have access to the target page or its parent page/database
- Try reconnecting if you recently moved or restructured pages
-
Verify the page exists:
- Try opening the page URL in your browser
- Check if the page was recently deleted or archived
- Confirm you’re in the correct workspace
-
If using a manual
notionToken:- Share the page with your integration via ··· → Connections → Add connection
- For pages in databases, share the entire database — individual pages inherit access
-
Check integration permissions:
- Go to notion.so/my-integrations
- Verify the integration is active and has “Content” capabilities
Block ID Used Instead of Page ID
Error: Provided ID is a block, not a page
Error: Provided ID is a block, not a page
pageId parameter. All endpoints require a page ID, not a block ID.Solutions:-
Use the parent page ID:
- Get the ID of the page that contains the block
- The page ID is in the URL when you open the page
- Use this page ID in the
pageIdparameter
-
Want to insert after a specific block?
- Use the page ID in the
pageIdparameter - Pass the block ID in the
afterparameter
- Use the page ID in the
- Identify the difference:
Database ID Used Instead of Page ID
Error: Provided ID is a database, not a page
Error: Provided ID is a database, not a page
-
Create a page in the database first:
- You cannot append content directly to a database
- Create a new page in the database, then append to that page
- Or get the ID of an existing page in the database
-
Get a page ID from the database:
- Open a page within the database
- Copy that page’s ID from the URL
- Use that page ID for your API request
Archived Block Access
Error: Can't edit block that is archived
Error: Can't edit block that is archived
-
Unarchive the page/block:
- Open the page in Notion
- Click “Restore”
-
Check page status before editing:
- Verify the page is not in the trash
- Ensure the parent page/database is not archived
Notion API Limitations
Rich Text Length Exceeded
Error: rich_text.length should be ≤ 100
Error: rich_text.length should be ≤ 100
Text Content Length Exceeded
Error: text.content.length should be ≤ 2000
Error: text.content.length should be ≤ 2000
Request Validation Errors
Missing Required Fields
Error: Field is required
Error: Field is required
- Check required fields per endpoint:
-
Common mistakes:
- ❌ Sending empty strings:
markdown: "" - ❌ Wrong data types:
pageId: 123(should be string) - ❌ Empty arrays:
blocks: [] - ❌ Undefined/null values:
pageId: null
- ❌ Sending empty strings:
Empty or Invalid Markdown
Error: Markdown cannot be empty / No blocks generated
Error: Markdown cannot be empty / No blocks generated
-
Ensure non-empty content:
- Markdown must contain actual text content, not just whitespace or newlines
- Check that your markdown string is not empty before sending
-
Common invalid content:
- ❌ Empty strings:
"" - ❌ Only whitespace:
" " - ❌ Only newlines:
"\n\n\n" - ✅ Valid:
"# Hello World"or any text with letters/numbers
- ❌ Empty strings:
-
Validate before sending:
- Trim whitespace and check if the result has actual content
- Ensure the markdown contains at least some alphanumeric characters
Invalid JSON in Request
Error: Invalid JSON / Malformed JSON
Error: Invalid JSON / Malformed JSON
- Unescaped special characters in strings (newlines, quotes, backslashes)
- Form-encoded data instead of JSON
- Syntax errors (missing commas, brackets, quotes)
- Incorrect Content-Type header
- Use proper JSON encoding:
- Set correct Content-Type header:
- Don’t use form encoding:
- Escape special characters:
Authentication Issues
Invalid API Token
Error: API token is invalid
Error: API token is invalid
- Check your Notion connection in the dashboard — reconnect your workspace if needed
-
If using a manual
notionToken:- Go to notion.so/my-integrations
- Verify the integration is active (not deleted)
- Regenerate a new secret if needed
- Tokens start with
ntn_— check for extra spaces when copying
Missing API Key
Error: Missing x-api-key header
Error: Missing x-api-key header
Rate Limiting and Usage
Quota Exceeded
Error: Usage quota exceeded
Error: Usage quota exceeded
-
Check your usage:
- Monitor your usage in the dashboard
-
Wait for reset:
- Free tier quotas reset monthly
- Check when your next billing period starts
-
Upgrade your plan:
- Visit the dashboard to upgrade to a higher tier
- Higher tiers offer more requests per month
Usage Counter Not Found
Error: No usage counter found for current period
Error: No usage counter found for current period
-
Retry the request:
- This is usually a transient error
- Wait a few seconds and try again
-
If it persists:
- Contact support through the feedback page
Notion-Specific Errors
Conflict on Save
Error: Conflict occurred while saving
Error: Conflict occurred while saving
-
Retry the request:
- This is usually a transient error
- Wait a few seconds and try again
- Use exponential backoff (wait longer between each retry)
-
Avoid concurrent edits:
- Don’t make multiple simultaneous requests to the same page
- Implement request queuing for frequent updates
Notion API Timeout
Error: Request to Notion API has timed out
Error: Request to Notion API has timed out
- Very large content being processed
- Notion API experiencing slowdowns
- Complex markdown with many blocks
-
Retry the request:
- Notion may be experiencing temporary issues
- Wait a few seconds before retrying
-
Break up large requests:
- If sending very large content, split it into smaller chunks
- Send chunks separately with small delays between requests
- This prevents timeouts and improves reliability
-
Monitor Notion status:
- Check Notion’s status page
- If Notion is down, wait for recovery