{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/calypsoai-com/json-schema/calypsoai-com-get-campaigns-response-schema.json",
  "title": "GetCampaignsResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/calypsoai-com-campaigns-api-openapi.yml#/components/schemas/GetCampaignsResponse",
  "properties": {
    "campaigns": {
      "description": "Campaigns matching the given criteria",
      "items": {
        "$ref": "#/$defs/Campaign"
      },
      "title": "Campaigns",
      "type": "array"
    },
    "next": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Cursor to the next page, if any.",
      "title": "Next"
    },
    "prev": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Cursor to the previous page, if any.",
      "title": "Prev"
    },
    "users": {
      "additionalProperties": {
        "$ref": "#/$defs/User"
      },
      "default": {},
      "title": "Users",
      "type": "object"
    }
  },
  "required": [
    "campaigns"
  ],
  "type": "object",
  "$defs": {
    "Campaign": {
      "properties": {
        "attacks": {
          "items": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/$defs/StaticContentAttack"
                  },
                  {
                    "$ref": "#/$defs/DynamicSingleTurnContentAttack"
                  },
                  {
                    "$ref": "#/$defs/DynamicMultiTurnContentAttack"
                  },
                  {
                    "$ref": "#/$defs/OperationalAttack"
                  },
                  {
                    "$ref": "#/$defs/CustomAttack"
                  }
                ]
              },
              {
                "$ref": "#/$defs/InvalidAttack"
              }
            ]
          },
          "title": "Attacks",
          "type": "array"
        },
        "createdAt": {
          "format": "date-time",
          "title": "Createdat",
          "type": "string"
        },
        "createdBy": {
          "title": "Createdby",
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Description"
        },
        "id": {
          "format": "uuid",
          "title": "Id",
          "type": "string"
        },
        "lastRun": {
          "anyOf": [
            {
              "format": "uuid",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Lastrun"
        },
        "lastRunAt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Lastrunat"
        },
        "name": {
          "title": "Name",
          "type": "string"
        },
        "runCount": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": 0,
          "title": "Runcount"
        },
        "vendored": {
          "default": false,
          "title": "Vendored",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "name",
        "attacks",
        "createdBy",
        "createdAt"
      ],
      "title": "Campaign",
      "type": "object"
    },
    "CustomAttack": {
      "properties": {
        "fileId": {
          "format": "uuid",
          "title": "Fileid",
          "type": "string"
        },
        "name": {
          "title": "Name",
          "type": "string"
        },
        "severity": {
          "anyOf": [
            {
              "maximum": 4.0,
              "minimum": 1.0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": 1,
          "title": "Severity"
        },
        "technique": {
          "const": "custom",
          "default": "custom",
          "title": "Technique",
          "type": "string"
        }
      },
      "required": [
        "name",
        "fileId"
      ],
      "title": "CustomAttack",
      "type": "object"
    },
    "DynamicMultiTurnContentAttack": {
      "properties": {
        "converters": {
          "default": [
            "base64",
            "leetspeak",
            "unicode_confusable",
            "caesar",
            "repeat_token",
            "single_character"
          ],
          "items": {
            "$ref": "#/$defs/PromptConverter"
          },
          "title": "Converters",
          "type": "array"
        },
        "intents": {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/$defs/Intent"
              }
            ]
          },
          "title": "Intents",
          "type": "array"
        },
        "multiTurn": {
          "const": true,
          "default": true,
          "title": "Multiturn",
          "type": "boolean"
        },
        "severity": {
          "default": 1,
          "maximum": 4.0,
          "minimum": 1.0,
          "title": "Severity",
          "type": "integer"
        },
        "technique": {
          "const": "dynamic_content",
          "default": "dynamic_content",
          "title": "Technique",
          "type": "string"
        },
        "vector": {
          "enum": [
            "crescendo",
            "frame",
            "trolley",
            "echo_chamber"
          ],
          "title": "Vector",
          "type": "string"
        }
      },
      "required": [
        "vector"
      ],
      "title": "DynamicMultiTurnContentAttack",
      "type": "object"
    },
    "DynamicSingleTurnContentAttack": {
      "properties": {
        "converters": {
          "default": [
            "base64",
            "leetspeak",
            "unicode_confusable",
            "caesar",
            "repeat_token",
            "single_character"
          ],
          "items": {
            "$ref": "#/$defs/PromptConverter"
          },
          "title": "Converters",
          "type": "array"
        },
        "intents": {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/$defs/Intent"
              }
            ]
          },
          "title": "Intents",
          "type": "array"
        },
        "severity": {
          "default": 1,
          "maximum": 4.0,
          "minimum": 1.0,
          "title": "Severity",
          "type": "integer"
        },
        "technique": {
          "const": "dynamic_content",
          "default": "dynamic_content",
          "title": "Technique",
          "type": "string"
        },
        "vector": {
          "enum": [
            "dan",
            "fictional_context_change",
            "conditional_context_change",
            "math_prompt",
            "flip",
            "persuasive_adversarial",
            "payload_splitting",
            "refusal_suppression",
            "scenario_nesting",
            "style_injection",
            "word_game",
            "fallacy_failure",
            "adversarial_metaphor",
            "persona_bullying",
            "invasive_context_engineering",
            "sugar_coated_poison",
            "developer_role_attack",
            "topic_steering",
            "bias_framing",
            "cyberpunk_stories",
            "crescendo",
            "morality_dilemma",
            "stylistic_reformulation",
            "involuntary_in_context_learning",
            "safety_paradox"
          ],
          "title": "Vector",
          "type": "string"
        }
      },
      "required": [
        "vector"
      ],
      "title": "DynamicSingleTurnContentAttack",
      "type": "object"
    },
    "Intent": {
      "properties": {
        "severity": {
          "default": 2,
          "maximum": 4.0,
          "minimum": 1.0,
          "title": "Severity",
          "type": "integer"
        },
        "text": {
          "title": "Text",
          "type": "string"
        },
        "type": {
          "$ref": "#/$defs/IntentType",
          "default": "custom"
        }
      },
      "required": [
        "text"
      ],
      "title": "Intent",
      "type": "object"
    },
    "IntentType": {
      "enum": [
        "custom",
        "system"
      ],
      "title": "IntentType",
      "type": "string"
    },
    "InvalidAttack": {
      "additionalProperties": true,
      "properties": {
        "technique": {
          "title": "Technique",
          "type": "string"
        }
      },
      "required": [
        "technique"
      ],
      "title": "InvalidAttack",
      "type": "object"
    },
    "OperationalAttack": {
      "properties": {
        "severity": {
          "const": 1,
          "default": 1,
          "title": "Severity",
          "type": "integer"
        },
        "technique": {
          "const": "operational",
          "default": "operational",
          "title": "Technique",
          "type": "string"
        },
        "vector": {
          "$ref": "#/$defs/OperationalAttackVector"
        }
      },
      "required": [
        "vector"
      ],
      "title": "OperationalAttack",
      "type": "object"
    },
    "OperationalAttackVector": {
      "enum": [
        "tls",
        "fuzzing"
      ],
      "title": "OperationalAttackVector",
      "type": "string"
    },
    "PromptConverter": {
      "enum": [
        "base64",
        "leetspeak",
        "unicode_confusable",
        "caesar",
        "repeat_token",
        "single_character"
      ],
      "title": "PromptConverter",
      "type": "string"
    },
    "StaticContentAttack": {
      "properties": {
        "converters": {
          "default": [
            "base64",
            "leetspeak",
            "unicode_confusable",
            "caesar",
            "repeat_token",
            "single_character"
          ],
          "items": {
            "$ref": "#/$defs/PromptConverter"
          },
          "title": "Converters",
          "type": "array"
        },
        "pack": {
          "default": "2026-11",
          "title": "Pack",
          "type": "string"
        },
        "severity": {
          "const": 1,
          "default": 1,
          "title": "Severity",
          "type": "integer"
        },
        "technique": {
          "const": "static_content",
          "default": "static_content",
          "title": "Technique",
          "type": "string"
        },
        "vector": {
          "enum": [
            "dan",
            "fictional_context_change",
            "conditional_context_change",
            "math_prompt",
            "flip",
            "persuasive_adversarial",
            "payload_splitting",
            "refusal_suppression",
            "scenario_nesting",
            "style_injection",
            "word_game",
            "fallacy_failure",
            "adversarial_metaphor",
            "persona_bullying",
            "invasive_context_engineering",
            "sugar_coated_poison",
            "developer_role_attack",
            "topic_steering",
            "bias_framing",
            "cyberpunk_stories",
            "crescendo",
            "morality_dilemma",
            "stylistic_reformulation",
            "involuntary_in_context_learning",
            "safety_paradox"
          ],
          "title": "Vector",
          "type": "string"
        }
      },
      "required": [
        "vector"
      ],
      "title": "StaticContentAttack",
      "type": "object"
    },
    "User": {
      "properties": {
        "admin": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Admin"
        },
        "blocked": {
          "default": false,
          "title": "Blocked",
          "type": "boolean"
        },
        "createdAt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Createdat"
        },
        "email": {
          "format": "password",
          "title": "Email",
          "type": "string",
          "writeOnly": true
        },
        "id": {
          "title": "Id",
          "type": "string"
        },
        "lastInvitationSentAt": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Lastinvitationsentat"
        },
        "machine": {
          "default": false,
          "title": "Machine",
          "type": "boolean"
        },
        "name": {
          "format": "password",
          "title": "Name",
          "type": "string",
          "writeOnly": true
        },
        "org": {
          "title": "Org",
          "type": "string"
        },
        "permissions": {
          "default": [],
          "items": {
            "type": "string"
          },
          "title": "Permissions",
          "type": "array",
          "uniqueItems": true
        },
        "roleIds": {
          "default": [],
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "title": "Roleids",
          "type": "array"
        },
        "roles": {
          "default": [],
          "items": {
            "type": "string"
          },
          "title": "Roles",
          "type": "array"
        },
        "social": {
          "default": false,
          "title": "Social",
          "type": "boolean"
        },
        "teams": {
          "default": [],
          "items": {
            "type": "string"
          },
          "title": "Teams",
          "type": "array"
        },
        "verified": {
          "default": true,
          "title": "Verified",
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "name",
        "email",
        "org"
      ],
      "title": "User",
      "type": "object"
    }
  }
}