{
  "service": "wit_ai",
  "displayName": "Wit.ai",
  "categories": [
    "AI",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Wit.ai API Token",
      "placeholder": "Bearer token from Wit.ai Settings",
      "description": "Wit.ai Bearer token used to access the HTTP API. Create or open your app at https://wit.ai/apps and copy the Server Access Token from the app settings.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://wit.ai",
  "actions": [
    {
      "id": "wit_ai.add_entity_keyword",
      "service": "wit_ai",
      "name": "add_entity_keyword",
      "description": "Add a keyword and optional synonyms to an existing Wit.ai entity.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityName": {
            "type": "string",
            "minLength": 1,
            "description": "Entity name or ID."
          },
          "keyword": {
            "type": "string",
            "minLength": 1,
            "description": "Keyword value."
          },
          "synonyms": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Synonyms for the new keyword.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "entityName",
          "keyword"
        ],
        "description": "Input for adding a keyword to a Wit.ai entity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the entity."
          },
          "name": {
            "type": "string",
            "description": "Entity name."
          },
          "lookups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lookup strategies configured for the entity."
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Roles configured for the entity."
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Keyword value."
                },
                "synonyms": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Alternative phrases for the keyword."
                }
              },
              "additionalProperties": false,
              "description": "A keyword configured on an entity."
            },
            "description": "Keywords and synonyms defined on the entity."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai entity including roles, lookups, and keywords."
      }
    },
    {
      "id": "wit_ai.add_keyword_synonym",
      "service": "wit_ai",
      "name": "add_keyword_synonym",
      "description": "Add a synonym to a specific keyword on a Wit.ai entity.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityName": {
            "type": "string",
            "minLength": 1,
            "description": "Entity name or ID."
          },
          "keyword": {
            "type": "string",
            "minLength": 1,
            "description": "Keyword value."
          },
          "synonym": {
            "type": "string",
            "minLength": 1,
            "description": "Synonym value."
          }
        },
        "additionalProperties": false,
        "required": [
          "entityName",
          "keyword",
          "synonym"
        ],
        "description": "Input for adding a synonym to a Wit.ai entity keyword."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sent": {
            "type": "boolean",
            "description": "Whether Wit.ai accepted the asynchronous request."
          },
          "count": {
            "type": "integer",
            "description": "Number of records reported as accepted."
          }
        },
        "additionalProperties": false,
        "required": [
          "sent",
          "count"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.add_trait_value",
      "service": "wit_ai",
      "name": "add_trait_value",
      "description": "Add a canonical value to an existing Wit.ai trait.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "traitName": {
            "type": "string",
            "minLength": 1,
            "description": "Trait name or ID."
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "description": "Canonical value."
          }
        },
        "additionalProperties": false,
        "required": [
          "traitName",
          "value"
        ],
        "description": "Input for adding a Wit.ai trait value."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the trait."
          },
          "name": {
            "type": "string",
            "description": "Trait name."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "A trait value."
            },
            "description": "Values configured for the trait."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai trait including configured values."
      }
    },
    {
      "id": "wit_ai.analyze_message",
      "service": "wit_ai",
      "name": "analyze_message",
      "description": "Analyze a text message and return the intents, entities, and traits inferred by Wit.ai.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "User text sent to Wit.ai for analysis."
          },
          "topN": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "description": "Maximum number of top candidates to request from Wit.ai."
          },
          "tag": {
            "type": "string",
            "minLength": 1,
            "description": "Specific Wit.ai app version tag to query."
          },
          "context": {
            "type": "object",
            "additionalProperties": true,
            "description": "Context object used by Wit.ai for locale, timezone, and other hints."
          },
          "dynamicEntities": {
            "type": "object",
            "additionalProperties": true,
            "description": "Dynamic entities injected into the request for one-off disambiguation."
          }
        },
        "additionalProperties": false,
        "required": [
          "text"
        ],
        "description": "Input parameters for analyzing a text message with Wit.ai."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "description": "Original text returned by Wit.ai."
          },
          "messageId": {
            "anyOf": [
              {
                "type": "string",
                "description": "Optional message identifier returned by Wit.ai."
              },
              {
                "type": "null"
              }
            ]
          },
          "intents": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "A detected intent."
            },
            "description": "Detected intents sorted by confidence."
          },
          "entities": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": true,
                "description": "A detected entity."
              }
            },
            "description": "Detected entities keyed by entity name."
          },
          "traits": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": true,
                "description": "A detected trait."
              }
            },
            "description": "Detected traits keyed by trait name."
          }
        },
        "additionalProperties": false,
        "required": [
          "text",
          "messageId",
          "intents",
          "entities",
          "traits"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.create_entity",
      "service": "wit_ai",
      "name": "create_entity",
      "description": "Create a new Wit.ai entity with optional lookups and keywords.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Entity name or ID."
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Roles to create for the entity. At least one role is required.",
            "minItems": 1
          },
          "lookups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lookup strategies enabled for the entity.",
            "minItems": 1
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Keyword value."
                },
                "synonyms": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Alternative phrases for the keyword."
                }
              },
              "additionalProperties": false,
              "description": "A keyword configured on an entity."
            },
            "description": "Initial keywords and synonyms for keyword-based entities."
          }
        },
        "additionalProperties": false,
        "required": [
          "name",
          "roles"
        ],
        "description": "Input for creating a new Wit.ai entity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the entity."
          },
          "name": {
            "type": "string",
            "description": "Entity name."
          },
          "lookups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lookup strategies configured for the entity."
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Roles configured for the entity."
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Keyword value."
                },
                "synonyms": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Alternative phrases for the keyword."
                }
              },
              "additionalProperties": false,
              "description": "A keyword configured on an entity."
            },
            "description": "Keywords and synonyms defined on the entity."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai entity including roles, lookups, and keywords."
      }
    },
    {
      "id": "wit_ai.create_intent",
      "service": "wit_ai",
      "name": "create_intent",
      "description": "Create a new Wit.ai intent for labeling user messages.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Intent name."
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "Input for creating a new Wit.ai intent."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the intent."
          },
          "name": {
            "type": "string",
            "description": "Intent name."
          }
        },
        "additionalProperties": false,
        "description": "A Wit.ai intent."
      }
    },
    {
      "id": "wit_ai.create_trait",
      "service": "wit_ai",
      "name": "create_trait",
      "description": "Create a new Wit.ai trait with one or more canonical values.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Trait name or ID."
          },
          "values": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string",
                  "minLength": 1,
                  "description": "A trait value."
                },
                {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "A trait value object."
                }
              ]
            },
            "description": "Trait values to create.",
            "minItems": 1
          },
          "lookups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lookup strategies configured for the trait.",
            "minItems": 1
          },
          "mutuallyExclusive": {
            "type": "boolean",
            "description": "Whether the trait should match at most one value per message."
          }
        },
        "additionalProperties": false,
        "required": [
          "name",
          "values"
        ],
        "description": "Input for creating a new Wit.ai trait."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the trait."
          },
          "name": {
            "type": "string",
            "description": "Trait name."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "A trait value."
            },
            "description": "Values configured for the trait."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai trait including configured values."
      }
    },
    {
      "id": "wit_ai.create_utterances",
      "service": "wit_ai",
      "name": "create_utterances",
      "description": "Asynchronously enqueue validated utterances for training in Wit.ai.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "utterances": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "description": "User text sent to Wit.ai for analysis."
                },
                "intent": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Intent name."
                },
                "entities": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "entity": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Entity name including role when applicable."
                      },
                      "start": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "Start index of the entity span."
                      },
                      "end": {
                        "type": "integer",
                        "minimum": 0,
                        "description": "End index of the entity span."
                      },
                      "body": {
                        "type": "string",
                        "description": "Source text matched by the entity."
                      },
                      "entities": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "additionalProperties": true,
                          "description": "A nested entity."
                        },
                        "description": "Nested entities inside the composite entity."
                      }
                    },
                    "additionalProperties": true,
                    "description": "An annotated entity in an utterance."
                  },
                  "description": "Annotated entities in the utterance."
                },
                "traits": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "trait": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Trait name or ID."
                      },
                      "value": {
                        "type": "string",
                        "minLength": 1,
                        "description": "Canonical value."
                      }
                    },
                    "additionalProperties": false,
                    "description": "An annotated trait in an utterance."
                  },
                  "description": "Annotated traits in the utterance."
                }
              },
              "additionalProperties": false,
              "description": "One validated utterance to enqueue for training."
            },
            "description": "Utterances to enqueue for training.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "utterances"
        ],
        "description": "Input for creating Wit.ai utterances."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sent": {
            "type": "boolean",
            "description": "Whether Wit.ai accepted the asynchronous request."
          },
          "count": {
            "type": "integer",
            "description": "Number of records reported as accepted."
          }
        },
        "additionalProperties": false,
        "required": [
          "sent",
          "count"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.delete_utterances",
      "service": "wit_ai",
      "name": "delete_utterances",
      "description": "Asynchronously delete validated utterances from the current Wit.ai app.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "utterances": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "description": "User text sent to Wit.ai for analysis."
                }
              },
              "additionalProperties": false,
              "description": "One utterance to delete."
            },
            "description": "Validated utterances to delete asynchronously.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "utterances"
        ],
        "description": "Input for deleting Wit.ai utterances."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "sent": {
            "type": "boolean",
            "description": "Whether Wit.ai accepted the asynchronous request."
          },
          "count": {
            "type": "integer",
            "description": "Number of records reported as accepted."
          }
        },
        "additionalProperties": false,
        "required": [
          "sent",
          "count"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.detect_language",
      "service": "wit_ai",
      "name": "detect_language",
      "description": "Detect the most likely locales for a text message using Wit.ai language identification.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "minLength": 1,
            "description": "User text sent to Wit.ai for analysis."
          },
          "topN": {
            "type": "integer",
            "minimum": 1,
            "maximum": 8,
            "description": "Maximum number of top candidates to request from Wit.ai."
          }
        },
        "additionalProperties": false,
        "required": [
          "text"
        ],
        "description": "Input parameters for detecting locales."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "detectedLocales": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "A detected locale."
            },
            "description": "Detected locales returned by Wit.ai."
          }
        },
        "additionalProperties": false,
        "required": [
          "detectedLocales"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.get_app",
      "service": "wit_ai",
      "name": "get_app",
      "description": "Retrieve details and training status for a specific Wit.ai app.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "appId": {
            "type": "string",
            "minLength": 1,
            "description": "Wit.ai app ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "appId"
        ],
        "description": "Input for retrieving a Wit.ai app."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "A Wit.ai app detail."
      }
    },
    {
      "id": "wit_ai.get_entity",
      "service": "wit_ai",
      "name": "get_entity",
      "description": "Retrieve a Wit.ai entity including its roles, lookups, and keywords.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityName": {
            "type": "string",
            "minLength": 1,
            "description": "Entity name or ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "entityName"
        ],
        "description": "Input for retrieving a Wit.ai entity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the entity."
          },
          "name": {
            "type": "string",
            "description": "Entity name."
          },
          "lookups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lookup strategies configured for the entity."
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Roles configured for the entity."
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Keyword value."
                },
                "synonyms": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Alternative phrases for the keyword."
                }
              },
              "additionalProperties": false,
              "description": "A keyword configured on an entity."
            },
            "description": "Keywords and synonyms defined on the entity."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai entity including roles, lookups, and keywords."
      }
    },
    {
      "id": "wit_ai.get_intent",
      "service": "wit_ai",
      "name": "get_intent",
      "description": "Retrieve a Wit.ai intent together with the entity bindings it uses.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "intentName": {
            "type": "string",
            "minLength": 1,
            "description": "Intent name."
          }
        },
        "additionalProperties": false,
        "required": [
          "intentName"
        ],
        "description": "Input for retrieving a Wit.ai intent."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the intent."
          },
          "name": {
            "type": "string",
            "description": "Intent name."
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier of the entity."
                },
                "name": {
                  "type": "string",
                  "description": "Entity name."
                }
              },
              "additionalProperties": false,
              "description": "A Wit.ai entity summary."
            },
            "description": "Entities associated with the intent."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai intent with entity bindings."
      }
    },
    {
      "id": "wit_ai.get_trait",
      "service": "wit_ai",
      "name": "get_trait",
      "description": "Retrieve a Wit.ai trait together with its configured values.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "traitName": {
            "type": "string",
            "minLength": 1,
            "description": "Trait name or ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "traitName"
        ],
        "description": "Input for retrieving a Wit.ai trait."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the trait."
          },
          "name": {
            "type": "string",
            "description": "Trait name."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "A trait value."
            },
            "description": "Values configured for the trait."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai trait including configured values."
      }
    },
    {
      "id": "wit_ai.list_apps",
      "service": "wit_ai",
      "name": "list_apps",
      "description": "List the Wit.ai apps accessible by the current bearer token.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "description": "Maximum number of apps to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip before collecting results."
          }
        },
        "additionalProperties": false,
        "required": [
          "limit"
        ],
        "description": "Pagination parameters for listing Wit.ai apps."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "apps": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "A Wit.ai app summary."
            },
            "description": "Apps accessible by the current bearer token."
          }
        },
        "additionalProperties": false,
        "required": [
          "apps"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.list_entities",
      "service": "wit_ai",
      "name": "list_entities",
      "description": "List all entities defined in the current Wit.ai app.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "entities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier of the entity."
                },
                "name": {
                  "type": "string",
                  "description": "Entity name."
                }
              },
              "additionalProperties": false,
              "description": "A Wit.ai entity summary."
            },
            "description": "Entities defined in the app."
          }
        },
        "additionalProperties": false,
        "required": [
          "entities"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.list_intents",
      "service": "wit_ai",
      "name": "list_intents",
      "description": "List all intents defined in the current Wit.ai app.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 200,
            "description": "Maximum number of intents to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip before collecting results."
          }
        },
        "additionalProperties": false,
        "description": "Pagination parameters for listing Wit.ai intents."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "intents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier of the intent."
                },
                "name": {
                  "type": "string",
                  "description": "Intent name."
                }
              },
              "additionalProperties": false,
              "description": "A Wit.ai intent."
            },
            "description": "Intents defined in the app."
          }
        },
        "additionalProperties": false,
        "required": [
          "intents"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.list_traits",
      "service": "wit_ai",
      "name": "list_traits",
      "description": "List all traits defined in the current Wit.ai app.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "traits": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Unique identifier of the trait."
                },
                "name": {
                  "type": "string",
                  "description": "Trait name."
                }
              },
              "additionalProperties": false,
              "description": "A Wit.ai trait summary."
            },
            "description": "Traits defined in the app."
          }
        },
        "additionalProperties": false,
        "required": [
          "traits"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.list_utterances",
      "service": "wit_ai",
      "name": "list_utterances",
      "description": "List validated utterances already stored in the current Wit.ai app.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000,
            "description": "Maximum number of utterances to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Number of records to skip before collecting results."
          },
          "intents": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Optional list of intents used to filter returned utterances.",
            "minItems": 1
          },
          "traits": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Optional list of traits used to filter returned utterances.",
            "minItems": 1
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Optional list of entities used to filter returned utterances.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "required": [
          "limit"
        ],
        "description": "Input for listing validated Wit.ai utterances."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "utterances": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "A validated utterance."
            },
            "description": "Validated utterances returned by Wit.ai."
          }
        },
        "additionalProperties": false,
        "required": [
          "utterances"
        ],
        "description": "Action output."
      }
    },
    {
      "id": "wit_ai.update_entity",
      "service": "wit_ai",
      "name": "update_entity",
      "description": "Update a Wit.ai entity by sending the desired end-state definition for its schema and keywords.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityName": {
            "type": "string",
            "minLength": 1,
            "description": "Entity name or ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Entity name or ID."
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Final list of roles for the entity. At least one role is required.",
            "minItems": 1
          },
          "lookups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lookup strategies enabled for the entity.",
            "minItems": 1
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Keyword value."
                },
                "synonyms": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Alternative phrases for the keyword."
                }
              },
              "additionalProperties": false,
              "description": "A keyword configured on an entity."
            },
            "description": "Final list of keywords and synonyms for the entity."
          }
        },
        "additionalProperties": false,
        "required": [
          "entityName",
          "name",
          "roles"
        ],
        "description": "Input for updating a Wit.ai entity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the entity."
          },
          "name": {
            "type": "string",
            "description": "Entity name."
          },
          "lookups": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Lookup strategies configured for the entity."
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Roles configured for the entity."
          },
          "keywords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "keyword": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Keyword value."
                },
                "synonyms": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "description": "Alternative phrases for the keyword."
                }
              },
              "additionalProperties": false,
              "description": "A keyword configured on an entity."
            },
            "description": "Keywords and synonyms defined on the entity."
          }
        },
        "additionalProperties": true,
        "description": "A Wit.ai entity including roles, lookups, and keywords."
      }
    }
  ]
}
