Skip to content
This repository was archived by the owner on Jan 19, 2026. It is now read-only.

Invalid schema in some tools #149

@MrMySQL

Description

@MrMySQL
2025-11-12 14:23:35.507 [info] Discovered 43 tools
2025-11-12 14:23:35.543 [warning] 4 tools have invalid JSON schemas and will be omitted

Affected tools:

❌ create-feature-flag
❌ update-feature-flag
❌ survey-create
❌ survey-update

The values "exact", "is_not", "is_set", and "is_not_set" each appear three times.

Tool `create-feature-flag` has invalid JSON parameters:
	- Array has duplicate items. (at /properties/filters/properties/groups/items/properties/properties/items/properties/operator/enum)
	- Schema: {"type":"object","properties":{"name":{"type":"string"},"key":{"type":"string"},"description":{"type":"string"},"filters":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"properties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"number"}}]},"operator":{"type":"string","enum":["exact","is_not","is_set","is_not_set","icontains","not_icontains","regex","not_regex","is_cleaned_path_exact","exact","is_not","is_set","is_not_set","gt","gte","lt","lte","min","max","exact","is_not","is_set","is_not_set","in","not_in"]}},"required":["key","value"],"additionalProperties":false}},"rollout_percentage":{"type":"number"}},"required":["properties","rollout_percentage"],"additionalProperties":false}}},"required":["groups"],"additionalProperties":false},"active":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"}}},"required":["name","key","description","filters","active"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}

Tool `update-feature-flag` has invalid JSON parameters:
	- Array has duplicate items. (at /properties/data/properties/filters/properties/groups/items/properties/properties/items/properties/operator/enum)
	- Schema: {"type":"object","properties":{"flagKey":{"type":"string"},"data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"filters":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"properties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"number"}}]},"operator":{"type":"string","enum":["exact","is_not","is_set","is_not_set","icontains","not_icontains","regex","not_regex","is_cleaned_path_exact","exact","is_not","is_set","is_not_set","gt","gte","lt","lte","min","max","exact","is_not","is_set","is_not_set","in","not_in"]}},"required":["key","value"],"additionalProperties":false}},"rollout_percentage":{"type":"number"}},"required":["properties","rollout_percentage"],"additionalProperties":false}}},"required":["groups"],"additionalProperties":false},"active":{"type":"boolean"},"tags":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"required":["flagKey","data"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}

