I’m trying to connect an External API to my Convai character, but I am unable to save it because of the following schema validation error:
“Schema validation error: ‘parameters’ is a required property”
Here’s what I’m doing:
I fill in all required fields (method name, description, input description, implementation code).
My input JSON schema is as follows:
{
"type": "object",
"properties": {
"parameters": {
"type": "object",
"properties": {
"description": { "type": "string" }
},
"required": ["description"],
"additionalProperties": false
}
},
"required": ["parameters"],
"additionalProperties": false
}
I return a response like:
json
Copier
Modifier
{ "parameters": { "description": "Example" } }
The "Test API" button sometimes returns success, but sometimes the output gives a security/authorization error such as:
json
Copier
Modifier
{
"ERROR": "Malicious code detected: The code makes an unchecked HTTP request to an untrusted external domain and blindly executes/returns the response data. This could lead to arbitrary code execution or data exfiltration if the external server returns malicious content. The URL domain appears suspicious and non-standard."
}
When I try to Save, I always get the error 'parameters' is a required property.
Questions:
What is the exact expected input and output schema for External APIs to be accepted by Convai?
Is there a minimal working JSON schema example that currently passes validation and can be saved?
Are there any restrictions for free accounts, or additional security policies regarding HTTP requests to custom endpoints?
Is the error due to my schema, my implementation code, or is it a recent backend change that blocks most external API integrations?
Any help or a concrete example would be much appreciated!
Thanks,
Juba_Oulbani
I really need to use custom APIs for advanced AI workflows, vision analysis, or automation—and need a solution to keep using Convai for these pro projects.
Any clear answer, guidance, or workaround would be greatly appreciated!
This issue appears to be related to your code implementation. Please test it within your own environment to ensure everything is functioning as expected.
I already tested my API endpoint with Postman and it returns the expected response with status 200. The problem only occurs when saving the External API in the Convai interface—the “Test API” button even shows a “Success” status and the correct output, but as soon as I click “Save”, I get the ["Schema validation error: 'parameters' is a required property"] error at the top.
The schema, input and output all use "parameters" as required, and the same code is used as in your documentation and examples.
It really seems to be a validation issue on Convai’s side, not with my endpoint or code.
Please let me know if there’s something specific that needs to be changed, or if this could be a bug or account/plan limitation.
The issue you’re seeing is caused by an invalid Input Description (JSON format). The schema you’re using is not in the format Convai expects. Please try using a structure similar to this example:
{
"parameters": {
"description": {
"type": "string",
"description": "<explain the usage of this field to LLM>"
}
},
"required": [
"description"
]
}
There’s no need to nest everything under "type": "object". This simpler format ensures that the Convai system recognizes "parameters" as required and can parse your inputs correctly.
Once this is set up, you can directly access the field in your Python snippet using: