{
  "openapi": "3.0.0",
  "info": {
    "title": "backend-campaign",
    "version": "1.0.6",
    "description": "backend-campaign",
    "contact": {
      "name": "Jose Luis Campanello",
      "email": "jcampanello@alchemy14.com"
    }
  },
  "paths": {
    "/api/v1/campaigns/automated/{id}/define": {
      "put": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "automatedDefineById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Campaign defined"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "deliverySmsText": {
                    "type": "string"
                  },
                  "deliveryTelegramText": {
                    "type": "string"
                  },
                  "deliveryWhatsappDomain": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "deliveryWhatsappTemplate": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "templateId": {
                    "type": "number",
                    "nullable": true
                  },
                  "deliverySmsTemplate": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "deliveryMailTemplate": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "mediaUrl": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 500
                  },
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "image",
                      "video",
                      "document"
                    ]
                  },
                  "language": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 10,
                    "example": "es_AR"
                  },
                  "schedule": {
                    "type": "object",
                    "properties": {
                      "scheduleStart": {
                        "type": "number"
                      },
                      "scheduleEnd": {
                        "type": "number"
                      },
                      "scheduleDays": {
                        "type": "string"
                      },
                      "scheduleFrom": {
                        "type": "string",
                        "description": "Fecha de inicio. Puede ser YYYY-MM-DD (si se incluye timezone) o un string ISO 8601 completo."
                      },
                      "scheduleTo": {
                        "type": "string",
                        "description": "Fecha de fin. Puede ser YYYY-MM-DD (si se incluye timezone) o un string ISO 8601 completo."
                      },
                      "timezone": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false,
                    "required": [
                      "scheduleStart",
                      "scheduleEnd",
                      "scheduleDays"
                    ]
                  },
                  "numberOfLots": {
                    "type": "number"
                  },
                  "userModified": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "surveyId": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "surveyReplyWaitMinutes": {
                    "type": "integer",
                    "minimum": 1
                  }
                },
                "required": [
                  "deliveryColumns",
                  "userModified"
                ],
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Campaign automated define. Fields deliverySmsTemplate (sms), deliveryMailTemplate (email), deliveryWhatsappDomain and deliveryWhatsappTemplate (whatsapp) and twilioStudioFlowId (twilioStudio) are required depending on campaign delivery type",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.automatedDefineById"
      }
    },
    "/api/v1/campaigns/automated": {
      "post": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "createAutomated",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Campaign model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Campaign"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "copyFrom": {
                    "type": "number"
                  },
                  "name": {
                    "type": "string"
                  },
                  "externalId": {
                    "type": "string"
                  },
                  "deliveryType": {
                    "type": "string",
                    "enum": [
                      "sms",
                      "whatsapp",
                      "telegram",
                      "twilioStudio",
                      "email",
                      1,
                      2,
                      3,
                      4,
                      6
                    ]
                  },
                  "scheduleFrom": {
                    "type": "string"
                  },
                  "scheduleTo": {
                    "type": "string"
                  },
                  "userAdded": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "isAutomated": {
                    "type": "boolean"
                  },
                  "channelId": {
                    "type": "number"
                  },
                  "account": {
                    "type": "string"
                  },
                  "twilioStudioFlowId": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "externalId",
                  "userAdded",
                  "isAutomated",
                  "channelId",
                  "account"
                ],
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Campaign create.<br>Field deliveryType can be used when creating a campaign from scratch.<br>Fields copyFrom, scheduleFrom y scheduleTo can be used when creating a campaign using another as template",
          "required": true
        },
        "operationId": "CampaignController.createAutomated"
      }
    },
    "/api/v1/campaigns/clean-redis": {
      "post": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "cleanRedis",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Redis cleaned successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "deletedKeys": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message",
                    "number"
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "deletedKeys",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pattern of Redis keys to delete (e.g., \"campaign:*\" or \"*\" for all keys)",
            "required": true
          },
          {
            "name": "apiKey",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CampaignController.cleanRedis"
      }
    },
    "/api/v1/campaigns/create": {
      "post": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "create",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Campaign model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Campaign"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "copyFrom": {
                    "type": "number"
                  },
                  "name": {
                    "type": "string"
                  },
                  "externalId": {
                    "type": "string"
                  },
                  "deliveryType": {
                    "type": "string",
                    "enum": [
                      "sms",
                      "whatsapp",
                      "telegram",
                      "twilioStudio",
                      "email",
                      1,
                      2,
                      3,
                      4,
                      6
                    ]
                  },
                  "scheduleFrom": {
                    "type": "string"
                  },
                  "scheduleTo": {
                    "type": "string"
                  },
                  "userAdded": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "isAutomated": {
                    "type": "boolean"
                  },
                  "channelId": {
                    "type": "number"
                  },
                  "account": {
                    "type": "string"
                  },
                  "twilioStudioFlowId": {
                    "type": "string"
                  }
                },
                "required": [
                  "name",
                  "externalId",
                  "userAdded",
                  "isAutomated",
                  "channelId",
                  "account"
                ],
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Campaign create.<br>Field deliveryType can be used when creating a campaign from scratch.<br>Fields copyFrom, scheduleFrom y scheduleTo can be used when creating a campaign using another as template",
          "required": true
        },
        "operationId": "CampaignController.create"
      }
    },
    "/api/v1/campaigns/filter": {
      "post": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "findByfilter",
        "tags": [
          "CampaignController"
        ],
        "description": "Busqueda por filtros, para la busqueda por los fields se debe seguir este patron: fields { \"email\": value, \"firstname\": value, \"lastname\": value }",
        "responses": {
          "200": {
            "description": "Campaign",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Campaign"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "pageSize": {
                    "type": "number",
                    "default": 50
                  },
                  "pageNumber": {
                    "type": "number",
                    "default": 1
                  },
                  "orderBy": {
                    "type": "string",
                    "description": "Field name (one of: name, status, external_id, delivery_type, schedule_start, date_modified, date_added)"
                  },
                  "order": {
                    "type": "string",
                    "description": "Ordering of results",
                    "enum": [
                      "asc",
                      "desc"
                    ]
                  },
                  "fields": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "description": "Filter for search",
          "required": true
        },
        "operationId": "CampaignController.findByfilter"
      }
    },
    "/api/v1/campaigns/whatsapp-templates": {
      "get": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "getWhatsappTemplates",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Get Whatsapp Templates InfoBIP",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "operationId": "CampaignController.getWhatsappTemplates"
      }
    },
    "/api/v1/campaigns/{id}/close": {
      "put": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "closeById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Marked Campaign as closed"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignPartialExcluding_id-name-status-active-externalId-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userDeleted-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.closeById"
      }
    },
    "/api/v1/campaigns/{idCampaign}/column-files": {
      "post": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "insertColumnFiles",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Campaign model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignColumn"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "idCampaign",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Campaign create.<br>Field deliveryType can be used when creating a campaign from scratch.<br>Fields copyFrom, scheduleFrom y scheduleTo can be used when creating a campaign using another as template",
          "required": true
        },
        "operationId": "CampaignController.insertColumnFiles"
      }
    },
    "/api/v1/campaigns/{id}/define": {
      "put": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "defineById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Campaign defined"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "deliverySmsText": {
                    "type": "string"
                  },
                  "deliverySmsTemplate": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "deliveryMailTemplate": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "deliveryTelegramText": {
                    "type": "string"
                  },
                  "deliveryWhatsappDomain": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "deliveryWhatsappTemplate": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 250
                  },
                  "templateId": {
                    "type": "number",
                    "nullable": true
                  },
                  "mediaUrl": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 500
                  },
                  "mediaType": {
                    "type": "string",
                    "enum": [
                      "image",
                      "video",
                      "document"
                    ]
                  },
                  "language": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 10,
                    "example": "es_AR"
                  },
                  "deliveryColumns": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "string",
                            "integer",
                            "decimal",
                            "currency",
                            "date",
                            "url"
                          ]
                        },
                        "flagWhatsapp": {
                          "type": "boolean"
                        },
                        "flagEditable": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false,
                      "required": [
                        "name",
                        "type",
                        "flagWhatsapp",
                        "flagEditable"
                      ]
                    }
                  },
                  "userModified": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "numberOfLots": {
                    "type": "number"
                  },
                  "twilioStudioFlowId": {
                    "type": "string"
                  },
                  "surveyId": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "surveyReplyWaitMinutes": {
                    "type": "integer",
                    "minimum": 1
                  }
                },
                "required": [
                  "deliveryColumns",
                  "userModified"
                ],
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Campaign define. Fields deliverySmsTemplate (sms), deliveryMailTemplate (email), deliveryWhatsappDomain and deliveryWhatsappTemplate (whatsapp) and twilioStudioFlowId (twilioStudio) are required depending on campaign delivery type",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.defineById"
      }
    },
    "/api/v1/campaigns/{id}/delete": {
      "put": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "deleteById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Marked Campaign as deleted"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignPartialExcluding_id-name-status-active-externalId-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userModified-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.deleteById"
      }
    },
    "/api/v1/campaigns/{campaignId}/file-columns": {
      "get": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "findCCById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Campaign Columns model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignColumnWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "CampaignController.findCCById"
      }
    },
    "/api/v1/campaigns/{id}/pause": {
      "put": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "pauseById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Paused Campaign sending"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignPartialExcluding_id-name-status-active-externalId-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userDeleted-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.pauseById"
      }
    },
    "/api/v1/campaigns/{id}/prepare": {
      "put": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "uploadRecordsById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Campaign defined"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "csvFile": {
                    "type": "string",
                    "contentEncoding": "base64"
                  },
                  "userModified": {
                    "type": "string",
                    "maxLength": 50
                  }
                },
                "required": [
                  "csvFile",
                  "userModified"
                ],
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Campaign prepare",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.uploadRecordsById"
      }
    },
    "/api/v1/campaigns/{idCampaign}/record": {
      "post": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "insertRecord",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Campaign model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignRecord"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "idCampaign",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "address": {
                      "type": "string"
                    },
                    "recordData": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "address",
                    "recordData"
                  ],
                  "additionalProperties": false
                },
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Campaign create.<br>Field deliveryType can be used when creating a campaign from scratch.<br>Fields copyFrom, scheduleFrom y scheduleTo can be used when creating a campaign using another as template",
          "required": true
        },
        "operationId": "CampaignController.insertRecord"
      }
    },
    "/api/v1/campaigns/{id}/schedule": {
      "put": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "scheduleById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Campaign scheduled"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scheduleStart": {
                    "type": "number"
                  },
                  "scheduleEnd": {
                    "type": "number"
                  },
                  "scheduleDays": {
                    "type": "string",
                    "pattern": "^[TF]{7}$"
                  },
                  "scheduleFrom": {
                    "type": "string",
                    "description": "Fecha de inicio. Puede ser YYYY-MM-DD (si se incluye timezone) o un string ISO 8601 completo."
                  },
                  "scheduleTo": {
                    "type": "string",
                    "description": "Fecha de fin. Puede ser YYYY-MM-DD (si se incluye timezone) o un string ISO 8601 completo."
                  },
                  "timezone": {
                    "type": "string"
                  },
                  "userModified": {
                    "type": "string",
                    "maxLength": 50
                  }
                },
                "required": [
                  "userModified"
                ]
              }
            }
          },
          "description": "Data for Campaign scheduling",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.scheduleById"
      }
    },
    "/api/v1/campaigns/{id}/send-status-detail": {
      "get": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "downloadStatusById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "The file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CampaignController.downloadStatusById"
      }
    },
    "/api/v1/campaigns/{id}": {
      "patch": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "updateById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "204": {
            "description": "Campaign PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignPartialExcluding_id-status-active-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userDeleted-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CampaignController.updateById"
      },
      "get": {
        "x-controller-name": "CampaignController",
        "x-operation-name": "findById",
        "tags": [
          "CampaignController"
        ],
        "responses": {
          "200": {
            "description": "Campaign model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "CampaignController.findById"
      }
    },
    "/api/v1/delivery-types": {
      "get": {
        "x-controller-name": "DeliveryTypeController",
        "x-operation-name": "getDeliveryTypes",
        "tags": [
          "DeliveryTypeController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Array of Delivery Types model instances"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "campaignConfigEnabled",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "DeliveryTypeController.getDeliveryTypes"
      }
    },
    "/api/v1/individual-campaign/message/status": {
      "post": {
        "x-controller-name": "IndividualCampaign",
        "x-operation-name": "onGatewayMessageStatus",
        "tags": [
          "IndividualCampaign"
        ],
        "responses": {
          "204": {
            "description": "message reply status updated"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "date": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "answer": {
                    "type": "string",
                    "maxLength": 50
                  }
                },
                "required": [
                  "date",
                  "phone",
                  "answer"
                ],
                "additionalProperties": false
              }
            }
          },
          "description": "update an essage reply status right after client has answered campaign message",
          "required": true
        },
        "operationId": "IndividualCampaign.onGatewayMessageStatus"
      }
    },
    "/api/v1/individual-campaign/send": {
      "post": {
        "x-controller-name": "IndividualCampaign",
        "x-operation-name": "send",
        "tags": [
          "IndividualCampaign"
        ],
        "responses": {
          "200": "Message sent successfully to connector"
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "destinations": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "to": {
                          "type": "object",
                          "properties": {
                            "phoneNumber": {
                              "type": "string"
                            },
                            "mailAddress": {
                              "type": "string"
                            },
                            "deviceToken": {
                              "type": "string"
                            }
                          },
                          "description": "At least one contact method (phone or email) is required."
                        }
                      },
                      "required": [
                        "to"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "whatsApp": {
                    "type": "object",
                    "properties": {
                      "templateName": {
                        "type": "string"
                      },
                      "templateData": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "language": {
                        "type": "string",
                        "example": "es_AR"
                      },
                      "buttons": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "content": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string"
                                },
                                "text": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      },
                      "media": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "image",
                              "video",
                              "document"
                            ]
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "required": [
                      "templateName",
                      "templateData",
                      "language"
                    ]
                  },
                  "sms": {
                    "type": "object",
                    "properties": {
                      "templateName": {
                        "type": "string"
                      },
                      "templateData": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "language": {
                        "type": "string",
                        "example": "es_AR"
                      }
                    },
                    "required": [
                      "templateName",
                      "templateData",
                      "language"
                    ]
                  },
                  "mail": {
                    "type": "object",
                    "properties": {
                      "templateName": {
                        "type": "string"
                      },
                      "templateData": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "language": {
                        "type": "string",
                        "example": "es_AR"
                      },
                      "media": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "image",
                              "video",
                              "document"
                            ]
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "required": [
                      "templateName",
                      "templateData",
                      "language"
                    ]
                  },
                  "channelId": {
                    "type": "number"
                  },
                  "processType": {
                    "type": "string"
                  },
                  "additionalInformation": {
                    "type": "object"
                  },
                  "sendUpdateMessage": {
                    "type": "object",
                    "properties": {
                      "internalId": {
                        "type": "string"
                      },
                      "messageId": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "internalId",
                      "messageId"
                    ]
                  }
                },
                "required": [
                  "destinations"
                ],
                "additionalProperties": false
              }
            }
          },
          "description": "Data for Individual Campaign send.<br>All fields are required.",
          "required": true
        },
        "operationId": "IndividualCampaign.send"
      }
    },
    "/api/v1/individual-campaign/status/{messageId}": {
      "get": {
        "x-controller-name": "IndividualCampaign",
        "x-operation-name": "getMessageStatus",
        "tags": [
          "IndividualCampaign"
        ],
        "responses": {
          "200": "Status of the message"
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "IndividualCampaign.getMessageStatus"
      }
    },
    "/api/v1/individual-campaign/update/{messageId}": {
      "patch": {
        "x-controller-name": "IndividualCampaign",
        "x-operation-name": "update",
        "tags": [
          "IndividualCampaign"
        ],
        "responses": {
          "200": "Message updated successfully"
        },
        "parameters": [
          {
            "name": "messageId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "IndividualCampaign.update"
      }
    },
    "/api/v1/templates/get/byname/{templateName}": {
      "get": {
        "x-controller-name": "TemplatesController",
        "x-operation-name": "getTemplate",
        "tags": [
          "TemplatesController"
        ],
        "responses": {
          "200": "Template retrieved successfully"
        },
        "parameters": [
          {
            "name": "templateName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TemplatesController.getTemplate"
      }
    },
    "/api/v1/templates/get": {
      "get": {
        "x-controller-name": "TemplatesController",
        "x-operation-name": "getTemplates",
        "tags": [
          "TemplatesController"
        ],
        "responses": {
          "200": "Templates retrieved successfully"
        },
        "operationId": "TemplatesController.getTemplates"
      }
    },
    "/api/v1/twilio-studio": {
      "get": {
        "x-controller-name": "TwilioStudioController",
        "x-operation-name": "getTemplates",
        "tags": [
          "TwilioStudioController"
        ],
        "responses": {
          "200": "Twilio Studio Flows retrieved successfully"
        },
        "operationId": "TwilioStudioController.getTemplates"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    }
  },
  "servers": [
    {
      "url": "https://campaign.staging.italk.ar"
    }
  ],
  "components": {
    "schemas": {
      "Campaign": {
        "title": "Campaign",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "deleted",
              "created",
              "defined",
              "preparing",
              "prepared",
              "scheduled",
              "paused",
              "closed",
              "automated",
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8
            ]
          },
          "active": {
            "type": "boolean"
          },
          "externalId": {
            "type": "string"
          },
          "deliveryType": {
            "type": "string"
          },
          "deliverySmsText": {
            "type": "string"
          },
          "deliverySmsTemplate": {
            "type": "string"
          },
          "deliveryMailTemplate": {
            "type": "string"
          },
          "deliveryTelegramText": {
            "type": "string"
          },
          "deliveryWhatsappDomain": {
            "type": "string",
            "minLength": 0,
            "maxLength": 250
          },
          "deliveryWhatsappTemplate": {
            "type": "string",
            "minLength": 0,
            "maxLength": 250
          },
          "templateId": {
            "type": "integer",
            "nullable": true
          },
          "twilioStudioFlowId": {
            "type": "string",
            "minLength": 0,
            "maxLength": 250
          },
          "scheduleStart": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1440
          },
          "scheduleEnd": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1440
          },
          "scheduleDays": {
            "type": "string",
            "minLength": 7,
            "maxLength": 7,
            "pattern": "^[TF]{7}$"
          },
          "scheduleFrom": {
            "type": "string",
            "format": "date-time"
          },
          "scheduleTo": {
            "type": "string",
            "format": "date-time"
          },
          "timezone": {
            "type": "string"
          },
          "countersTotals": {
            "type": "number"
          },
          "countersPending": {
            "type": "number"
          },
          "countersSent": {
            "type": "number"
          },
          "countersError": {
            "type": "number"
          },
          "countersRejected": {
            "type": "number"
          },
          "countersEmpty": {
            "type": "number"
          },
          "countersIgnored": {
            "type": "number"
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          },
          "dateDeleted": {
            "type": "string",
            "format": "date-time"
          },
          "userAdded": {
            "type": "string",
            "maxLength": 50
          },
          "userModified": {
            "type": "string",
            "maxLength": 50
          },
          "userDeleted": {
            "type": "string",
            "maxLength": 50
          },
          "isAutomated": {
            "type": "boolean"
          },
          "mediaType": {
            "type": "string",
            "enum": [
              "image",
              "video",
              "document"
            ]
          },
          "mediaUrl": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "channelId": {
            "type": "number"
          },
          "account": {
            "type": "string"
          },
          "numberOfLots": {
            "type": "number"
          },
          "onProgress": {
            "type": "boolean"
          },
          "surveyId": {
            "type": "number"
          },
          "surveyReplyWaitMinutes": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "status",
          "active",
          "deliveryType",
          "scheduleStart",
          "scheduleEnd",
          "scheduleDays",
          "dateAdded",
          "userAdded"
        ],
        "additionalProperties": false
      },
      "CampaignColumn": {
        "title": "CampaignColumn",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "campaignId": {
            "type": "number"
          },
          "order": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "flagWhatsapp": {
            "type": "boolean"
          },
          "flagEditable": {
            "type": "boolean"
          }
        },
        "required": [
          "campaignId",
          "order",
          "name",
          "type",
          "flagWhatsapp",
          "flagEditable"
        ],
        "additionalProperties": false
      },
      "CampaignRecord": {
        "title": "CampaignRecord",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "campaignId": {
            "type": "number"
          },
          "order": {
            "type": "number"
          },
          "address": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "rejected",
              "pending",
              "sent",
              "error",
              "read",
              "delivered",
              1,
              2,
              3,
              4,
              5,
              6
            ]
          },
          "dateStatus": {
            "type": "string",
            "format": "date-time"
          },
          "errorMessage": {
            "type": "string"
          },
          "recordData": {
            "type": "string"
          },
          "msgId": {
            "type": "string"
          }
        },
        "required": [
          "campaignId",
          "order",
          "address",
          "status"
        ],
        "additionalProperties": false
      },
      "CampaignColumnWithRelations": {
        "title": "CampaignColumnWithRelations",
        "type": "object",
        "description": "(tsType: CampaignColumnWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "campaignId": {
            "type": "number"
          },
          "order": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "flagWhatsapp": {
            "type": "boolean"
          },
          "flagEditable": {
            "type": "boolean"
          },
          "campaign": {
            "$ref": "#/components/schemas/CampaignWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "campaignId",
          "order",
          "name",
          "type",
          "flagWhatsapp",
          "flagEditable"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CampaignColumnWithRelations"
      },
      "CampaignWithRelations": {
        "title": "CampaignWithRelations",
        "type": "object",
        "description": "(tsType: CampaignWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "deleted",
              "created",
              "defined",
              "preparing",
              "prepared",
              "scheduled",
              "paused",
              "closed",
              "automated",
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8
            ]
          },
          "active": {
            "type": "boolean"
          },
          "externalId": {
            "type": "string"
          },
          "deliveryType": {
            "type": "string"
          },
          "deliverySmsText": {
            "type": "string"
          },
          "deliverySmsTemplate": {
            "type": "string"
          },
          "deliveryMailTemplate": {
            "type": "string"
          },
          "deliveryTelegramText": {
            "type": "string"
          },
          "deliveryWhatsappDomain": {
            "type": "string",
            "minLength": 0,
            "maxLength": 250
          },
          "deliveryWhatsappTemplate": {
            "type": "string",
            "minLength": 0,
            "maxLength": 250
          },
          "templateId": {
            "type": "integer",
            "nullable": true
          },
          "twilioStudioFlowId": {
            "type": "string",
            "minLength": 0,
            "maxLength": 250
          },
          "scheduleStart": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1440
          },
          "scheduleEnd": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1440
          },
          "scheduleDays": {
            "type": "string",
            "minLength": 7,
            "maxLength": 7,
            "pattern": "^[TF]{7}$"
          },
          "scheduleFrom": {
            "type": "string",
            "format": "date-time"
          },
          "scheduleTo": {
            "type": "string",
            "format": "date-time"
          },
          "timezone": {
            "type": "string"
          },
          "countersTotals": {
            "type": "number"
          },
          "countersPending": {
            "type": "number"
          },
          "countersSent": {
            "type": "number"
          },
          "countersError": {
            "type": "number"
          },
          "countersRejected": {
            "type": "number"
          },
          "countersEmpty": {
            "type": "number"
          },
          "countersIgnored": {
            "type": "number"
          },
          "dateAdded": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          },
          "dateDeleted": {
            "type": "string",
            "format": "date-time"
          },
          "userAdded": {
            "type": "string",
            "maxLength": 50
          },
          "userModified": {
            "type": "string",
            "maxLength": 50
          },
          "userDeleted": {
            "type": "string",
            "maxLength": 50
          },
          "isAutomated": {
            "type": "boolean"
          },
          "mediaType": {
            "type": "string",
            "enum": [
              "image",
              "video",
              "document"
            ]
          },
          "mediaUrl": {
            "type": "string"
          },
          "language": {
            "type": "string"
          },
          "channelId": {
            "type": "number"
          },
          "account": {
            "type": "string"
          },
          "numberOfLots": {
            "type": "number"
          },
          "onProgress": {
            "type": "boolean"
          },
          "surveyId": {
            "type": "number"
          },
          "surveyReplyWaitMinutes": {
            "type": "number"
          },
          "deliveryColumns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignColumnWithRelations"
            }
          }
        },
        "required": [
          "name",
          "status",
          "active",
          "deliveryType",
          "scheduleStart",
          "scheduleEnd",
          "scheduleDays",
          "dateAdded",
          "userAdded"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CampaignWithRelations"
      },
      "CampaignPartialExcluding_id-status-active-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userDeleted-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_": {
        "title": "CampaignPartialExcluding_id-status-active-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userDeleted-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Campaign>, 'id' | 'status' | 'active' | 'deliveryType' | 'deliverySmsText' | 'deliverySmsTemplate' | 'deliveryMailTemplate' | 'deliveryTelegramText' | 'deliveryWhatsappDomain' | 'deliveryWhatsappTemplate' | 'templateId' | 'twilioStudioFlowId' | 'scheduleStart' | 'scheduleEnd' | 'scheduleDays' | 'scheduleFrom' | 'scheduleTo' | 'timezone' | 'countersTotals' | 'countersPending' | 'countersSent' | 'countersError' | 'countersRejected' | 'countersEmpty' | 'countersIgnored' | 'dateAdded' | 'dateModified' | 'dateDeleted' | 'userAdded' | 'userDeleted' | 'isAutomated' | 'mediaType' | 'mediaUrl' | 'language' | 'channelId' | 'account' | 'numberOfLots' | 'onProgress' | 'surveyId' | 'surveyReplyWaitMinutes'>, schemaOptions: {\n  partial: true,\n  exclude: [\n    'id',                     'status',\n    'active',                 'deliveryType',\n    'deliverySmsText',        'deliverySmsTemplate',\n    'deliveryMailTemplate',   'deliveryTelegramText',\n    'deliveryWhatsappDomain', 'deliveryWhatsappTemplate',\n    'templateId',             'twilioStudioFlowId',\n    'scheduleStart',          'scheduleEnd',\n    'scheduleDays',           'scheduleFrom',\n    'scheduleTo',             'timezone',\n    'countersTotals',         'countersPending',\n    'countersSent',           'countersError',\n    'countersRejected',       'countersEmpty',\n    'countersIgnored',        'dateAdded',\n    'dateModified',           'dateDeleted',\n    'userAdded',              'userDeleted',\n    'isAutomated',            'mediaType',\n    'mediaUrl',               'language',\n    'channelId',              'account',\n    'numberOfLots',           'onProgress',\n    'surveyId',               'surveyReplyWaitMinutes'\n  ]\n})",
        "properties": {
          "name": {
            "type": "string"
          },
          "externalId": {
            "type": "string"
          },
          "userModified": {
            "type": "string",
            "maxLength": 50
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Campaign>, 'id' | 'status' | 'active' | 'deliveryType' | 'deliverySmsText' | 'deliverySmsTemplate' | 'deliveryMailTemplate' | 'deliveryTelegramText' | 'deliveryWhatsappDomain' | 'deliveryWhatsappTemplate' | 'templateId' | 'twilioStudioFlowId' | 'scheduleStart' | 'scheduleEnd' | 'scheduleDays' | 'scheduleFrom' | 'scheduleTo' | 'timezone' | 'countersTotals' | 'countersPending' | 'countersSent' | 'countersError' | 'countersRejected' | 'countersEmpty' | 'countersIgnored' | 'dateAdded' | 'dateModified' | 'dateDeleted' | 'userAdded' | 'userDeleted' | 'isAutomated' | 'mediaType' | 'mediaUrl' | 'language' | 'channelId' | 'account' | 'numberOfLots' | 'onProgress' | 'surveyId' | 'surveyReplyWaitMinutes'>"
      },
      "CampaignPartialExcluding_id-name-status-active-externalId-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userModified-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_": {
        "title": "CampaignPartialExcluding_id-name-status-active-externalId-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userModified-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Campaign>, 'id' | 'name' | 'status' | 'active' | 'externalId' | 'deliveryType' | 'deliverySmsText' | 'deliverySmsTemplate' | 'deliveryMailTemplate' | 'deliveryTelegramText' | 'deliveryWhatsappDomain' | 'deliveryWhatsappTemplate' | 'templateId' | 'twilioStudioFlowId' | 'scheduleStart' | 'scheduleEnd' | 'scheduleDays' | 'scheduleFrom' | 'scheduleTo' | 'timezone' | 'countersTotals' | 'countersPending' | 'countersSent' | 'countersError' | 'countersRejected' | 'countersEmpty' | 'countersIgnored' | 'dateAdded' | 'dateModified' | 'dateDeleted' | 'userAdded' | 'userModified' | 'isAutomated' | 'mediaType' | 'mediaUrl' | 'language' | 'channelId' | 'account' | 'numberOfLots' | 'onProgress' | 'surveyId' | 'surveyReplyWaitMinutes'>, schemaOptions: {\n  partial: true,\n  exclude: [\n    'id',                     'name',\n    'status',                 'active',\n    'externalId',             'deliveryType',\n    'deliverySmsText',        'deliverySmsTemplate',\n    'deliveryMailTemplate',   'deliveryTelegramText',\n    'deliveryWhatsappDomain', 'deliveryWhatsappTemplate',\n    'templateId',             'twilioStudioFlowId',\n    'scheduleStart',          'scheduleEnd',\n    'scheduleDays',           'scheduleFrom',\n    'scheduleTo',             'timezone',\n    'countersTotals',         'countersPending',\n    'countersSent',           'countersError',\n    'countersRejected',       'countersEmpty',\n    'countersIgnored',        'dateAdded',\n    'dateModified',           'dateDeleted',\n    'userAdded',              'userModified',\n    'isAutomated',            'mediaType',\n    'mediaUrl',               'language',\n    'channelId',              'account',\n    'numberOfLots',           'onProgress',\n    'surveyId',               'surveyReplyWaitMinutes'\n  ]\n})",
        "properties": {
          "userDeleted": {
            "type": "string",
            "maxLength": 50
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Campaign>, 'id' | 'name' | 'status' | 'active' | 'externalId' | 'deliveryType' | 'deliverySmsText' | 'deliverySmsTemplate' | 'deliveryMailTemplate' | 'deliveryTelegramText' | 'deliveryWhatsappDomain' | 'deliveryWhatsappTemplate' | 'templateId' | 'twilioStudioFlowId' | 'scheduleStart' | 'scheduleEnd' | 'scheduleDays' | 'scheduleFrom' | 'scheduleTo' | 'timezone' | 'countersTotals' | 'countersPending' | 'countersSent' | 'countersError' | 'countersRejected' | 'countersEmpty' | 'countersIgnored' | 'dateAdded' | 'dateModified' | 'dateDeleted' | 'userAdded' | 'userModified' | 'isAutomated' | 'mediaType' | 'mediaUrl' | 'language' | 'channelId' | 'account' | 'numberOfLots' | 'onProgress' | 'surveyId' | 'surveyReplyWaitMinutes'>"
      },
      "CampaignPartialExcluding_id-name-status-active-externalId-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userDeleted-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_": {
        "title": "CampaignPartialExcluding_id-name-status-active-externalId-deliveryType-deliverySmsText-deliverySmsTemplate-deliveryMailTemplate-deliveryTelegramText-deliveryWhatsappDomain-deliveryWhatsappTemplate-templateId-twilioStudioFlowId-scheduleStart-scheduleEnd-scheduleDays-scheduleFrom-scheduleTo-timezone-countersTotals-countersPending-countersSent-countersError-countersRejected-countersEmpty-countersIgnored-dateAdded-dateModified-dateDeleted-userAdded-userDeleted-isAutomated-mediaType-mediaUrl-language-channelId-account-numberOfLots-onProgress-surveyId-surveyReplyWaitMinutes_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Campaign>, 'id' | 'name' | 'status' | 'active' | 'externalId' | 'deliveryType' | 'deliverySmsText' | 'deliverySmsTemplate' | 'deliveryMailTemplate' | 'deliveryTelegramText' | 'deliveryWhatsappDomain' | 'deliveryWhatsappTemplate' | 'templateId' | 'twilioStudioFlowId' | 'scheduleStart' | 'scheduleEnd' | 'scheduleDays' | 'scheduleFrom' | 'scheduleTo' | 'timezone' | 'countersTotals' | 'countersPending' | 'countersSent' | 'countersError' | 'countersRejected' | 'countersEmpty' | 'countersIgnored' | 'dateAdded' | 'dateModified' | 'dateDeleted' | 'userAdded' | 'userDeleted' | 'isAutomated' | 'mediaType' | 'mediaUrl' | 'language' | 'channelId' | 'account' | 'numberOfLots' | 'onProgress' | 'surveyId' | 'surveyReplyWaitMinutes'>, schemaOptions: {\n  partial: true,\n  exclude: [\n    'id',                     'name',\n    'status',                 'active',\n    'externalId',             'deliveryType',\n    'deliverySmsText',        'deliverySmsTemplate',\n    'deliveryMailTemplate',   'deliveryTelegramText',\n    'deliveryWhatsappDomain', 'deliveryWhatsappTemplate',\n    'templateId',             'twilioStudioFlowId',\n    'scheduleStart',          'scheduleEnd',\n    'scheduleDays',           'scheduleFrom',\n    'scheduleTo',             'timezone',\n    'countersTotals',         'countersPending',\n    'countersSent',           'countersError',\n    'countersRejected',       'countersEmpty',\n    'countersIgnored',        'dateAdded',\n    'dateModified',           'dateDeleted',\n    'userAdded',              'userDeleted',\n    'isAutomated',            'mediaType',\n    'mediaUrl',               'language',\n    'channelId',              'account',\n    'numberOfLots',           'onProgress',\n    'surveyId',               'surveyReplyWaitMinutes'\n  ]\n})",
        "properties": {
          "userModified": {
            "type": "string",
            "maxLength": 50
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Campaign>, 'id' | 'name' | 'status' | 'active' | 'externalId' | 'deliveryType' | 'deliverySmsText' | 'deliverySmsTemplate' | 'deliveryMailTemplate' | 'deliveryTelegramText' | 'deliveryWhatsappDomain' | 'deliveryWhatsappTemplate' | 'templateId' | 'twilioStudioFlowId' | 'scheduleStart' | 'scheduleEnd' | 'scheduleDays' | 'scheduleFrom' | 'scheduleTo' | 'timezone' | 'countersTotals' | 'countersPending' | 'countersSent' | 'countersError' | 'countersRejected' | 'countersEmpty' | 'countersIgnored' | 'dateAdded' | 'dateModified' | 'dateDeleted' | 'userAdded' | 'userDeleted' | 'isAutomated' | 'mediaType' | 'mediaUrl' | 'language' | 'channelId' | 'account' | 'numberOfLots' | 'onProgress' | 'surveyId' | 'surveyReplyWaitMinutes'>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      }
    }
  }
}