Tool `survey-create` has invalid JSON parameters:
	- Array has duplicate items. (at /properties/targeting_flag_filters/properties/groups/items/properties/properties/items/properties/operator/enum)
	- Schema: {"type":"object","properties":{"name":{"type":"string","minLength":1},"description":{"type":"string"},"type":{"type":"string","enum":["popover","api","widget","external_survey"]},"questions":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"question":{"type":"string"},"description":{"type":"string"},"descriptionContentType":{"type":"string","enum":["html","text"]},"optional":{"type":"boolean"},"buttonText":{"type":"string"},"type":{"type":"string","const":"open"}},"required":["question","type"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"link"},"link":{"type":"string","format":"uri"}},"required":["question","type","link"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"rating"},"display":{"type":"string","enum":["number","emoji"],"description":"Display format: 'number' shows numeric scale, 'emoji' shows emoji scale"},"scale":{"type":"number","enum":[3,5,7],"description":"Rating scale can be one of 3, 5, or 7"},"lowerBoundLabel":{"type":"string","description":"Label for the lowest rating (e.g., 'Very Poor')"},"upperBoundLabel":{"type":"string","description":"Label for the highest rating (e.g., 'Excellent')"},"branching":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"next_question"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"end"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"response_based"},"responseValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string","const":"end"}]},"propertyNames":{"enum":["negative","neutral","positive"]},"description":"Only include keys for responses that should branch to a specific question or 'end'. Omit keys for responses that should proceed to the next question (default behavior)."}},"required":["type","responseValues"],"additionalProperties":false,"description":"For rating questions: use sentiment keys based on scale thirds - negative (lower third), neutral (middle third), positive (upper third)"},{"type":"object","properties":{"type":{"type":"string","const":"specific_question"},"index":{"type":"number"}},"required":["type","index"],"additionalProperties":false}]}},"required":["question","type"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"rating"},"display":{"type":"string","const":"number","description":"NPS questions always use numeric scale"},"scale":{"type":"number","const":10,"description":"NPS questions always use 0-10 scale"},"lowerBoundLabel":{"type":"string","description":"Label for 0 rating (typically 'Not at all likely')"},"upperBoundLabel":{"type":"string","description":"Label for 10 rating (typically 'Extremely likely')"},"branching":{"anyOf":[{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/0"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/1"},{"type":"object","properties":{"type":{"type":"string","const":"response_based"},"responseValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string","const":"end"}]},"propertyNames":{"enum":["detractors","passives","promoters"]},"description":"Only include keys for responses that should branch to a specific question or 'end'. Omit keys for responses that should proceed to the next question (default behavior)."}},"required":["type","responseValues"],"additionalProperties":false,"description":"For NPS rating questions: use sentiment keys based on score ranges - detractors (0-6), passives (7-8), promoters (9-10)"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/3"}]}},"required":["question","type","display","scale"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"single_choice"},"choices":{"type":"array","items":{"type":"string","minLength":1},"minItems":2,"maxItems":20,"description":"Array of choice options. Choice indices (0, 1, 2, etc.) are used for branching logic"},"shuffleOptions":{"type":"boolean","description":"Whether to randomize the order of choices for each respondent"},"hasOpenChoice":{"type":"boolean","description":"Whether the last choice (typically 'Other', is an open text input question"},"branching":{"anyOf":[{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/0"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/1"},{"type":"object","properties":{"type":{"type":"string","const":"response_based"},"responseValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string","const":"end"}]},"description":"Only include keys for responses that should branch to a specific question or 'end'. Omit keys for responses that should proceed to the next question (default behavior)."}},"required":["type","responseValues"],"additionalProperties":false,"description":"For single choice questions: use choice indices as string keys (\"0\", \"1\", \"2\", etc.)"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/3"}]}},"required":["question","type","choices"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"multiple_choice"},"choices":{"type":"array","items":{"type":"string","minLength":1},"minItems":2,"maxItems":20,"description":"Array of choice options. Multiple selections allowed. No branching logic supported."},"shuffleOptions":{"type":"boolean","description":"Whether to randomize the order of choices for each respondent"},"hasOpenChoice":{"type":"boolean","description":"Whether the last choice (typically 'Other', is an open text input question"}},"required":["question","type","choices"],"additionalProperties":false}]},"minItems":1},"appearance":{"type":"object","properties":{"backgroundColor":{"type":"string"},"submitButtonColor":{"type":"string"},"textColor":{"type":"string"},"submitButtonText":{"type":"string"},"submitButtonTextColor":{"type":"string"},"descriptionTextColor":{"type":"string"},"ratingButtonColor":{"type":"string"},"ratingButtonActiveColor":{"type":"string"},"ratingButtonHoverColor":{"type":"string"},"whiteLabel":{"type":"boolean"},"autoDisappear":{"type":"boolean"},"displayThankYouMessage":{"type":"boolean"},"thankYouMessageHeader":{"type":"string"},"thankYouMessageDescription":{"type":"string"},"thankYouMessageDescriptionContentType":{"type":"string","enum":["html","text"]},"thankYouMessageCloseButtonText":{"type":"string"},"borderColor":{"type":"string"},"placeholder":{"type":"string"},"shuffleQuestions":{"type":"boolean"},"surveyPopupDelaySeconds":{"type":"number"},"widgetType":{"type":"string","enum":["button","tab","selector"]},"widgetSelector":{"type":"string"},"widgetLabel":{"type":"string"},"widgetColor":{"type":"string"},"fontFamily":{"type":"string"},"maxWidth":{"type":"string"},"zIndex":{"type":"string"},"disabledButtonOpacity":{"type":"string"},"boxPadding":{"type":"string"}},"additionalProperties":false},"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"default":null,"description":"Setting this will launch the survey immediately. Don't add a start_date unless explicitly requested to do so."},"responses_limit":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"description":"The maximum number of responses before automatically stopping the survey."},"iteration_count":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"description":"For a recurring schedule, this field specifies the number of times the survey should be shown to the user. Use 1 for 'once every X days', higher numbers for multiple repetitions. Works together with iteration_frequency_days to determine the overall survey schedule."},"iteration_frequency_days":{"anyOf":[{"type":"number","exclusiveMinimum":0,"maximum":365},{"type":"null"}],"description":"For a recurring schedule, this field specifies the interval in days between each survey instance shown to the user, used alongside iteration_count for precise scheduling."},"enable_partial_responses":{"type":"boolean","description":"When at least one question is answered, the response is stored (true). The response is stored when all questions are answered (false)."},"linked_flag_id":{"type":["number","null"],"description":"The feature flag linked to this survey"},"targeting_flag_filters":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"properties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"number"}}]},"operator":{"type":"string","enum":["exact","is_not","is_set","is_not_set","icontains","not_icontains","regex","not_regex","is_cleaned_path_exact","exact","is_not","is_set","is_not_set","gt","gte","lt","lte","min","max","exact","is_not","is_set","is_not_set","in","not_in"]}},"required":["key","value"],"additionalProperties":false}},"rollout_percentage":{"type":"number"}},"required":["properties","rollout_percentage"],"additionalProperties":false}}},"required":["groups"],"additionalProperties":false,"description":"Target specific users based on their properties. Example: {groups: [{properties: [{key: 'email', value: ['@company.com'], operator: 'icontains'}], rollout_percentage: 100}]}"}},"required":["name","questions"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}

Tool `survey-update` has invalid JSON parameters:
    - Array has duplicate items. (at /properties/targeting_flag_filters/properties/groups/items/properties/properties/items/properties/operator/enum)
    - Schema: {"type":"object","properties":{"name":{"type":"string","minLength":1},"description":{"type":"string"},"type":{"type":"string","enum":["popover","api","widget","external_survey"]},"questions":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"question":{"type":"string"},"description":{"type":"string"},"descriptionContentType":{"type":"string","enum":["html","text"]},"optional":{"type":"boolean"},"buttonText":{"type":"string"},"type":{"type":"string","const":"open"}},"required":["question","type"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"link"},"link":{"type":"string","format":"uri"}},"required":["question","type","link"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"rating"},"display":{"type":"string","enum":["number","emoji"],"description":"Display format: 'number' shows numeric scale, 'emoji' shows emoji scale"},"scale":{"type":"number","enum":[3,5,7],"description":"Rating scale can be one of 3, 5, or 7"},"lowerBoundLabel":{"type":"string","description":"Label for the lowest rating (e.g., 'Very Poor')"},"upperBoundLabel":{"type":"string","description":"Label for the highest rating (e.g., 'Excellent')"},"branching":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"next_question"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"end"}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"response_based"},"responseValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string","const":"end"}]},"propertyNames":{"enum":["negative","neutral","positive"]},"description":"Only include keys for responses that should branch to a specific question or 'end'. Omit keys for responses that should proceed to the next question (default behavior)."}},"required":["type","responseValues"],"additionalProperties":false,"description":"For rating questions: use sentiment keys based on scale thirds - negative (lower third), neutral (middle third), positive (upper third)"},{"type":"object","properties":{"type":{"type":"string","const":"specific_question"},"index":{"type":"number"}},"required":["type","index"],"additionalProperties":false}]}},"required":["question","type"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"rating"},"display":{"type":"string","const":"number","description":"NPS questions always use numeric scale"},"scale":{"type":"number","const":10,"description":"NPS questions always use 0-10 scale"},"lowerBoundLabel":{"type":"string","description":"Label for 0 rating (typically 'Not at all likely')"},"upperBoundLabel":{"type":"string","description":"Label for 10 rating (typically 'Extremely likely')"},"branching":{"anyOf":[{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/0"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/1"},{"type":"object","properties":{"type":{"type":"string","const":"response_based"},"responseValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string","const":"end"}]},"propertyNames":{"enum":["detractors","passives","promoters"]},"description":"Only include keys for responses that should branch to a specific question or 'end'. Omit keys for responses that should proceed to the next question (default behavior)."}},"required":["type","responseValues"],"additionalProperties":false,"description":"For NPS rating questions: use sentiment keys based on score ranges - detractors (0-6), passives (7-8), promoters (9-10)"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/3"}]}},"required":["question","type","display","scale"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"single_choice"},"choices":{"type":"array","items":{"type":"string","minLength":1},"minItems":2,"maxItems":20,"description":"Array of choice options. Choice indices (0, 1, 2, etc.) are used for branching logic"},"shuffleOptions":{"type":"boolean","description":"Whether to randomize the order of choices for each respondent"},"hasOpenChoice":{"type":"boolean","description":"Whether the last choice (typically 'Other', is an open text input question"},"branching":{"anyOf":[{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/0"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/1"},{"type":"object","properties":{"type":{"type":"string","const":"response_based"},"responseValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"number"},{"type":"string","const":"end"}]},"description":"Only include keys for responses that should branch to a specific question or 'end'. Omit keys for responses that should proceed to the next question (default behavior)."}},"required":["type","responseValues"],"additionalProperties":false,"description":"For single choice questions: use choice indices as string keys (\"0\", \"1\", \"2\", etc.)"},{"$ref":"#/properties/questions/items/anyOf/2/properties/branching/anyOf/3"}]}},"required":["question","type","choices"],"additionalProperties":false},{"type":"object","properties":{"question":{"$ref":"#/properties/questions/items/anyOf/0/properties/question"},"description":{"$ref":"#/properties/questions/items/anyOf/0/properties/description"},"descriptionContentType":{"$ref":"#/properties/questions/items/anyOf/0/properties/descriptionContentType"},"optional":{"$ref":"#/properties/questions/items/anyOf/0/properties/optional"},"buttonText":{"$ref":"#/properties/questions/items/anyOf/0/properties/buttonText"},"type":{"type":"string","const":"multiple_choice"},"choices":{"type":"array","items":{"type":"string","minLength":1},"minItems":2,"maxItems":20,"description":"Array of choice options. Multiple selections allowed. No branching logic supported."},"shuffleOptions":{"type":"boolean","description":"Whether to randomize the order of choices for each respondent"},"hasOpenChoice":{"type":"boolean","description":"Whether the last choice (typically 'Other', is an open text input question"}},"required":["question","type","choices"],"additionalProperties":false}]},"minItems":1},"conditions":{"type":"object","properties":{"url":{"type":"string"},"selector":{"type":"string"},"seenSurveyWaitPeriodInDays":{"type":"number","description":"Don't show this survey to users who saw any survey in the last x days."},"urlMatchType":{"type":"string","enum":["regex","not_regex","exact","is_not","icontains","not_icontains"],"description":"URL/device matching types: 'regex' (matches regex pattern), 'not_regex' (does not match regex pattern), 'exact' (exact string match), 'is_not' (not exact match), 'icontains' (case-insensitive contains), 'not_icontains' (case-insensitive does not contain)"},"events":{"type":"object","properties":{"repeatedActivation":{"type":"boolean","description":"Whether to show the survey every time one of the events is triggered (true), or just once (false)"},"values":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":false},"description":"Array of event names that trigger the survey"}},"additionalProperties":false},"deviceTypes":{"type":"array","items":{"type":"string","enum":["Desktop","Mobile","Tablet"]}},"deviceTypesMatchType":{"$ref":"#/properties/conditions/properties/urlMatchType","description":"URL/device matching types: 'regex' (matches regex pattern), 'not_regex' (does not match regex pattern), 'exact' (exact string match), 'is_not' (not exact match), 'icontains' (case-insensitive contains), 'not_icontains' (case-insensitive does not contain)"},"linkedFlagVariant":{"type":"string","description":"The variant of the feature flag linked to this survey"}},"additionalProperties":false},"appearance":{"type":"object","properties":{"backgroundColor":{"type":"string"},"submitButtonColor":{"type":"string"},"textColor":{"type":"string"},"submitButtonText":{"type":"string"},"submitButtonTextColor":{"type":"string"},"descriptionTextColor":{"type":"string"},"ratingButtonColor":{"type":"string"},"ratingButtonActiveColor":{"type":"string"},"ratingButtonHoverColor":{"type":"string"},"whiteLabel":{"type":"boolean"},"autoDisappear":{"type":"boolean"},"displayThankYouMessage":{"type":"boolean"},"thankYouMessageHeader":{"type":"string"},"thankYouMessageDescription":{"type":"string"},"thankYouMessageDescriptionContentType":{"type":"string","enum":["html","text"]},"thankYouMessageCloseButtonText":{"type":"string"},"borderColor":{"type":"string"},"placeholder":{"type":"string"},"shuffleQuestions":{"type":"boolean"},"surveyPopupDelaySeconds":{"type":"number"},"widgetType":{"type":"string","enum":["button","tab","selector"]},"widgetSelector":{"type":"string"},"widgetLabel":{"type":"string"},"widgetColor":{"type":"string"},"fontFamily":{"type":"string"},"maxWidth":{"type":"string"},"zIndex":{"type":"string"},"disabledButtonOpacity":{"type":"string"},"boxPadding":{"type":"string"}},"additionalProperties":false},"schedule":{"type":"string","enum":["once","recurring","always"],"description":"Survey scheduling behavior: 'once' = show once per user (default), 'recurring' = repeat based on iteration_count and iteration_frequency_days settings, 'always' = show every time conditions are met (mainly for widget surveys)"},"start_date":{"type":"string","format":"date-time","description":"When the survey should start being shown to users. Setting this will launch the survey"},"end_date":{"type":"string","format":"date-time","description":"When the survey stopped being shown to users. Setting this will complete the survey."},"archived":{"type":"boolean"},"responses_limit":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"description":"The maximum number of responses before automatically stopping the survey."},"iteration_count":{"anyOf":[{"type":"number","exclusiveMinimum":0},{"type":"null"}],"description":"For a recurring schedule, this field specifies the number of times the survey should be shown to the user. Use 1 for 'once every X days', higher numbers for multiple repetitions. Works together with iteration_frequency_days to determine the overall survey schedule."},"iteration_frequency_days":{"anyOf":[{"type":"number","exclusiveMinimum":0,"maximum":365},{"type":"null"}],"description":"For a recurring schedule, this field specifies the interval in days between each survey instance shown to the user, used alongside iteration_count for precise scheduling."},"enable_partial_responses":{"type":"boolean","description":"When at least one question is answered, the response is stored (true). The response is stored when all questions are answered (false)."},"linked_flag_id":{"type":["number","null"],"description":"The feature flag to link to this survey"},"targeting_flag_id":{"type":"number","description":"An existing targeting flag to use for this survey"},"targeting_flag_filters":{"type":"object","properties":{"groups":{"type":"array","items":{"type":"object","properties":{"properties":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"}},{"type":"array","items":{"type":"number"}}]},"operator":{"type":"string","enum":["exact","is_not","is_set","is_not_set","icontains","not_icontains","regex","not_regex","is_cleaned_path_exact","exact","is_not","is_set","is_not_set","gt","gte","lt","lte","min","max","exact","is_not","is_set","is_not_set","in","not_in"]}},"required":["key","value"],"additionalProperties":false}},"rollout_percentage":{"type":"number"}},"required":["properties","rollout_percentage"],"additionalProperties":false}}},"required":["groups"],"additionalProperties":false,"description":"Target specific users based on their properties. Example: {groups: [{properties: [{key: 'email', value: ['@company.com'], operator: 'icontains'}], rollout_percentage: 50}]}"},"remove_targeting_flag":{"type":"boolean","description":"Set to true to completely remove all targeting filters from the survey, making it visible to all users (subject to other display conditions like URL matching)."},"surveyId":{"type":"string"}},"required":["surveyId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}

sometimes it says 1 tool is broken, sometimes - 3 tools...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions