{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/creavily/json-schema/creavily-provider-capabilities-response-schema.json",
  "title": "ProviderCapabilitiesResponse",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/creavily-openapi.json#/components/schemas/ProviderCapabilitiesResponse",
  "type": "object",
  "properties": {
    "providers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string",
            "enum": [
              "instagram_business",
              "instagram_standalone",
              "facebook_page",
              "threads",
              "youtube",
              "pinterest",
              "tiktok",
              "x"
            ]
          },
          "displayName": {
            "type": "string"
          },
          "requiredScopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maxTextLength": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "mediaRule": {
            "type": "object",
            "properties": {
              "allowedKinds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "image",
                    "video",
                    "gif"
                  ]
                }
              },
              "minItems": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "maxItems": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "maxImageBytes": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "maxVideoBytes": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "maxGifBytes": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "minVideoDurationSeconds": {
                "type": "number",
                "minimum": 0
              },
              "maxVideoDurationSeconds": {
                "type": "number",
                "minimum": 0
              },
              "dynamicMaxVideoDurationSetting": {
                "type": "string"
              },
              "requiresVideoThumbnail": {
                "type": "boolean"
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "allowedKinds",
              "minItems",
              "maxItems",
              "notes"
            ],
            "additionalProperties": false
          },
          "supportsScheduling": {
            "type": "boolean"
          },
          "supportsComments": {
            "type": "boolean"
          },
          "supportsAnalytics": {
            "type": "boolean"
          },
          "supportsDelete": {
            "type": "boolean"
          },
          "supportsUpdate": {
            "type": "boolean"
          },
          "settingsFields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "settingRules": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "valueType": {
                  "type": "string",
                  "enum": [
                    "string",
                    "boolean",
                    "number"
                  ]
                },
                "required": {
                  "type": "boolean"
                },
                "allowedValues": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "field",
                "label",
                "valueType",
                "required"
              ],
              "additionalProperties": false
            }
          },
          "toolNames": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "mentionSearch",
                "pageProfile",
                "channelCategories",
                "boardList",
                "privacyOptions",
                "communitySearch"
              ]
            }
          },
          "plugNames": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "firstComment",
                "reply"
              ]
            }
          },
          "rateLimitPolicy": {
            "type": "string",
            "enum": [
              "low_concurrency",
              "standard",
              "strict"
            ]
          }
        },
        "required": [
          "platform",
          "displayName",
          "requiredScopes",
          "mediaRule",
          "supportsScheduling",
          "supportsComments",
          "supportsAnalytics",
          "supportsDelete",
          "supportsUpdate",
          "settingsFields",
          "toolNames",
          "plugNames",
          "rateLimitPolicy"
        ],
        "additionalProperties": false
      }
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "mentionSearch",
              "pageProfile",
              "channelCategories",
              "boardList",
              "privacyOptions",
              "communitySearch"
            ]
          },
          "label": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "account_lookup",
              "composer_lookup",
              "publishing_option"
            ]
          },
          "description": {
            "type": "string"
          },
          "platforms": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "instagram_business",
                "instagram_standalone",
                "facebook_page",
                "threads",
                "youtube",
                "pinterest",
                "tiktok",
                "x"
              ]
            }
          },
          "inputFields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "valueType": {
                  "type": "string",
                  "enum": [
                    "string",
                    "boolean",
                    "number"
                  ]
                },
                "required": {
                  "type": "boolean"
                },
                "allowedValues": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "field",
                "label",
                "valueType",
                "required"
              ],
              "additionalProperties": false
            }
          },
          "outputKind": {
            "type": "string",
            "enum": [
              "account_reference",
              "profile",
              "category",
              "board",
              "privacy_option",
              "community"
            ]
          }
        },
        "required": [
          "name",
          "label",
          "category",
          "description",
          "platforms",
          "inputFields",
          "outputKind"
        ],
        "additionalProperties": false
      }
    },
    "plugs": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "firstComment",
              "reply"
            ]
          },
          "label": {
            "type": "string"
          },
          "phase": {
            "type": "string",
            "enum": [
              "post_publish",
              "threading"
            ]
          },
          "description": {
            "type": "string"
          },
          "platforms": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "instagram_business",
                "instagram_standalone",
                "facebook_page",
                "threads",
                "youtube",
                "pinterest",
                "tiktok",
                "x"
              ]
            }
          },
          "settingRules": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "valueType": {
                  "type": "string",
                  "enum": [
                    "string",
                    "boolean",
                    "number"
                  ]
                },
                "required": {
                  "type": "boolean"
                },
                "allowedValues": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "field",
                "label",
                "valueType",
                "required"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "name",
          "label",
          "phase",
          "description",
          "platforms",
          "settingRules"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "providers",
    "tools",
    "plugs"
  ],
  "additionalProperties": false
}