Properties
| Name | Type | Description |
|---|---|---|
| message | object | This is the message that will be spoken to the user. If this is not returned, assistant will speak: 1. a `request-complete` or `request-failed` message from `tool.messages`, if it exists 2. a response |
| name | string | This is the name of the function the model called. |
| toolCallId | string | This is the unique identifier for the tool call. |
| result | string | This is the result if the tool call was successful. This is added to the conversation history. Further, if this is returned, assistant will speak: 1. the `message`, if it exists and is of type `reques |
| error | string | This is the error if the tool call was not successful. This is added to the conversation history. Further, if this is returned, assistant will speak: 1. the `message`, if it exists and is of type `req |
| metadata | object | This is optional metadata for the tool call result to be sent to the client. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ToolCallResult",
"title": "ToolCallResult",
"type": "object",
"properties": {
"message": {
"description": "This is the message that will be spoken to the user.\n\nIf this is not returned, assistant will speak:\n1. a `request-complete` or `request-failed` message from `tool.messages`, if it exists\n2. a response generated by the model, if not",
"oneOf": [
{
"$ref": "#/components/schemas/ToolMessageComplete",
"title": "ToolMessageComplete"
},
{
"$ref": "#/components/schemas/ToolMessageFailed",
"title": "ToolMessageFailed"
}
]
},
"name": {
"type": "string",
"description": "This is the name of the function the model called."
},
"toolCallId": {
"type": "string",
"description": "This is the unique identifier for the tool call."
},
"result": {
"type": "string",
"description": "This is the result if the tool call was successful. This is added to the conversation history.\n\nFurther, if this is returned, assistant will speak:\n1. the `message`, if it exists and is of type `request-complete`\n2. a `request-complete` message from `tool.messages`, if it exists\n3. a response generated by the model, if neither exist"
},
"error": {
"type": "string",
"description": "This is the error if the tool call was not successful. This is added to the conversation history.\n\nFurther, if this is returned, assistant will speak:\n1. the `message`, if it exists and is of type `request-failed`\n2. a `request-failed` message from `tool.messages`, if it exists\n3. a response generated by the model, if neither exist"
},
"metadata": {
"type": "object",
"description": "This is optional metadata for the tool call result to be sent to the client."
}
},
"required": [
"name",
"toolCallId"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vapi-toolcallresult"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.