In this story
AI apps (ChatGPT, Claude, Gemini)
These show when you connect or use an AI app from Settings → Content & publishing → Use with ChatGPT, Claude & Gemini. If that page says Not available right now, AI apps are switched off for your site at the moment; connect your web address first, then tap Check again.
| Code | You see | Why and what to do |
|---|---|---|
| MCP_AUTHORIZE_REQUEST_NOT_FOUND | "This connection request has ended. Start again in your AI app." | The sign-in took too long or was closed. Add the connector again in your AI app. |
| MCP_AUTHORIZE_REQUEST_DONE | "This connection request was already answered." | You already pressed Allow or Deny for this request. Go back to your AI app. |
| MCP_CLIENT_NOT_TRUSTED | "This app isn't on the trusted list. Ask the site owner." | The owner can allow other AI apps in Rules for AI apps. Only allow apps you trust. |
| MCP_GRANT_NOT_FOUND | "This AI app connection was not found." | The app was disconnected. Connect it again from your AI app. |
| MCP_TOOL_NOT_IN_GRANT | "This isn't part of the connection. Connect the app again to add it." | You switched this action off for the app. Connect it again and allow it, or switch it on in What it can do. |
| MCP_CONFIRMATION_NOT_FOUND | "This confirmation was not found. Ask the AI app again." | Ask the AI app to make the change again, then open the new confirm link. |
| MCP_CONFIRMATION_EXPIRED | "This confirmation has expired (5 minutes). Ask the AI app again." | Confirm links last 5 minutes. Ask the AI app again and confirm in time. |
| MCP_CONFIRMATION_DONE | "This change was already confirmed or declined." | Nothing more to do. Check the change on your site. |
| MCP_ORIGIN_REFUSED | "Requests from this web page are not accepted." | Connect from the AI app itself, not from a web page. |
| INSUFFICIENT_SCOPE | "This AI app may only read. Connect it again and allow changes." | Disconnect the app, connect it again and switch writing on. Writing needs a plan with it. |
| HUMAN_ONLY | "Do this yourself on its own screen (it asks you to confirm it's you)." | Some things (money, security, team, publishing) are never done by AI. Open the screen and do it yourself. |
| NOT_ALLOWED_FIELD | "This field can't be sent here." | The AI or tool tried to change a field it may not change. Change it yourself in the admin. |
API keys and webhooks
Set up in Settings → Advanced → Connect other apps.
| Code | You see | Why and what to do |
|---|---|---|
| API_KEY_INVALID | "Send a valid API key in the Authorization header." | The other app sends a wrong or missing key. Copy the key again into that app. |
| API_KEY_IP_NOT_ALLOWED | "This API key can’t be used from this address." | The key only works from the addresses you listed. Add the address, or remove the limit. |
| API_SCOPE_MISSING | "This API key does not have the permission this needs." | Make a key with the permission this needs, then use it in the other app. |
| API_EDITION_NOT_ALLOWED | "This API key can’t use this edition." | The key is limited to other languages. Allow this language on the key, or make a new key. |
| API_QUOTA_EXCEEDED | "This API key has used all its requests for today." | The key used its daily requests. Wait until tomorrow (UTC), or lower how often the other app calls. |
| API_SUNSET | "This API operation was removed. See the changelog for its replacement." | The other app uses an old way that was removed. Ask its maker to update it. |
| API_KEY_LIMIT | "You have reached the number of API keys. Revoke one first." | Revoke a key you no longer use, then make the new one. |
| API_KEY_REVOKED | "This key was revoked or has expired." | Make a new key and paste it into the other app. |
| API_KEY_ALREADY_ROTATED | "This key was already rotated. Rotate the new key instead." | Use the new key that the rotation made. |
| IDEMPOTENCY_KEY_REQUIRED | "Send an Idempotency-Key header with this request." | For developers: send an Idempotency-Key header with this request. |
| IDEMPOTENCY_KEY_REUSED | "This Idempotency-Key was used for a different request." | For developers: use a new Idempotency-Key for each different request. |
| IDEMPOTENCY_IN_PROGRESS | "This request is still running. Try again shortly." | The same request is still running. Wait a few seconds. |
| WEBHOOK_LIMIT | "You have reached the number of webhooks. Delete one first." | Delete a webhook you no longer use first. |
| WEBHOOK_DELIVERY_BUSY | "This delivery is waiting or being sent already." | This delivery is already waiting or being sent. Wait for it. |
| WEBHOOK_TEST_NOT_REDELIVERABLE | "Send a new test event instead." | Press the test button again to send a new test event. |
| PAYLOAD_TOO_LARGE | "The request is too large." | Send less at once, or a smaller file. |
Automations and background jobs
| Code | You see | Why and what to do |
|---|---|---|
| AUTOMATIONS_PAUSED | "Automations are paused. Resume them first." | Open Settings → Content & publishing → Automations and switch automations back on. |
| JOB_ACTION_NOT_SUPPORTED | "This queue can’t do that. Its jobs are retried by the feature that owns them." | This list retries by itself. Nothing to do here. See Settings → Advanced → Background jobs. |
| OWNER_GONE | "The owner who turned this on is no longer the owner, so it was paused. The owner can turn it on again." | The site owner changed. The new owner turns it on again. |
Custom functions (made with the AI)
Ask the AI assistant to fix most of these: paste the message.
| Code | You see | Why and what to do |
|---|---|---|
| FUNCTIONS_UNAVAILABLE | "Custom functions are not available on this site yet. Try again after the next Keynate update." | Install the latest update in Settings → Advanced → Software update, then try again. |
| FUNCTION_LIMIT | "A site can have up to 20 functions turned on. Remove one you no longer need first." | Turn off a function you no longer need. |
| FUNCTION_VERSION_CHANGED | "This version isn't the one you read. Open it again and check what it does." | Open the function again and read the new version before you turn it on. |
| FUNCTION_CHECK_FAILED | "This version didn't pass its check. Ask the AI to fix the problems listed with it." | Ask the AI to fix the problems listed under the function. |
| FUNCTION_NOT_CHECKED | "This version is still being checked. Try again in a moment." | Wait a moment and try again. |
| FUNCTION_NOT_ACTIVE | "Turn this function on first." | Turn the function on first. |
| FUNCTION_API_UNSUPPORTED | "This function uses a Function API this site doesn't serve." | Install the latest update, or ask the AI to rewrite the function. |
| FUNCTION_TOOL_NOT_ALLOWED | "This function may not use that tool." | The function may only use the tools it was approved for. Ask the AI to change it. |
| FUNCTION_TOOL_NOT_PUBLIC | "A function with a public data feed may only read public data." | A public data feed may only read public data. Ask the AI to remove the private part. |
| FUNCTION_HOST_NOT_ALLOWED | "This function may only call the https hosts the owner approved." | The owner approves which websites a function may call. Approve it, or ask the AI to change it. |
| FUNCTION_BUSY | "Functions are busy right now. Try again in a minute." | Try again in a minute. |
| FUNCTION_QUOTA | "Functions reached today's run limit. Try again tomorrow (UTC)." | Today's run limit is used. Try again tomorrow (UTC). |
| FUNCTION_STORE_FULL | "This function's store is full. Delete values it no longer needs." | Ask the AI to delete values the function no longer needs. |
| FUNCTION_RUN_ENDED | "This run has ended or its function was paused." | The run finished or the function was paused. Start it again. |
| FUNCTION_LOOP | "This would start the same functions again and again, so it was stopped." | Functions started each other again and again. Ask the AI to fix the trigger. |
| FUNCTION_PAUSED | "This function is paused. Turn it on again first." | Turn the function on again. |
| FUNCTION_FAILED | "The function stopped with an error. Open its run log to see why." | Open the run log, copy the error, and ask the AI to fix it. |
| FUNCTION_SYNTAX | "The function's code has a mistake and can't run. Ask the AI to fix the problem listed with it." | Ask the AI to fix the problem listed with it. |
| FUNCTION_TOO_LARGE | "The function's files are too large (64 KB per file, 256 KB in total)." | Ask the AI to make the function smaller. |
| FUNCTION_MANIFEST_INVALID | "function.json isn't valid. Ask the AI to fix the problem listed with it." | Ask the AI to fix the problem listed with it. |
| FUNCTION_FILE_NOT_ALLOWED | "This file can't be part of a function (only function.json, code files and README.md)." | Remove the extra file. |
| FUNCTION_NO_DEFAULT_EXPORT | "The function must export a default function." | Ask the AI to fix the function. |
| FUNCTION_NO_RESULT | "The function ended without an answer." | Ask the AI to make the function return an answer. |
| FUNCTION_OUTPUT_TOO_LARGE | "The function's answer is larger than 64 KB." | Ask the AI to return less. |
| FUNCTION_RESULT_INVALID | "The function's answer isn't in the expected shape." | Ask the AI to fix the shape of the answer. |
| FUNCTION_TOOL_FAILED | "A tool the function called failed. Open its run log to see which one." | Open the run log to see which tool failed, then try again. |
Custom screens
Made in Settings → Site & brand → Custom screens.
| Code | You see | Why and what to do |
|---|---|---|
| ADMIN_SCREEN_LIMIT | "You have the most custom screens a site can hold (20 screens, 12 rows each). Remove one first." | Remove a custom screen you no longer use. |
| ADMIN_SCREEN_TOOL_NOT_READ | "Screen data can only come from tools that read. Use a button for changes." | Lists on a screen may only read. Use a button for changes. |
| ADMIN_SCREEN_TOOL_NOT_ALLOWED | "This screen may not use that tool." | Ask the AI to use another tool, or do it on the normal screen. |
| ADMIN_WIDGET_TOOL_NOT_ALLOWED | "This widget wasn't approved to use that tool." | Approve the tool for this widget, or ask the AI to change it. |
| ADMIN_WIDGET_CONFIRM_EXPIRED | "Confirm this change again (the confirmation was used, is older than 2 minutes, or was for other values)." | Press the button again and confirm within 2 minutes. |
| ADMIN_WIDGET_PAUSED | "This widget is paused. A person turns it on again in Settings → Site & brand → Custom screens." | Turn it on again in Settings → Site & brand → Custom screens. |
| ADMIN_WIDGET_VERSION_CHANGED | "This version isn't the one you read. Reload and read it again before turning it on." | Reload the page, read the new version, then turn it on. |
Questions
Frequently asked questions
Is my site broken when I see one of these?
No. These are about one tool or connection. Your site keeps working.
My message is not on this page. What do I do?
Copy the exact words and ask Nia in the help chat, or open Settings → Advanced → Problems. Other error pages are linked below.