{
  "x-generator": "NSwag v14.4.0.0 (NJsonSchema v11.3.2.0 (Newtonsoft.Json v13.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "apiconnector.com",
    "version": "v2"
  },
  "servers": [
    {
      "url": "https://api.dotdigital.com"
    }
  ],
  "paths": {
    "/v2/account-info": {
      "get": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Gets a summary of information about the current status of the account.",
        "operationId": "ApiAccount_GetCurrentAccountInfo",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiAccount"
                }
              }
            }
          }
        }
      }
    },
    "/v2/server-time": {
      "get": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Gets the UTC time as set on the server.",
        "operationId": "ApiAccount_GetServerTime",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/v2/accounts": {
      "post": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Creates an account. The ID of the newly returned account will be returned as the result of this call.",
        "description": "There are some mandatory, and some optional fields - missing mandatory fields will cause error code to be returned.\n            The following fields are mandatory: \"EMAIL\", \"FIRSTNAME\", \"LASTNAME\", \"USERIPADDRESS\".\n            The following fields are optional: \"COMPANY\", \"PHONENUMBER\", \"LCID\", \"TIMEZONEID\", \"ISEXPRESSACCOUNT\".",
        "operationId": "ApiAccount_CreateAccount",
        "requestBody": {
          "x-name": "account",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiAccount"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiAccount"
                }
              }
            }
          }
        }
      }
    },
    "/v2/accounts/{accountId}/managed-users": {
      "post": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Creates Managed user for a given account id.",
        "operationId": "ApiAccount_CreateManagedUser",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiManagedUser",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiManagedUser"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiManagedUser"
                }
              }
            }
          }
        }
      }
    },
    "/v2/accounts/{accountId}/oauth-tokens": {
      "post": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Adds an OAuth token to an account.",
        "operationId": "ApiAccount_CreateOAuthToken",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiOAuthToken",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiOAuthToken"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiOAuthToken"
                }
              }
            }
          }
        }
      }
    },
    "/v2/accounts/{accountId}/theme": {
      "put": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Changes a theme for an account.",
        "operationId": "ApiAccount_UpdateTheme",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiTheme",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiTheme"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": ""
          }
        }
      }
    },
    "/v2/accounts/{accountId}/api-users": {
      "post": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Creates an API user for a given account ID. The username of the created user will be returned as the result of this call.",
        "description": "This method may only be called on an account with no existing API users configured using the rate limiting scheme referenced in the request indicated with IsTieredRateLimitedApiUser e.g. flat or tiered rate limiting.",
        "operationId": "ApiAccount_CreateApiUser",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiUser",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiUser"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiUser"
                }
              }
            }
          }
        }
      }
    },
    "/v2/accounts/empty-recycle-bin": {
      "post": {
        "tags": [
          "ApiAccount"
        ],
        "summary": "Empties the account's recycle bin.",
        "operationId": "ApiAccount_EmptyRecycleBin",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{id}": {
      "get": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Gets a list by ID.",
        "operationId": "ApiAddressBook_GetAddressBookById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiAddressBook"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Updates a list.",
        "operationId": "ApiAddressBook_UpdateAddressBook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiAddressBook",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiAddressBook"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiAddressBook"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Deletes a list.",
        "operationId": "ApiAddressBook_DeleteAddressBook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books": {
      "get": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Gets all lists.",
        "operationId": "ApiAddressBook_GetAddressBooks",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiAddressBook"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Creates a list.",
        "operationId": "ApiAddressBook_CreateAddressBook",
        "requestBody": {
          "x-name": "apiAddressBook",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiAddressBook"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiAddressBook"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/private": {
      "get": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Gets all private lists.",
        "operationId": "ApiAddressBook_GetPrivateAddressBooks",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiAddressBook"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/public": {
      "get": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Gets all public lists.",
        "operationId": "ApiAddressBook_GetPublicAddressBooks",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiAddressBook"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{contactId}/address-books": {
      "get": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Gets any lists that a contact is in.",
        "operationId": "ApiAddressBook_GetAddressBooksForContact",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiAddressBook"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/address-books": {
      "get": {
        "tags": [
          "ApiAddressBook"
        ],
        "summary": "Gets any lists that a campaign has ever been sent to.",
        "operationId": "ApiAddressBook_GetAddressBooksForCampaign",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiAddressBook"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{id}": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets a campaign by ID.",
        "operationId": "ApiCampaign_GetCampaignById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaign"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Updates a given campaign.",
        "operationId": "ApiCampaign_UpdateCampaign",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiCampaign",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiCampaign"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaign"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets all campaigns.",
        "operationId": "ApiCampaign_GetCampaigns",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaign"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Creates a campaign.",
        "operationId": "ApiCampaign_CreateCampaign",
        "requestBody": {
          "x-name": "apiCampaign",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiCampaignWithType"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignWithType"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/filtered": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets all campaigns (with filters).",
        "operationId": "ApiCampaign_GetCampaignsWithFilters",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          },
          {
            "name": "~type",
            "x-originalName": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            },
            "x-position": 3
          },
          {
            "name": "~tags",
            "x-originalName": "tags",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            },
            "x-position": 4
          },
          {
            "name": "~sentDate",
            "x-originalName": "sentDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 5
          },
          {
            "name": "~statuses",
            "x-originalName": "statuses",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "nullable": true,
              "items": {
                "type": "string"
              }
            },
            "x-position": 6
          },
          {
            "name": "~scheduledDateFrom",
            "x-originalName": "scheduledDateFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 7
          },
          {
            "name": "~scheduledDateTo",
            "x-originalName": "scheduledDateTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 8
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignExtended"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/with-details": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets all campaigns with additional information like type.",
        "operationId": "ApiCampaign_GetCampaignsWithDetails",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignDetails"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/campaigns": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets any campaigns that have been sent to a list.",
        "operationId": "ApiCampaign_GetCampaignsForAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaign"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/with-activity-since/{date}": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets all sent campaigns, which have had activity (e.g. clicks, opens) after a specified date.",
        "operationId": "ApiCampaign_GetSentCampaignsWithActivitySinceDate",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaign"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/split-test": {
      "post": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Creates a split test campaign.",
        "operationId": "ApiCampaign_CreateSplitTestCampaign",
        "requestBody": {
          "x-name": "apiCampaign",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiSplitTestCampaign"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSplitTestCampaign"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/copy": {
      "post": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Copies a given campaign returning the new campaign.",
        "operationId": "ApiCampaign_CopyCampaign",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaign"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}": {
      "delete": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Deletes a campaign, and any associated reporting data. If the campaign is currently in use, or being sent to, this call will not be permitted.",
        "operationId": "ApiCampaign_DeleteCampaign",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/with-details": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets a campaign by ID with additional information like type and assigned tags",
        "operationId": "ApiCampaign_GetCampaignWithDetails",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/split-test": {
      "get": {
        "tags": [
          "ApiCampaign"
        ],
        "summary": "Gets the split test results of a given campaign.",
        "operationId": "ApiCampaign_GetCampaignSplitTestResults",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignSplitTestResults"
                }
              }
            }
          }
        }
      }
    },
    "/v2/custom-from-addresses": {
      "get": {
        "tags": [
          "ApiCampaignFromAddress"
        ],
        "summary": "Gets all custom from addresses which can be used in a campaign.",
        "operationId": "ApiCampaignFromAddress_GetCustomFromAddresses",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignFromAddress"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/summary": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a summary of reporting information for a specified campaign.",
        "operationId": "ApiCampaignReporting_GetCampaignSummary",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignSummary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of contacts who were sent a campaign, with their activity.",
        "operationId": "ApiCampaignReporting_GetCampaignActivities",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactSummary"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/since-date/{date}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of contacts who were sent a campaign, and retrieves only those contacts who showed activity (e.g. they clicked, opened) after a specified date.",
        "operationId": "ApiCampaignReporting_GetCampaignActivitiesSinceDate",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 2000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactSummary"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets activity for a given contact and campaign.",
        "operationId": "ApiCampaignReporting_GetCampaignContactActivity",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignContactSummary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/clicks": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign link clicks.",
        "operationId": "ApiCampaignReporting_GetCampaignClicks",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactClick"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/clicks/since-date/{date}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of link clicks for a campaign after a specified date",
        "operationId": "ApiCampaignReporting_GetCampaignClicksSinceDate",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactClick"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/clicks": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign link clicks for a contact.",
        "operationId": "ApiCampaignReporting_GetCampaignContactClicks",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactClick"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/opens": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign opens.",
        "operationId": "ApiCampaignReporting_GetCampaignOpens",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactOpen"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/opens/since-date/{date}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of opens for a campaign after a specified date",
        "operationId": "ApiCampaignReporting_GetCampaignOpensSinceDate",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactOpen"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/opens": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign opens for a contact.",
        "operationId": "ApiCampaignReporting_GetCampaignContactOpens",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactOpen"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/page-views/since-date/{date}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of page views for a campaign after a specified date.",
        "operationId": "ApiCampaignReporting_GetCampaignPageViewsSinceDate",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactPageView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/page-views": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of page views for a contact.",
        "operationId": "ApiCampaignReporting_GetCampaignContactPageViews",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactPageView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/replies": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign replies for a contact.",
        "description": "You may not request more than 5 records at a time using the \"select\" parameter.",
        "operationId": "ApiCampaignReporting_GetCampaignContactReplies",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 5
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactReply"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/social-bookmark-views": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets campaign social bookmark views for a campaign.",
        "operationId": "ApiCampaignReporting_GetCampaignSocialBookmarkViews",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactSocialBookmarkView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/social-bookmark-views": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets campaign social bookmark views for a contact.",
        "operationId": "ApiCampaignReporting_GetCampaignContactSocialBookmarkViews",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactSocialBookmarkView"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/roi-details/since-date/{date}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of ROI information for a campaign after the specified date.",
        "operationId": "ApiCampaignReporting_GetCampaignRoiDetailsSinceDate",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactRoiDetail"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/roi-details": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of ROI information for a contact.",
        "operationId": "ApiCampaignReporting_GetCampaignContactRoiDetails",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactRoiDetail"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/hard-bouncing-contacts": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of contacts who hard bounced when sent a particular campaign.",
        "operationId": "ApiCampaignReporting_GetCampaignHardBouncingContacts",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "withFullData",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContact"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/clicks-with-groups": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign clicks with link groups",
        "operationId": "ApiCampaignReporting_GetCampaignClicksAndLinkGroups",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactClickWithGroups"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/clicks-with-groups/since-date/{date}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign clicks with link groups after a specified date",
        "operationId": "ApiCampaignReporting_GetCampaignClicksAndLinkGroupsSinceDate",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactClickWithGroups"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/clicks-with-groups": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets a list of campaign clicks with link groups for a contact",
        "operationId": "ApiCampaignReporting_GetCampaignContactClicksAnsLinkGroups",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignContactClickWithGroups"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/revenue/since-date/{date}": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets the revenue attributed to a specified campaign after a specified date.",
        "operationId": "ApiCampaignReporting_GetCampaignRevenueSinceDate",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignRevenueAttributionDetail"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/activities/{contactId}/revenue": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets the revenue attributed to a specified campaign generated by a specified contact.",
        "operationId": "ApiCampaignReporting_GetCampaignRevenueByContact",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignRevenueAttributionDetail"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/metrics": {
      "get": {
        "tags": [
          "ApiCampaignReporting"
        ],
        "summary": "Gets all sent campaigns daily metrics for the specified date range.",
        "operationId": "ApiCampaignReporting_GetCampaignMetrics",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiCampaignReportModelExtended"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/send": {
      "post": {
        "tags": [
          "ApiCampaignSend"
        ],
        "summary": "Sends a specified campaign to one or more lists, segments or contacts at a specified time. Leave the list array empty to send to All Contacts.",
        "operationId": "ApiCampaignSend_SendCampaign",
        "requestBody": {
          "x-name": "apiCampaignSend",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiCampaignSend"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignSend"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/send-time-optimised": {
      "post": {
        "tags": [
          "ApiCampaignSend"
        ],
        "summary": "Sends a specified campaign to one or more lists, segments or contacts at the most appropriate time based upon their previous open. Leave the list array empty to send to All Contacts.",
        "operationId": "ApiCampaignSend_SendTimeOptimisedCampaign",
        "requestBody": {
          "x-name": "apiCampaignSend",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiCampaignSend"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignSend"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/send/{sendId}": {
      "get": {
        "tags": [
          "ApiCampaignSend"
        ],
        "summary": "Gets the send status using send ID.",
        "operationId": "ApiCampaignSend_GetCampaignSendProgress",
        "parameters": [
          {
            "name": "sendId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignSend"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/suppressed-since/{date}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of suppressed contacts after a given date along with the reason for suppression.",
        "operationId": "ApiContact_GetSuppressedContacts",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactSuppression"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/unsubscribed-since/{date}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of unsubscribed contacts who unsubscribed after a given date.",
        "operationId": "ApiContact_GetUnsubscribedContacts",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactSuppression"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/modified-since/{date}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of modified contacts after a specified date.",
        "operationId": "ApiContact_GetModifiedContacts",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "withFullData",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 2000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContact"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/created-since/{date}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of created contacts after a specified date.",
        "operationId": "ApiContact_GetNewContacts",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "withFullData",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContact"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of all contacts in the account.",
        "operationId": "ApiContact_GetContacts",
        "parameters": [
          {
            "name": "withFullData",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContact"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Creates a contact.",
        "operationId": "ApiContact_CreateContact",
        "requestBody": {
          "x-name": "apiContact",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContact"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContact"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{id}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a contact by ID. Unsubscribed or suppressed contacts will not be retrieved.",
        "operationId": "ApiContact_GetContactById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContact"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Updates a contact.",
        "operationId": "ApiContact_UpdateContact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiContact",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContact"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContact"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes a contact.",
        "operationId": "ApiContact_DeleteContact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      }
    },
    "/v2/contacts/{id}/with-consent": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a contact by ID with consent records.",
        "operationId": "ApiContact_GetContactByIdWithConsent",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactWithConsent"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Updates a contact with consent records.",
        "operationId": "ApiContact_UpdateContact2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiContactWithConsent",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactWithConsent"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactWithConsent"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{email}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a contact by email address.",
        "operationId": "ApiContact_GetContactByEmail",
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContact"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{email}/with-consent": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a contact by email address with consent records.",
        "operationId": "ApiContact_GetContactByEmailWithConsent",
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactWithConsent"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/with-consent": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Creates a contact with consent records.",
        "operationId": "ApiContact_CreateContactWithConsent",
        "requestBody": {
          "x-name": "apiContactWithConsent",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactWithConsent"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactWithConsent"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/with-consent-and-preferences": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Creates a contact with consent and preference records.",
        "operationId": "ApiContact_CreateContactWithConsentAndPreferences",
        "requestBody": {
          "x-name": "apiContactWithConsentAndPreferences",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactWithConsentAndPreferences"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactWithConsentAndPreferences"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{id}/with-consent-and-preferences": {
      "put": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Updates a contact with consent and preference records.",
        "operationId": "ApiContact_UpdateContact3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiContactWithConsentAndPreferences",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactWithConsentAndPreferences"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactWithConsentAndPreferences"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/{contactId}": {
      "delete": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes a contact from a given list.",
        "operationId": "ApiContact_DeleteContactFromAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts": {
      "delete": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes all contacts from a given list.",
        "operationId": "ApiContact_DeleteAllContactsFromAddressBookWithoutProgress",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      },
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of contacts in a given list.",
        "operationId": "ApiContact_GetContactsInAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "withFullData",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContact"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Adds a contact to a given list.",
        "operationId": "ApiContact_AddContactToAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiContact",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContact"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContact"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/delete-all": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes all contacts from a given list.",
        "operationId": "ApiContact_DeleteAllContactsFromAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBulkContactDeletion"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/delete": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes multiple contacts from a list. This will run in the background, and for larger lists may take some minutes to fully delete.",
        "operationId": "ApiContact_DeleteContactsFromAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "contactIds",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBulkContactDeletion"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/deletion/{deletionRequestId}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets the status of a previously started request to delete contacts from a list.",
        "operationId": "ApiContact_GetBulkContactDeletionProgress",
        "parameters": [
          {
            "name": "deletionRequestId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBulkContactDeletion"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/modified-since/{date}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of contacts who were modified since a given date, in a given list.",
        "operationId": "ApiContact_GetModifiedContactsInAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "withFullData",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 3
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 2000
            },
            "x-position": 4
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 5
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContact"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/unsubscribed-since/{date}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of contacts who have unsubscribed from a given list.",
        "operationId": "ApiContact_GetUnsubscribedContactsInAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactSuppression"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/unsubscribe": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Unsubscribes contact from account.",
        "operationId": "ApiContact_UnsubscribeContact",
        "requestBody": {
          "x-name": "apiContact",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContact"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactSuppression"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/suppress-contacts": {
      "put": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Suppresses a batch of contacts from account.",
        "operationId": "ApiContact_SuppressContacts",
        "requestBody": {
          "x-name": "apiContacts",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiContactIdAndEmail"
                }
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiBulkSuppressResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/unsubscribe": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Unsubscribes contact from a given list.",
        "operationId": "ApiContact_UnsubscribeContactFromAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiContact",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContact"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactSuppression"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/resubscribe": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Resubscribes a previously unsubscribed contact.",
        "operationId": "ApiContact_ResubscribeContact",
        "requestBody": {
          "x-name": "apiContactResubscription",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactResubscription"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResubscribeResult"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/resubscribe-with-no-challenge": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Resubscribes a previously unsubscribed contact with no challenge.",
        "operationId": "ApiContact_ResubscribeContactWithNoChallenge",
        "requestBody": {
          "x-name": "apiContactResubscription",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactResubscription"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResubscribeResult"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/resubscribe": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Resubscribes a previously unsubscribed contact to a given list.",
        "operationId": "ApiContact_ResubscribeContactToAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiContactResubscription",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactResubscription"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResubscribeResult"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/resubscribe-with-no-challenge": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Resubscribes a previously unsubscribed contact to a given list with no challenge.",
        "operationId": "ApiContact_ResubscribeContactToAddressBookWithNoChallenge",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiContactResubscription",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactResubscription"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiResubscribeResult"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/transactional-data/{collectionName}": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Adds a single piece of transactional data to a contact.",
        "operationId": "ApiContact_AddTransactionalData",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiTransactionalData",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiTransactionalData"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTransactionalData"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ApiContact"
        ],
        "operationId": "ApiContact_GetTransactionalDataByCollectionFromId",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "fromId",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "take",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiTransactionalData"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/transactional-data/import/{collectionName}": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Adds multiple pieces of transactional data to contacts asynchronously, returning an identifier that can be used to check for import progress.",
        "operationId": "ApiContact_ImportTransactionalData",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiTransactionalData",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiTransactionalData"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTransactionalDataImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/transactional-data/import/{importId}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets the import status of a previously started transactional import.",
        "operationId": "ApiContact_GetTransactionalDataImportProgress",
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTransactionalDataImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/transactional-data/import/{importId}/report": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a report with statistics about what was successfully imported, and what was unable to be imported.",
        "operationId": "ApiContact_GetTransactionalDataImportReport",
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTransactionalDataImportReport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/transactional-data/{collectionName}/{key}": {
      "post": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Replaces a piece of transactional data by key (logicall equivalent to a delete and an insert).",
        "operationId": "ApiContact_ReplaceTransactionalDataByKey",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "apiJsonData",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiJsonData"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTransactionalData"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes a piece of transactional data by key.",
        "operationId": "ApiContact_DeleteTransactionalDataByKey",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      },
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a piece of transactional data by key.",
        "operationId": "ApiContact_GetTransactionalDataByKey",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "key",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTransactionalData"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/transactional-data/{collectionName}/empty": {
      "put": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Removes all items from a transactional data collection.",
        "operationId": "ApiContact_EmptyTransactionalDataCollection",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      }
    },
    "/v2/contacts/{id}/transactional-data/{collectionName}": {
      "delete": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes all transactional data for a contact.",
        "operationId": "ApiContact_DeleteTransactionalDataByContactId",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      },
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of all transactional data for a contact (100 most recent only).",
        "operationId": "ApiContact_GetTransactionalDataByContactId",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiTransactionalData"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{email}/transactional-data/{collectionName}": {
      "delete": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Deletes all transactional data for a contact.",
        "operationId": "ApiContact_DeleteTransactionalDataByContactEmail",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "email",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      },
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of all transactional data for a contact (100 most recent only).",
        "operationId": "ApiContact_GetTransactionalDataByContactEmail",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "email",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiTransactionalData"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/transactional-data/{collectionName}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of account scoped transactional data for given collection",
        "operationId": "ApiContact_GetAccountScopedTransactionalData",
        "parameters": [
          {
            "name": "collectionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiTransactionalData"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/transactional-data-collections": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of transactional data collections.",
        "operationId": "ApiContact_GetTransactionalDataCollections",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiTransactionalDataCollection"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/score": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of contact scoring data.",
        "operationId": "ApiContact_GetContactsScore",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactScore"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/score": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of contact scoring data in specified list.",
        "operationId": "ApiContact_GetContactsScoreInAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactScore"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/score/modified-since/{date}": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a list of contact scoring data ordered by modified date.",
        "operationId": "ApiContact_GetContactsScoreModifiedSinceDate",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactScore"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{email}/score": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets particular contact scoring data.",
        "operationId": "ApiContact_GetContactScoreByEmail",
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactScore"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{id}/score": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets particular contact scoring data.",
        "operationId": "ApiContact_GetContactScoreByContactId",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactScore"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/count": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets the total number of contacts in an account.",
        "operationId": "ApiContact_GetAllContactsCount",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/retrieve-collection": {
      "get": {
        "tags": [
          "ApiContact"
        ],
        "summary": "Gets a batch of contacts by ID or email address.",
        "operationId": "ApiContact_GetMultipleContacts",
        "requestBody": {
          "x-name": "multipleContactsRequest",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiMultipleContactsRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiMultipleContactsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/import": {
      "post": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress.",
        "description": "Import format can either be CSV or Excel. Must include one column called \"Email\". Any other columns will attempt to map to your custom data fields.",
        "operationId": "ApiContactImport_ImportContactsToAddressBook",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "file",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiFileMedia"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{addressBookId}/contacts/import/with-merge-option/{mergeOption}": {
      "post": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Bulk creates, or bulk updates, contacts with merge options. The ID of returned object can be used to query import progress.",
        "description": "Import format can either be CSV or Excel. Must include one column called \"Email\". Passing a valid \"mergeOption\" parameter is compulsory. Any other columns will attempt to map to your custom data fields.",
        "operationId": "ApiContactImport_ImportContactsToAddressBookWithMergeOption",
        "parameters": [
          {
            "name": "addressBookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "mergeOption",
            "in": "path",
            "required": true,
            "schema": {
              "default": "NotAvailableInThisVersion",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ApiContactMergeOptionTypes"
                }
              ]
            },
            "x-position": 3
          }
        ],
        "requestBody": {
          "x-name": "file",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiFileMedia"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/import": {
      "post": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress.",
        "description": "Import format can either be CSV or Excel. Must include one column called \"Email\". Any other columns will attempt to map to your custom data fields.",
        "operationId": "ApiContactImport_ImportContacts",
        "requestBody": {
          "x-name": "file",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiFileMedia"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/import-collection": {
      "post": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Bulk creates, or bulk updates, contacts. The ID of returned object can be used to query import progress.",
        "operationId": "ApiContactImport_ImportContactsCollection",
        "requestBody": {
          "x-name": "contactImportCollection",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiContactImportCollection"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/import/with-merge-option/{mergeOption}": {
      "post": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Bulk creates, or bulk updates, contacts with merge options. The ID of returned object can be used to query import progress.",
        "description": "This API works on both contact data fields and marketing preferences. Import format can either be CSV or Excel. Must include one column called \"Email\". Passing a valid \"mergeOption\" parameter is compulsory. Any other columns will attempt to map to your custom data fields.",
        "operationId": "ApiContactImport_ImportContactsWithMergeOption",
        "parameters": [
          {
            "name": "mergeOption",
            "in": "path",
            "required": true,
            "schema": {
              "default": "NotAvailableInThisVersion",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ApiContactMergeOptionTypes"
                }
              ]
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "file",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiFileMedia"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/import/{importId}": {
      "get": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Gets the import status of a previously started contact import.",
        "operationId": "ApiContactImport_GetContactImportProgress",
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactImport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/import/{importId}/report": {
      "get": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Gets a report with statistics about what was successfully imported, and what was unable to be imported.",
        "operationId": "ApiContactImport_GetContactImportReport",
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiContactImportReport"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/import/{importId}/report-faults": {
      "get": {
        "tags": [
          "ApiContactImport"
        ],
        "summary": "Gets all records that were not successfully imported.",
        "description": "The data are returned in CSV file, which is UTF-8 encoded. This data will only be available for approximately one week after import.",
        "operationId": "ApiContactImport_GetContactImportReportFaults",
        "parameters": [
          {
            "name": "importId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/data-fields": {
      "post": {
        "tags": [
          "ApiDataField"
        ],
        "summary": "Creates a data field within the account.",
        "operationId": "ApiDataField_CreateDataField",
        "requestBody": {
          "x-name": "dataField",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiDataField"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": ""
          }
        }
      },
      "get": {
        "tags": [
          "ApiDataField"
        ],
        "summary": "Lists the data fields within the account.",
        "operationId": "ApiDataField_GetDataFields",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiDataField"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/data-fields/{name}": {
      "delete": {
        "tags": [
          "ApiDataField"
        ],
        "summary": "Deletes a data field within the account.",
        "operationId": "ApiDataField_DeleteDataField",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiDependencyResult"
                }
              }
            }
          },
          "409": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v2/document-folders/{folderId}/documents": {
      "get": {
        "tags": [
          "ApiDocument"
        ],
        "summary": "Gets all uploaded documents.",
        "operationId": "ApiDocument_GetDocuments",
        "parameters": [
          {
            "name": "folderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiDocument"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiDocument"
        ],
        "summary": "Uploads a document into the specified folder.",
        "operationId": "ApiDocument_UploadDocument",
        "parameters": [
          {
            "name": "folderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "file",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiFileMedia"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiDocument"
                }
              }
            }
          }
        }
      }
    },
    "/v2/document-folders": {
      "get": {
        "tags": [
          "ApiDocument"
        ],
        "summary": "Fetches the document folder tree structure.",
        "operationId": "ApiDocument_GetDocumentFolders",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiDocumentFolder"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/attachments": {
      "get": {
        "tags": [
          "ApiDocument"
        ],
        "summary": "Gets documents that are currently attached to a campaign.",
        "operationId": "ApiDocument_GetCampaignAttachments",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiDocument"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiDocument"
        ],
        "summary": "Adds a document to a campaign as an attachment.",
        "operationId": "ApiDocument_AttachDocumentToCampaign",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "document",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiDocument"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiDocument"
                }
              }
            }
          }
        }
      }
    },
    "/v2/document-folders/{folderId}": {
      "post": {
        "tags": [
          "ApiDocument"
        ],
        "summary": "Creates a new document folder.",
        "operationId": "ApiDocument_CreateDocumentFolder",
        "parameters": [
          {
            "name": "folderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "folder",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiDocumentFolder"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiDocumentFolder"
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/attachments/{documentId}": {
      "delete": {
        "tags": [
          "ApiDocument"
        ],
        "summary": "Removes an attachment from a campaign.",
        "operationId": "ApiDocument_DeleteDocumentFromCampaign",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      }
    },
    "/v2/ecommerce/summaries": {
      "get": {
        "tags": [
          "ApiEcommerce"
        ],
        "summary": "Returns the Retail KPI summaries for the specified date range.",
        "operationId": "ApiEcommerce_GetKpiMetricSummaries",
        "parameters": [
          {
            "name": "dateRange",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ApiKpiMetricDateRange"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportSummaryOfKpiMetricSummary"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiEcommerce"
        ],
        "summary": "Requests a refreshing of metric data.",
        "operationId": "ApiEcommerce_RefreshSummaries",
        "responses": {
          "200": {
            "description": ""
          }
        }
      }
    },
    "/v2/ecommerce/fullsummary": {
      "get": {
        "tags": [
          "ApiEcommerce"
        ],
        "summary": "Returns Retail KPI summaries across every data range.",
        "operationId": "ApiEcommerce_GetAllKpiMetricSummaries",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportSummaryOfKpiMetricSummary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/ecommerce/summary/{summaryType}": {
      "get": {
        "tags": [
          "ApiEcommerce"
        ],
        "summary": "Gets a KPI metric of a specified type over a specified date range.",
        "operationId": "ApiEcommerce_GetMetricSummary",
        "parameters": [
          {
            "name": "dateRange",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ApiKpiMetricDateRange"
            },
            "x-position": 1
          },
          {
            "name": "summaryType",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ApiKpiMetricType"
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReportSummaryOfKpiMetricSummary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/ecommerce/orders": {
      "get": {
        "tags": [
          "ApiEcommerce"
        ],
        "summary": "Gets a list of all orders since a date.",
        "operationId": "ApiEcommerce_GetTransactionalDataByCollectionFromIdFromDate",
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiOrder"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/image-folders": {
      "get": {
        "tags": [
          "ApiImage"
        ],
        "summary": "Fetches the campaign image folder tree structure.",
        "operationId": "ApiImage_GetImageFolders",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiImageFolder"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/image-folders/{id}": {
      "get": {
        "tags": [
          "ApiImage"
        ],
        "summary": "Gets an image folder by id.",
        "operationId": "ApiImage_GetImageFolderById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiImageFolder"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiImage"
        ],
        "summary": "Creates a new campaign image folder.",
        "operationId": "ApiImage_CreateImageFolder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "folder",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiImageFolder"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiImageFolder"
                }
              }
            }
          }
        }
      }
    },
    "/v2/image-folders/{folderId}/images": {
      "post": {
        "tags": [
          "ApiImage"
        ],
        "summary": "Uploads a new campaign image into the specified folder.",
        "operationId": "ApiImage_UploadImage",
        "parameters": [
          {
            "name": "folderId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "file",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiFileMedia"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiImage"
                }
              }
            }
          }
        }
      }
    },
    "/v2/preferences": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets the preferences, as a tree structure.",
        "operationId": "ApiPreference_GetPreferences",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Creates a new preference or a new preference category.",
        "operationId": "ApiPreference_CreatePreference",
        "requestBody": {
          "x-name": "preference",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiPreference"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/preferences/modified-since/{sinceDate}": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets an array of preferences that have been modified since the specified date.",
        "operationId": "ApiPreference_GetPreferencesSinceDate",
        "parameters": [
          {
            "name": "sinceDate",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/preferences/{id}": {
      "put": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Update the preference with the specified Id.",
        "operationId": "ApiPreference_UpdatePreference",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "preference",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiPreference"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiPreference"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Deletes the preference with the specified Id.",
        "operationId": "ApiPreference_DeletePreference",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/with-preference/{preferenceId}": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets a list of contacts subscribed to the specified preference.",
        "operationId": "ApiPreference_GetContactsWithPreference",
        "parameters": [
          {
            "name": "preferenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "minContactId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactIdAndEmail"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{bookId}/contacts/with-preference/{preferenceId}": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets a list of contacts from a given list, subscribed to the specified preference.",
        "operationId": "ApiPreference_GetContactsInAddressBookWithPreference",
        "parameters": [
          {
            "name": "bookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "preferenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "minContactId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactIdAndEmail"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{contactId}/preferences": {
      "put": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Sets the subscribed preferences for a contact",
        "operationId": "ApiPreference_SetPreferencesForContact",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "preferences",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiPreference"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contact/{contactId}/preferences": {
      "put": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Sets the subscribed preferences for a contact",
        "operationId": "ApiPreference_SetPreferencesForContact2",
        "parameters": [
          {
            "name": "contactId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "preferences",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiPreference"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{contactEmail}/preferences": {
      "put": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Sets the subscribed preferences for a contact",
        "operationId": "ApiPreference_SetPreferencesForContact3",
        "parameters": [
          {
            "name": "contactEmail",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "preferences",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiPreference"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets the preferences for the specified contact",
        "operationId": "ApiPreference_GetPreferencesForContact",
        "parameters": [
          {
            "name": "contactEmail",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contact/{contactEmail}/preferences": {
      "put": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Sets the subscribed preferences for a contact",
        "operationId": "ApiPreference_SetPreferencesForContact4",
        "parameters": [
          {
            "name": "contactEmail",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "preferences",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiPreference"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets the preferences for the specified contact",
        "operationId": "ApiPreference_GetPreferencesForContact2",
        "parameters": [
          {
            "name": "contactEmail",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{contactID}/preferences": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets the preferences for the specified contact",
        "operationId": "ApiPreference_GetPreferencesForContact3",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contact/{contactID}/preferences": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets the preferences for the specified contact",
        "operationId": "ApiPreference_GetPreferencesForContact4",
        "parameters": [
          {
            "name": "contactID",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/{contactEmail}/subscriptions": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets the subscriptions for the specified contact",
        "operationId": "ApiPreference_GetSubscriptionsForContact",
        "parameters": [
          {
            "name": "contactEmail",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/contacts/with-preference/{preferenceId}/opt-ins-since/{sinceDate}": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets a list of contacts who have opted in to a preference since the specified date",
        "operationId": "ApiPreference_GetModifiedPreferenceOptIns",
        "parameters": [
          {
            "name": "preferenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "sinceDate",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "minContactId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactWithPreferenceOptIn"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/address-books/{bookId}/contacts/with-preference/{preferenceId}/opt-ins-since/{sinceDate}": {
      "get": {
        "tags": [
          "ApiPreference"
        ],
        "summary": "Gets a list of contacts, from a given list, who have opted in to a preference, since the specified date",
        "operationId": "ApiPreference_GetModifiedPreferenceOptInsByAddressBook",
        "parameters": [
          {
            "name": "bookId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "preferenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 2
          },
          {
            "name": "sinceDate",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 3
          },
          {
            "name": "minContactId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiContactWithPreferenceOptIn"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/products/recommendations": {
      "get": {
        "tags": [
          "ApiProductRecommendations"
        ],
        "summary": "Gets all product recommendations for the account.",
        "operationId": "ApiProductRecommendations_GetProductRecommendations",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiProductRecommendation"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/programs/{id}": {
      "get": {
        "tags": [
          "ApiProgram"
        ],
        "summary": "Gets a program by id.",
        "operationId": "ApiProgram_GetProgramById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProgram"
                }
              }
            }
          }
        }
      }
    },
    "/v2/programs": {
      "get": {
        "tags": [
          "ApiProgram"
        ],
        "summary": "Gets all programs.",
        "operationId": "ApiProgram_GetPrograms",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiProgram"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/programs/enrolments/{status}": {
      "get": {
        "tags": [
          "ApiProgram"
        ],
        "summary": "Gets enrolments by status.",
        "operationId": "ApiProgram_GetEnrolmentsByStatus",
        "parameters": [
          {
            "name": "status",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/ApiProgramEnrolmentStatus"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiProgramEnrolment"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/programs/enrolments/{enrolmentId}": {
      "get": {
        "tags": [
          "ApiProgram"
        ],
        "summary": "Gets an enrolment by id.",
        "operationId": "ApiProgram_GetEnrolmentById",
        "parameters": [
          {
            "name": "enrolmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProgramEnrolment"
                }
              }
            }
          }
        }
      }
    },
    "/v2/programs/enrolments/{enrolmentId}/report-faults": {
      "get": {
        "tags": [
          "ApiProgram"
        ],
        "summary": "Gets all contacts that were not successfully enrolled, by enrolment ID.",
        "operationId": "ApiProgram_GetEnrolmentReport",
        "parameters": [
          {
            "name": "enrolmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "guid"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/programs/enrolments": {
      "post": {
        "tags": [
          "ApiProgram"
        ],
        "summary": "Creates an enrolment.",
        "description": "Please note that your account can only call this a maximum of 20 times per hour, across all programs.",
        "operationId": "ApiProgram_PostEnrolment",
        "requestBody": {
          "x-name": "enrolment",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiProgramEnrolment"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProgramEnrolment"
                }
              }
            }
          }
        }
      }
    },
    "/v2/segments/refresh/{id}": {
      "post": {
        "tags": [
          "ApiSegment"
        ],
        "summary": "Refreshes a segment by ID.",
        "operationId": "ApiSegment_RefreshSegment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSegmentRefresh"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ApiSegment"
        ],
        "summary": "Gets the refresh progress for a segment.",
        "operationId": "ApiSegment_GetSegmentRefreshProgress",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSegmentRefresh"
                }
              }
            }
          }
        }
      }
    },
    "/v2/segments": {
      "get": {
        "tags": [
          "ApiSegment"
        ],
        "summary": "Gets all segments.",
        "operationId": "ApiSegment_GetSegments",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiSegment"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/sms-messages/send-to/{telephoneNumber}": {
      "post": {
        "tags": [
          "ApiSms"
        ],
        "summary": "Sends a single SMS message.",
        "operationId": "ApiSms_SendSingleSmsMessage",
        "parameters": [
          {
            "name": "telephoneNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "sms",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiSms"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": ""
          }
        }
      }
    },
    "/v2/sms/campaigns": {
      "post": {
        "tags": [
          "ApiSms"
        ],
        "summary": "Creates an SMS campaign.",
        "operationId": "ApiSms_CreateSmsCampaign",
        "requestBody": {
          "x-name": "apiSmsCampaign",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiSmsCampaign"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSmsCampaign"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ApiSms"
        ],
        "summary": "Gets SMS Campaigns.",
        "operationId": "ApiSms_GetSmsCampaigns",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSmsCampaign"
                }
              }
            }
          }
        }
      }
    },
    "/v2/sms/campaigns/{id}": {
      "put": {
        "tags": [
          "ApiSms"
        ],
        "summary": "Updates an SMS campaign.",
        "operationId": "ApiSms_UpdateSmsCampaign",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "apiSmsCampaign",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiSmsCampaign"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSmsCampaign"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ApiSms"
        ],
        "summary": "Deletes an SMS campaign.",
        "operationId": "ApiSms_DeleteSmsCampaign",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        }
      },
      "get": {
        "tags": [
          "ApiSms"
        ],
        "summary": "Gets SMS campaign by Id.",
        "operationId": "ApiSms_GetSmsCampaign",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSmsCampaign"
                }
              }
            }
          }
        }
      }
    },
    "/v2/sms/campaigns/copy": {
      "post": {
        "tags": [
          "ApiSms"
        ],
        "summary": "Copies an SMS campaign.",
        "operationId": "ApiSms_CopySmsCampaign",
        "requestBody": {
          "x-name": "apiCopyrequest",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiCopySmsCampaignRequest"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSmsCampaign"
                }
              }
            }
          }
        }
      }
    },
    "/v2/surveys": {
      "get": {
        "tags": [
          "ApiSurvey"
        ],
        "summary": "Gets a list of all surveys in the account.",
        "operationId": "ApiSurvey_GetSurveys",
        "parameters": [
          {
            "name": "assignedToAddressBookOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiSurvey"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/surveys/with-activity-since/{date}": {
      "get": {
        "tags": [
          "ApiSurvey"
        ],
        "summary": "Gets a list of surveys in the account that have changed since the specified date.",
        "operationId": "ApiSurvey_GetSurveys2",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "assignedToAddressBookOnly",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiSurvey"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/surveys/{id}": {
      "get": {
        "tags": [
          "ApiSurvey"
        ],
        "summary": "Gets a single survey by its ID.",
        "operationId": "ApiSurvey_GetSurveyById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSurvey"
                }
              }
            }
          }
        }
      }
    },
    "/v2/surveys/{id}/fields": {
      "get": {
        "tags": [
          "ApiSurvey"
        ],
        "summary": "Gets a list of survey pages, each containing a list of the fields on that page.",
        "operationId": "ApiSurvey_GetSurveyFields",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiSurveyPage"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/surveys/{id}/responses": {
      "get": {
        "tags": [
          "ApiSurvey"
        ],
        "summary": "Gets a list of all responses for a given survey.",
        "operationId": "ApiSurvey_GetSurveyResponses",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 2
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiSurveyResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/surveys/{id}/responses/with-activity-since/{date}": {
      "get": {
        "tags": [
          "ApiSurvey"
        ],
        "summary": "Gets a list of responses that have changed since the specified date.",
        "operationId": "ApiSurvey_GetSurveyResponses2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "date",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 2
          },
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            },
            "x-position": 3
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 4
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiSurveyResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/templates": {
      "post": {
        "tags": [
          "ApiTemplate"
        ],
        "summary": "Creates a template.",
        "operationId": "ApiTemplate_CreateTemplate",
        "requestBody": {
          "x-name": "template",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiTemplate"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "201": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTemplate"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "ApiTemplate"
        ],
        "summary": "Gets list of all templates.",
        "operationId": "ApiTemplate_GetTemplates",
        "parameters": [
          {
            "name": "select",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 500
            },
            "x-position": 1
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiTemplate"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/templates/{id}": {
      "get": {
        "tags": [
          "ApiTemplate"
        ],
        "summary": "Gets a template by ID.",
        "operationId": "ApiTemplate_GetTemplateById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTemplate"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ApiTemplate"
        ],
        "summary": "Updates a template.",
        "operationId": "ApiTemplate_UpdateTemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "template",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiTemplate"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiTemplate"
                }
              }
            }
          }
        }
      }
    },
    "/v2/email": {
      "post": {
        "tags": [
          "ApiTransactionalEmail"
        ],
        "summary": "Sends a transactional email. If sending to multiple recipients, please separate addresses with a comma.",
        "operationId": "ApiTransactionalEmail_SendTransactionalEmail",
        "requestBody": {
          "x-name": "email",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiTransactionalEmail"
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/email/batch": {
      "post": {
        "tags": [
          "ApiTransactionalEmail"
        ],
        "summary": "Sends one or more transactional emails. If sending to multiple recipients, please separate addresses with a comma.",
        "operationId": "ApiTransactionalEmail_SendTransactionalEmails",
        "requestBody": {
          "x-name": "emails",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiTransactionalEmail"
                }
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/email/triggered-campaign": {
      "post": {
        "tags": [
          "ApiTransactionalEmail"
        ],
        "summary": "Sends a transactional email with content taken from a triggered campaign. If sending to multiple recipients, please separate addresses with a comma.",
        "operationId": "ApiTransactionalEmail_SendTransactionalEmailTriggeredCampaign",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "schema": {
              "nullable": true,
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ApiTransactionalEmailTriggeredCampaign"
                }
              ]
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/email/triggered-campaign/batch": {
      "post": {
        "tags": [
          "ApiTransactionalEmail"
        ],
        "summary": "Sends one or more transactional emails with content for each taken from a triggered campaign. If sending to multiple recipients, please separate addresses with a comma.",
        "operationId": "ApiTransactionalEmail_SendTransactionalEmailTriggeredCampaigns",
        "requestBody": {
          "x-name": "emails",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiTransactionalEmailTriggeredCampaign"
                }
              }
            }
          },
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        }
      }
    },
    "/v2/email/stats/since-date/{startDate}": {
      "get": {
        "tags": [
          "ApiTransactionalEmail"
        ],
        "summary": "Gets aggregated transactional email statistics.",
        "operationId": "ApiTransactionalEmail_GetTransactionalEmailStatistics",
        "parameters": [
          {
            "name": "startDate",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "x-position": 1
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": true
            },
            "x-position": 2
          },
          {
            "name": "aggregatedBy",
            "in": "query",
            "schema": {
              "default": "AllTime",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ApiAggregationPeriod"
                }
              ]
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiTransactionalEmailStatistics"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v2/campaigns/{campaignId}/prepared-for-transactional-email/{email}": {
      "get": {
        "tags": [
          "ApiTransactionalEmail"
        ],
        "operationId": "ApiTransactionalEmail_GetCampaignByIdWithCompiledContentForTransactionalEmail",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "x-position": 1
          },
          {
            "name": "email",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-position": 2
          },
          {
            "name": "personalizationValues",
            "in": "query",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ApiPersonalizationValue"
              }
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiCampaignWithProcessedContent"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiAccount": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "properties"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiAccountProperty"
            }
          }
        }
      },
      "ApiAccountProperty": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiManagedUser": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "email",
          "password",
          "permissions"
        ],
        "properties": {
          "email": {
            "type": "string",
            "minLength": 1
          },
          "password": {
            "type": "string",
            "minLength": 1
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiPermissionTypes"
            }
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "mobileNumber": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiPermissionTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Sender",
          "Reporter",
          "EditCampaigns",
          "TemplateAdmin",
          "Contacts",
          "ReportDrillDown",
          "ContactExporter",
          "CanSendWithoutApproval",
          "Programs",
          "ManageAccount",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Sender",
          "Reporter",
          "EditCampaigns",
          "TemplateAdmin",
          "Contacts",
          "ReportDrillDown",
          "ContactExporter",
          "CanSendWithoutApproval",
          "Programs",
          "ManageAccount",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiOAuthToken": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "redirectUri"
        ],
        "properties": {
          "redirectUri": {
            "type": "string",
            "minLength": 1
          },
          "clientId": {
            "type": "string",
            "nullable": true
          },
          "secretKey": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTheme": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "primaryColor",
          "secondaryColor",
          "hyperlinkColor",
          "buttonColor"
        ],
        "properties": {
          "primaryColor": {
            "type": "string",
            "minLength": 1,
            "pattern": "^(\\#[0-9a-f]{6})$"
          },
          "secondaryColor": {
            "type": "string",
            "minLength": 1,
            "pattern": "^(\\#[0-9a-f]{6})$"
          },
          "hyperlinkColor": {
            "type": "string",
            "minLength": 1,
            "pattern": "^(\\#[0-9a-f]{6})$"
          },
          "buttonColor": {
            "type": "string",
            "minLength": 1,
            "pattern": "^(\\#[0-9a-f]{6})$"
          }
        }
      },
      "ApiUser": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "password"
        ],
        "properties": {
          "email": {
            "type": "string",
            "readOnly": true,
            "nullable": true
          },
          "password": {
            "type": "string",
            "minLength": 1
          },
          "isTransactionalEmailUser": {
            "type": "boolean"
          },
          "isTieredRateLimitedApiUser": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiAddressBook": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "visibility": {
            "$ref": "#/components/schemas/ApiAddressBookVisibility"
          },
          "contacts": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiAddressBookVisibility": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Private",
          "Public",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Private",
          "Public",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaign": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "subject",
          "fromName",
          "htmlContent",
          "plainTextContent"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "subject": {
            "type": "string",
            "minLength": 1
          },
          "fromName": {
            "type": "string",
            "minLength": 1
          },
          "fromAddress": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignFromAddress"
              }
            ]
          },
          "htmlContent": {
            "type": "string",
            "minLength": 1
          },
          "plainTextContent": {
            "type": "string",
            "minLength": 1
          },
          "replyAction": {
            "$ref": "#/components/schemas/ApiCampaignReplyActions"
          },
          "replyToAddress": {
            "type": "string",
            "nullable": true
          },
          "isSplitTest": {
            "type": "boolean",
            "readOnly": true
          },
          "status": {
            "readOnly": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignStatuses"
              }
            ]
          },
          "customReplyToAddress": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiCampaignFromAddress": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiCampaignReplyActions": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unset",
          "WebMailForward",
          "Webmail",
          "Delete",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Unset",
          "WebMailForward",
          "Webmail",
          "Delete",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaignStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unsent",
          "Sending",
          "Sent",
          "Paused",
          "Cancelled",
          "RequiresSystemApproval",
          "RequiresSMSApproval",
          "RequiresWorkflowApproval",
          "Triggered",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Unsent",
          "Sending",
          "Sent",
          "Paused",
          "Cancelled",
          "RequiresSystemApproval",
          "RequiresSMSApproval",
          "RequiresWorkflowApproval",
          "Triggered",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaignExtended": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiCampaign"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "type": {
                "type": "string"
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sentDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "scheduledDate": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              }
            }
          }
        ]
      },
      "ApiCampaignDetails": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "subject",
          "fromName",
          "htmlContent",
          "plainTextContent"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "subject": {
            "type": "string",
            "minLength": 1
          },
          "fromName": {
            "type": "string",
            "minLength": 1
          },
          "fromAddress": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignFromAddress"
              }
            ]
          },
          "htmlContent": {
            "type": "string",
            "minLength": 1
          },
          "plainTextContent": {
            "type": "string",
            "minLength": 1
          },
          "replyAction": {
            "$ref": "#/components/schemas/ApiCampaignReplyActions"
          },
          "replyToAddress": {
            "type": "string",
            "nullable": true
          },
          "isSplitTest": {
            "type": "boolean",
            "readOnly": true
          },
          "status": {
            "readOnly": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignStatuses"
              }
            ]
          },
          "type": {
            "readOnly": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignTypes"
              }
            ]
          },
          "tags": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiCampaignTag"
            }
          },
          "splitTestOptions": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "sentDate": {
            "type": "string",
            "format": "date-time"
          },
          "customReplyToAddress": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiCampaignTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Standard",
          "Triggered",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Standard",
          "Triggered",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaignTag": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiCampaignWithType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiCampaign"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "type": {
                "readOnly": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ApiCampaignTypes"
                  }
                ]
              }
            }
          }
        ]
      },
      "ApiSplitTestCampaign": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "plainTextContents"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "maxLength": 255,
            "minLength": 1
          },
          "subjects": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "fromNames": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "fromAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiCampaignFromAddress"
            }
          },
          "htmlContents": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "plainTextContents": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "replyAction": {
            "$ref": "#/components/schemas/ApiCampaignReplyActions"
          },
          "replyToAddress": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "readOnly": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignStatuses"
              }
            ]
          },
          "customReplyToAddress": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiCampaignSplitTestResults": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "versions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiSplitTestResult"
            }
          },
          "splitTestWinnerMetric": {
            "$ref": "#/components/schemas/ApiSplitTestMetrics"
          }
        }
      },
      "ApiSplitTestResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "subjectLine": {
            "type": "string",
            "nullable": true
          },
          "fromName": {
            "type": "string",
            "nullable": true
          },
          "fromAddress": {
            "type": "string",
            "nullable": true
          },
          "htmlContent": {
            "type": "string",
            "nullable": true
          },
          "plainTextContent": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "string",
            "nullable": true
          },
          "winningVersion": {
            "type": "boolean"
          },
          "resultsActual": {
            "type": "number",
            "format": "decimal"
          },
          "resultsPercentage": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "ApiSplitTestMetrics": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Opens",
          "Clicks",
          "ROI",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Opens",
          "Clicks",
          "ROI",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaignSummary": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "dateSent": {
            "type": "string",
            "format": "date-time"
          },
          "numUniqueOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numUniqueTextOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalUniqueOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numTextOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numClicks": {
            "type": "integer",
            "format": "int32"
          },
          "numTextClicks": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalClicks": {
            "type": "integer",
            "format": "int32"
          },
          "numPageViews": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalPageViews": {
            "type": "integer",
            "format": "int32"
          },
          "numTextPageViews": {
            "type": "integer",
            "format": "int32"
          },
          "numForwards": {
            "type": "integer",
            "format": "int32"
          },
          "numTextForwards": {
            "type": "integer",
            "format": "int32"
          },
          "numEstimatedForwards": {
            "type": "integer",
            "format": "int32"
          },
          "numTextEstimatedForwards": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalEstimatedForwards": {
            "type": "integer",
            "format": "int32"
          },
          "numReplies": {
            "type": "integer",
            "format": "int32"
          },
          "numTextReplies": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalReplies": {
            "type": "integer",
            "format": "int32"
          },
          "numHardBounces": {
            "type": "integer",
            "format": "int32"
          },
          "numTextHardBounces": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalHardBounces": {
            "type": "integer",
            "format": "int32"
          },
          "numSoftBounces": {
            "type": "integer",
            "format": "int32"
          },
          "numTextSoftBounces": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalSoftBounces": {
            "type": "integer",
            "format": "int32"
          },
          "numUnsubscribes": {
            "type": "integer",
            "format": "int32"
          },
          "numTextUnsubscribes": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalUnsubscribes": {
            "type": "integer",
            "format": "int32"
          },
          "numIspComplaints": {
            "type": "integer",
            "format": "int32"
          },
          "numTextIspComplaints": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalIspComplaints": {
            "type": "integer",
            "format": "int32"
          },
          "numMailBlocks": {
            "type": "integer",
            "format": "int32"
          },
          "numTextMailBlocks": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalMailBlocks": {
            "type": "integer",
            "format": "int32"
          },
          "numSent": {
            "type": "integer",
            "format": "int32"
          },
          "numTextSent": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalSent": {
            "type": "integer",
            "format": "int32"
          },
          "numRecipientsClicked": {
            "type": "integer",
            "format": "int32"
          },
          "numDelivered": {
            "type": "integer",
            "format": "int32"
          },
          "numTextDelivered": {
            "type": "integer",
            "format": "int32"
          },
          "numTotalDelivered": {
            "type": "integer",
            "format": "int32"
          },
          "percentageDelivered": {
            "type": "number",
            "format": "double"
          },
          "percentageUniqueOpens": {
            "type": "number",
            "format": "double"
          },
          "percentageOpens": {
            "type": "number",
            "format": "double"
          },
          "percentageUnsubscribes": {
            "type": "number",
            "format": "double"
          },
          "percentageReplies": {
            "type": "number",
            "format": "double"
          },
          "percentageHardBounces": {
            "type": "number",
            "format": "double"
          },
          "percentageSoftBounces": {
            "type": "number",
            "format": "double"
          },
          "percentageUsersClicked": {
            "type": "number",
            "format": "double"
          },
          "percentageClicksToOpens": {
            "type": "number",
            "format": "double"
          },
          "revenue": {
            "type": "string",
            "nullable": true
          },
          "conversionRate": {
            "type": "number",
            "format": "decimal"
          },
          "assistedRevenue": {
            "type": "string",
            "nullable": true
          },
          "numOrders": {
            "type": "integer",
            "format": "int32"
          },
          "numAssistedOrders": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiCampaignContactSummary": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "numOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numPageViews": {
            "type": "integer",
            "format": "int32"
          },
          "numClicks": {
            "type": "integer",
            "format": "int32"
          },
          "numForwards": {
            "type": "integer",
            "format": "int32"
          },
          "numEstimatedForwards": {
            "type": "integer",
            "format": "int32"
          },
          "numReplies": {
            "type": "integer",
            "format": "int32"
          },
          "dateSent": {
            "type": "string",
            "format": "date-time"
          },
          "dateFirstOpened": {
            "type": "string",
            "format": "date-time"
          },
          "dateLastOpened": {
            "type": "string",
            "format": "date-time"
          },
          "firstOpenIp": {
            "type": "string",
            "description": "if the openip is null it doesn't get mapped so this defualt \nempty string is needed is required to maintain api usage.",
            "nullable": true
          },
          "unsubscribed": {
            "type": "boolean"
          },
          "softBounced": {
            "type": "boolean"
          },
          "hardBounced": {
            "type": "boolean"
          }
        }
      },
      "ApiCampaignContactClick": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "ipAddress": {
            "type": "string",
            "nullable": true
          },
          "userAgent": {
            "type": "string",
            "nullable": true
          },
          "dateClicked": {
            "type": "string",
            "format": "date-time"
          },
          "keyword": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiCampaignContactOpen": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "mailClient": {
            "type": "string",
            "nullable": true
          },
          "mailClientVersion": {
            "type": "string",
            "nullable": true
          },
          "ipAddress": {
            "type": "string",
            "nullable": true
          },
          "userAgent": {
            "type": "string",
            "nullable": true
          },
          "isHtml": {
            "type": "boolean"
          },
          "isForward": {
            "type": "boolean"
          },
          "dateOpened": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ApiCampaignContactPageView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "dateViewed": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ApiCampaignContactReply": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "fromAddress": {
            "type": "string",
            "nullable": true
          },
          "toAddress": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "isHtml": {
            "type": "boolean"
          },
          "dateReplied": {
            "type": "string",
            "format": "date-time"
          },
          "replyType": {
            "$ref": "#/components/schemas/ApiCampaignReplyTypes"
          },
          "customReplyToAddress": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiCampaignReplyTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Reply",
          "AutoReply",
          "ChallengeResponse",
          "Unsafe",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Reply",
          "AutoReply",
          "ChallengeResponse",
          "Unsafe",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaignContactSocialBookmarkView": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "bookmarkName": {
            "type": "string",
            "nullable": true
          },
          "numViews": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiCampaignContactRoiDetail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "markerName": {
            "type": "string",
            "nullable": true
          },
          "dataType": {
            "$ref": "#/components/schemas/ApiRoiDetailDataTypes"
          },
          "value": {
            "nullable": true
          },
          "dateEntered": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ApiRoiDetailDataTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "String",
          "Numeric",
          "Date",
          "Boolean",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "String",
          "Numeric",
          "Date",
          "Boolean",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiContact": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "email"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "minLength": 1
          },
          "optInType": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiContactOptInTypes"
              }
            ]
          },
          "emailType": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiContactEmailTypes"
              }
            ]
          },
          "dataFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactData"
            }
          },
          "status": {
            "$ref": "#/components/schemas/ApiContactStatuses"
          }
        }
      },
      "ApiContactOptInTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unknown",
          "Single",
          "Double",
          "VerifiedDouble",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Unknown",
          "Single",
          "Double",
          "VerifiedDouble",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiContactEmailTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "PlainText",
          "Html",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "PlainText",
          "Html",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiContactData": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "nullable": true
          }
        }
      },
      "ApiContactStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Subscribed",
          "Unsubscribed",
          "SoftBounced",
          "HardBounced",
          "IspComplained",
          "MailBlocked",
          "PendingOptIn",
          "DirectComplaint",
          "Deleted",
          "SharedSuppression",
          "Suppressed",
          "NotAllowed",
          "DomainSuppression",
          "NoMxRecord",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Subscribed",
          "Unsubscribed",
          "SoftBounced",
          "HardBounced",
          "IspComplained",
          "MailBlocked",
          "PendingOptIn",
          "DirectComplaint",
          "Deleted",
          "SharedSuppression",
          "Suppressed",
          "NotAllowed",
          "DomainSuppression",
          "NoMxRecord",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaignContactClickWithGroups": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "ipAddress": {
            "type": "string",
            "nullable": true
          },
          "userAgent": {
            "type": "string",
            "nullable": true
          },
          "dateClicked": {
            "type": "string",
            "format": "date-time"
          },
          "keyword": {
            "type": "string",
            "nullable": true
          },
          "groups": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiCampaignLinkGroup"
            }
          }
        }
      },
      "ApiCampaignLinkGroup": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ApiCampaignRevenueAttributionDetail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "campaignID": {
            "type": "integer",
            "format": "int32"
          },
          "dateLastSent": {
            "type": "string",
            "format": "date-time"
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "revenue": {
            "type": "number",
            "format": "decimal"
          },
          "numOrders": {
            "type": "integer",
            "format": "int32"
          },
          "conversionRate": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "ApiCampaignReportModelExtended": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "campaignId": {
            "type": "integer",
            "format": "int32"
          },
          "dateSent": {
            "type": "string",
            "format": "date-time"
          },
          "campaignName": {
            "type": "string"
          },
          "campaignType": {
            "$ref": "#/components/schemas/CampaignType"
          },
          "sent": {
            "type": "integer",
            "format": "int32"
          },
          "delivered": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueOpens": {
            "type": "integer",
            "format": "int32"
          },
          "clicks": {
            "type": "integer",
            "format": "int32"
          },
          "hardBounces": {
            "type": "integer",
            "format": "int32"
          },
          "softBounces": {
            "type": "integer",
            "format": "int32"
          },
          "replies": {
            "type": "integer",
            "format": "int32"
          },
          "unsubscribes": {
            "type": "integer",
            "format": "int32"
          },
          "forwards": {
            "type": "integer",
            "format": "int32"
          },
          "uniqueClicks": {
            "type": "integer",
            "format": "int32"
          },
          "sendStatusFails": {
            "type": "integer",
            "format": "int32"
          },
          "mailBlocks": {
            "type": "integer",
            "format": "int32"
          },
          "opens": {
            "type": "integer",
            "format": "int32"
          },
          "complaints": {
            "type": "integer",
            "format": "int32"
          },
          "pageViews": {
            "type": "integer",
            "format": "int32"
          },
          "percentageDelivered": {
            "type": "number",
            "format": "decimal"
          },
          "percentageUniqueOpens": {
            "type": "number",
            "format": "decimal"
          },
          "percentageHardBounces": {
            "type": "number",
            "format": "decimal"
          },
          "percentageSoftBounces": {
            "type": "number",
            "format": "decimal"
          },
          "percentageReplies": {
            "type": "number",
            "format": "decimal"
          },
          "percentageUnsubscribes": {
            "type": "number",
            "format": "decimal"
          },
          "percentageUniqueClicks": {
            "type": "number",
            "format": "decimal"
          },
          "percentageUniqueClicksToOpens": {
            "type": "number",
            "format": "decimal"
          },
          "revenue": {
            "type": "number",
            "format": "decimal"
          },
          "conversionRate": {
            "type": "number",
            "format": "decimal"
          },
          "assistedRevenue": {
            "type": "number",
            "format": "decimal"
          },
          "orders": {
            "type": "integer",
            "format": "int32"
          },
          "assistedOrders": {
            "type": "integer",
            "format": "int32"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "subjectLine": {
            "type": "string",
            "nullable": true
          },
          "fromName": {
            "type": "string",
            "nullable": true
          },
          "fromAddress": {
            "type": "string",
            "nullable": true
          },
          "isSplitTest": {
            "type": "boolean"
          }
        }
      },
      "CampaignType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Standard",
          "Triggered",
          "Template",
          "AiTemplate"
        ],
        "enum": [
          "Standard",
          "Triggered",
          "Template",
          "AiTemplate"
        ]
      },
      "ApiCampaignSend": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "campaignId"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "guid"
          },
          "campaignId": {
            "type": "integer",
            "format": "int32"
          },
          "addressBookIds": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "contactIds": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "sendDate": {
            "type": "string",
            "format": "date-time"
          },
          "splitTestOptions": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiSplitTestSendOptions"
              }
            ]
          },
          "status": {
            "readOnly": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignSendStatuses"
              }
            ]
          }
        }
      },
      "ApiSplitTestSendOptions": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "testMetric",
          "testPercentage",
          "testPeriodHours"
        ],
        "properties": {
          "testMetric": {
            "$ref": "#/components/schemas/ApiSplitTestMetrics"
          },
          "testPercentage": {
            "type": "integer",
            "format": "int32",
            "maximum": 100.0,
            "minimum": 1.0
          },
          "testPeriodHours": {
            "type": "integer",
            "format": "int32",
            "maximum": 2147483647.0,
            "minimum": 1.0
          }
        }
      },
      "ApiCampaignSendStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotSent",
          "Scheduled",
          "Sending",
          "Sent",
          "Cancelled",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "NotSent",
          "Scheduled",
          "Sending",
          "Sent",
          "Cancelled",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiContactSuppression": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "suppressedContact": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiContact"
              }
            ]
          },
          "dateRemoved": {
            "type": "string",
            "format": "date-time"
          },
          "reason": {
            "$ref": "#/components/schemas/ApiContactStatuses"
          }
        }
      },
      "ApiContactWithConsent": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contact": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiContact"
              }
            ]
          },
          "consentFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiConsent"
            }
          }
        }
      },
      "ApiConsent": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "fields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactData"
            }
          }
        }
      },
      "ApiContactWithConsentAndPreferences": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiContactWithConsent"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "preferences": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ApiPreference"
                }
              }
            }
          }
        ]
      },
      "ApiPreference": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "publicName": {
            "type": "string",
            "nullable": true
          },
          "privateName": {
            "type": "string",
            "nullable": true
          },
          "isPreference": {
            "type": "boolean"
          },
          "order": {
            "type": "string",
            "nullable": true
          },
          "isPublic": {
            "type": "boolean"
          },
          "categoryId": {
            "type": "integer",
            "format": "int32"
          },
          "preferenceCount": {
            "type": "integer",
            "format": "int32"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "lastModified": {
            "type": "string",
            "format": "date-time"
          },
          "isOptedIn": {
            "type": "boolean",
            "nullable": true
          },
          "preferences": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiPreference"
            }
          }
        }
      },
      "ApiBulkContactDeletion": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "guid"
          },
          "status": {
            "$ref": "#/components/schemas/ApiBulkContactDeletionStatuses"
          }
        }
      },
      "ApiBulkContactDeletionStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Started",
          "Completed",
          "Failed",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Started",
          "Completed",
          "Failed",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiBulkSuppressResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "suppressed": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactIdAndEmail"
            }
          },
          "notFound": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactIdAndEmail"
            }
          }
        }
      },
      "ApiContactIdAndEmail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiResubscribeResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contact": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiContact"
              }
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ApiResubscribeStatuses"
          }
        }
      },
      "ApiResubscribeStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "ContactAdded",
          "ContactChallenged",
          "ContactCannotBeUnsuppressed",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "ContactAdded",
          "ContactChallenged",
          "ContactCannotBeUnsuppressed",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiContactResubscription": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "unsubscribedContact"
        ],
        "properties": {
          "unsubscribedContact": {
            "$ref": "#/components/schemas/ApiContact"
          },
          "preferredLocale": {
            "type": "string",
            "nullable": true
          },
          "returnUrlToUseIfChallenged": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTransactionalData": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "contactIdentifier": {
            "type": "string",
            "nullable": true
          },
          "json": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTransactionalDataImport": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "guid"
          },
          "status": {
            "$ref": "#/components/schemas/ApiTransactionalDataImportStatuses"
          }
        }
      },
      "ApiTransactionalDataImportStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotStarted",
          "NotFinished",
          "Finished",
          "Failed",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "NotStarted",
          "NotFinished",
          "Finished",
          "Failed",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiTransactionalDataImportReport": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "totalItems": {
            "type": "integer",
            "format": "int32"
          },
          "totalImported": {
            "type": "integer",
            "format": "int32"
          },
          "totalRejected": {
            "type": "integer",
            "format": "int32"
          },
          "faults": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiTransactionalDataImportReportFault"
            }
          }
        }
      },
      "ApiTransactionalDataImportReportFault": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "reason": {
            "$ref": "#/components/schemas/ApiTransactionalDataImportFaultReason"
          },
          "detail": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTransactionalDataImportFaultReason": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unknown",
          "InvalidClientKey",
          "InvalidContactIdentifier",
          "InvalidJson",
          "DuplicateKey",
          "ContactIdDoesNotExist",
          "ContactEmailDoesNotExist",
          "JsonKeyTooLong",
          "JsonKeyInvalidCharacters",
          "JsonValueTooLong",
          "JsonValueIncompatibleWithSchema",
          "JsonNumberValueTooLarge",
          "JsonDoesNotMatchSchema",
          "JsonContainsDashUnderscoreClash",
          "MissingCollection",
          "InconsistentTypes",
          "TooManyDistinctKeyValuePairs",
          "ContactPhoneNumberDoesNotExist",
          "InvalidContactIdentifierType",
          "KeyExistingForDifferentContact",
          "ContactCustomIdentifierValueDoesNotExist",
          "JsonContainsNestedArray",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Unknown",
          "InvalidClientKey",
          "InvalidContactIdentifier",
          "InvalidJson",
          "DuplicateKey",
          "ContactIdDoesNotExist",
          "ContactEmailDoesNotExist",
          "JsonKeyTooLong",
          "JsonKeyInvalidCharacters",
          "JsonValueTooLong",
          "JsonValueIncompatibleWithSchema",
          "JsonNumberValueTooLarge",
          "JsonDoesNotMatchSchema",
          "JsonContainsDashUnderscoreClash",
          "MissingCollection",
          "InconsistentTypes",
          "TooManyDistinctKeyValuePairs",
          "ContactPhoneNumberDoesNotExist",
          "InvalidContactIdentifierType",
          "KeyExistingForDifferentContact",
          "ContactCustomIdentifierValueDoesNotExist",
          "JsonContainsNestedArray",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiJsonData": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "json": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTransactionalDataCollection": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "ApiContactScore": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contactId": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          },
          "scoreLabel": {
            "type": "string",
            "nullable": true
          },
          "score": {
            "type": "integer",
            "format": "byte"
          },
          "engagement": {
            "type": "integer",
            "format": "byte"
          },
          "suitability": {
            "type": "integer",
            "format": "byte"
          }
        }
      },
      "ApiMultipleContactsResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contacts": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactExtended"
            }
          },
          "notFound": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactIdAndEmail"
            }
          }
        }
      },
      "ApiContactExtended": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiContact"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "created": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        ]
      },
      "ApiMultipleContactsRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contacts": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactIdAndEmail"
            }
          },
          "withFullData": {
            "type": "boolean"
          }
        }
      },
      "ApiContactImport": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "guid"
          },
          "status": {
            "$ref": "#/components/schemas/ApiContactImportStatuses"
          }
        }
      },
      "ApiContactImportStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Finished",
          "NotFinished",
          "RejectedByWatchdog",
          "InvalidFileFormat",
          "Unknown",
          "Failed",
          "ExceedsAllowedContactLimit",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Finished",
          "NotFinished",
          "RejectedByWatchdog",
          "InvalidFileFormat",
          "Unknown",
          "Failed",
          "ExceedsAllowedContactLimit",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiFileMedia": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "data": {
            "type": "string",
            "format": "byte",
            "nullable": true
          }
        }
      },
      "ApiContactMergeOptionTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Overwrite",
          "OnlyOverwriteIfNotEmpty",
          "OnlyOverwriteIfContactDataNotPopulated",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Overwrite",
          "OnlyOverwriteIfNotEmpty",
          "OnlyOverwriteIfContactDataNotPopulated",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiContactImportCollection": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contacts": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiContactForBulkImport"
            }
          },
          "addressBookIds": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "mergeOption": {
            "$ref": "#/components/schemas/ApiContactMergeOptionTypes"
          }
        }
      },
      "ApiContactForBulkImport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiContact"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "consentFields": {
                "type": "array",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ApiContactData"
                }
              },
              "mobileNumberId": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "ApiContactImportReport": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "newContacts": {
            "type": "integer",
            "format": "int32"
          },
          "updatedContacts": {
            "type": "integer",
            "format": "int32"
          },
          "globallySuppressed": {
            "type": "integer",
            "format": "int32"
          },
          "invalidEntries": {
            "type": "integer",
            "format": "int32"
          },
          "duplicateEmails": {
            "type": "integer",
            "format": "int32"
          },
          "blocked": {
            "type": "integer",
            "format": "int32"
          },
          "unsubscribed": {
            "type": "integer",
            "format": "int32"
          },
          "hardBounced": {
            "type": "integer",
            "format": "int32"
          },
          "softBounced": {
            "type": "integer",
            "format": "int32"
          },
          "ispComplaints": {
            "type": "integer",
            "format": "int32"
          },
          "mailBlocked": {
            "type": "integer",
            "format": "int32"
          },
          "domainSuppressed": {
            "type": "integer",
            "format": "int32"
          },
          "pendingDoubleOptin": {
            "type": "integer",
            "format": "int32"
          },
          "failures": {
            "type": "integer",
            "format": "int32"
          },
          "suppressedContacts": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiDataField": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1
          },
          "type": {
            "$ref": "#/components/schemas/ApiDataTypes"
          },
          "visibility": {
            "$ref": "#/components/schemas/ApiDataFieldVisibility"
          },
          "defaultValue": {
            "nullable": true
          }
        }
      },
      "ApiDataTypes": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "String",
          "Numeric",
          "Date",
          "Boolean",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "String",
          "Numeric",
          "Date",
          "Boolean",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiDataFieldVisibility": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Private",
          "Public",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Private",
          "Public",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiDependencyResult": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "dependencies": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiDependency"
            }
          },
          "result": {
            "type": "boolean"
          }
        }
      },
      "ApiDependency": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ApiBusinessObjectType"
          },
          "objectId": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiBusinessObjectType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Campaign",
          "Survey",
          "MicrositePage",
          "DynamicContent",
          "ContactLabel",
          "SurveyQuestion",
          "AddressBook",
          "DynamicContentRule",
          "CampaignLink",
          "CampaignTemplate",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Campaign",
          "Survey",
          "MicrositePage",
          "DynamicContent",
          "ContactLabel",
          "SurveyQuestion",
          "AddressBook",
          "DynamicContentRule",
          "CampaignLink",
          "CampaignTemplate",
          "NotAvailableInThisVersion"
        ]
      },
      "ProblemDetails": {
        "type": "object",
        "additionalProperties": {
          "nullable": true
        },
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "extensions": {
            "type": "object",
            "additionalProperties": {}
          }
        }
      },
      "ApiDocument": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "fileSize": {
            "type": "integer",
            "format": "int32"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ApiDocumentFolder": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "childFolders": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiDocumentFolder"
            }
          }
        }
      },
      "ReportSummaryOfKpiMetricSummary": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "records": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/KpiMetricSummary"
            }
          },
          "dateRange": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EcommercePredefinedDateRanges"
              }
            ]
          },
          "asOfDate": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "KpiMetricSummary": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "metricType": {
            "$ref": "#/components/schemas/KpiMetricType"
          },
          "metricValues": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/KpiMetricValue"
              }
            ]
          },
          "dateRange": {
            "$ref": "#/components/schemas/EcommercePredefinedDateRanges"
          }
        }
      },
      "KpiMetricType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "TotalRevenue",
          "AverageOrderValue",
          "CustomerLifetimeValue",
          "TotalOrders",
          "AverageItemsPerOrder",
          "AverageDaysToSecondOrder",
          "Customers",
          "SinglePurchaseCustomers",
          "RepeatCustomers",
          "TotalDelay",
          "TotalRepeatOrders",
          "TotalItems"
        ],
        "enum": [
          "TotalRevenue",
          "AverageOrderValue",
          "CustomerLifetimeValue",
          "TotalOrders",
          "AverageItemsPerOrder",
          "AverageDaysToSecondOrder",
          "Customers",
          "SinglePurchaseCustomers",
          "RepeatCustomers",
          "TotalDelay",
          "TotalRepeatOrders",
          "TotalItems"
        ]
      },
      "KpiMetricValue": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "initialTotalValue": {
            "type": "number",
            "format": "double"
          },
          "comparisonTotalValue": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "EcommercePredefinedDateRanges": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "LastThirtyVsPrevious",
          "TodayVsYesterday",
          "YesterdayVsPrevious",
          "ThisWeekVsLast",
          "LastWeekVsPrevious",
          "ThisMonthVsLast",
          "LastMonthVsPrevious",
          "ThisYearVsLast",
          "LastYearVsPrevious",
          "AllTime",
          "Custom"
        ],
        "enum": [
          "LastThirtyVsPrevious",
          "TodayVsYesterday",
          "YesterdayVsPrevious",
          "ThisWeekVsLast",
          "LastWeekVsPrevious",
          "ThisMonthVsLast",
          "LastMonthVsPrevious",
          "ThisYearVsLast",
          "LastYearVsPrevious",
          "AllTime",
          "Custom"
        ]
      },
      "ApiKpiMetricDateRange": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "LastThirtyVsPrevious",
          "TodayVsYesterday",
          "YesterdayVsPrevious",
          "ThisWeekVsLast",
          "LastWeekVsPrevious",
          "ThisMonthVsLast",
          "LastMonthVsPrevious",
          "ThisYearVsLast",
          "LastYearVsPrevious",
          "AllTime",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "LastThirtyVsPrevious",
          "TodayVsYesterday",
          "YesterdayVsPrevious",
          "ThisWeekVsLast",
          "LastWeekVsPrevious",
          "ThisMonthVsLast",
          "LastMonthVsPrevious",
          "ThisYearVsLast",
          "LastYearVsPrevious",
          "AllTime",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiKpiMetricType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "TotalRevenue",
          "AverageOrderValue",
          "CustomerLifetimeValue",
          "TotalOrders",
          "AverageItemsPerOrder",
          "AverageDaysToSecondOrder",
          "Customers",
          "SinglePurchaseCustomers",
          "RepeatCustomers",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "TotalRevenue",
          "AverageOrderValue",
          "CustomerLifetimeValue",
          "TotalOrders",
          "AverageItemsPerOrder",
          "AverageDaysToSecondOrder",
          "Customers",
          "SinglePurchaseCustomers",
          "RepeatCustomers",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiOrder": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "contactId": {
            "type": "string",
            "nullable": true
          },
          "items": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiOrderItem"
            }
          },
          "orderTotal": {
            "type": "number",
            "format": "decimal"
          },
          "orderDate": {
            "type": "string",
            "format": "date-time"
          },
          "subtotal": {
            "type": "number",
            "format": "decimal"
          },
          "payment": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "format": "decimal"
          },
          "deliveryTotal": {
            "type": "number",
            "format": "decimal"
          },
          "deliveryMethod": {
            "type": "string",
            "nullable": true
          },
          "deliveryAddress": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiOrderAddress"
              }
            ]
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "billingAddress": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiOrderAddress"
              }
            ]
          },
          "baseSubtotalInclTax": {
            "type": "number",
            "format": "decimal"
          },
          "couponCode": {
            "type": "string",
            "nullable": true
          },
          "quoteId": {
            "type": "string",
            "nullable": true
          },
          "retailValue": {
            "type": "number",
            "format": "decimal"
          }
        }
      },
      "ApiOrderItem": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sku": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "format": "decimal"
          },
          "quantity": {
            "type": "number",
            "format": "decimal"
          },
          "imagePath": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiOrderAddress": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "postCode": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiImageFolder": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "childFolders": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiImageFolder"
            }
          }
        }
      },
      "ApiImage": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "path": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiContactWithPreferenceOptIn": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "contact": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiContact"
              }
            ]
          },
          "marketingPreferenceOptIns": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiMarketingPreferenceOptIn"
            }
          }
        }
      },
      "ApiMarketingPreferenceOptIn": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "marketingPreferenceId": {
            "type": "integer",
            "format": "int32"
          },
          "addressBookId": {
            "type": "integer",
            "format": "int32"
          },
          "isOptedIn": {
            "type": "boolean"
          },
          "dateModifed": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ApiProductRecommendation": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "dateLastRefreshed": {
            "type": "string",
            "format": "date-time"
          },
          "dateModified": {
            "type": "string",
            "format": "date-time"
          },
          "dateLastUsed": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ApiProductRecommendationType"
          },
          "status": {
            "$ref": "#/components/schemas/ApiProductRecommendationStatus"
          },
          "fallbackRecommendationId": {
            "type": "integer",
            "format": "int32"
          },
          "revenue": {
            "type": "number",
            "format": "decimal"
          },
          "errorStatus": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiProductRecommendationType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "BestSellers",
          "MostViewed",
          "FilterOnly",
          "LastBrowsed",
          "BoughtTogether",
          "Newest",
          "Lookalikes",
          "AlsoBought",
          "Trending",
          "BestNext",
          "Hybrid",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "BestSellers",
          "MostViewed",
          "FilterOnly",
          "LastBrowsed",
          "BoughtTogether",
          "Newest",
          "Lookalikes",
          "AlsoBought",
          "Trending",
          "BestNext",
          "Hybrid",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiProductRecommendationStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Ready",
          "InProgress",
          "Failed",
          "Queued",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Ready",
          "InProgress",
          "Failed",
          "Queued",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiProgram": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/ApiProgramStatus"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ApiProgramStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Draft",
          "Deactivated",
          "Active",
          "ReadOnly",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Draft",
          "Deactivated",
          "Active",
          "ReadOnly",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiProgramEnrolment": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "guid"
          },
          "programId": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/ApiProgramEnrolmentStatus"
          },
          "dateCreated": {
            "type": "string",
            "format": "date-time"
          },
          "contacts": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "addressBooks": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          }
        }
      },
      "ApiProgramEnrolmentStatus": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Processing",
          "Finished",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Processing",
          "Finished",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiSegmentRefresh": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/ApiSegmentRefreshStatuses"
          }
        }
      },
      "ApiSegmentRefreshStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "NotStarted",
          "NotFinished",
          "Finished",
          "Failed",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "NotStarted",
          "NotFinished",
          "Finished",
          "Failed",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiSegment": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "contacts": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiSms": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "message"
        ],
        "properties": {
          "message": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "ApiSmsCampaign": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ApiSms"
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name"
            ],
            "properties": {
              "id": {
                "type": "integer",
                "format": "int32"
              },
              "name": {
                "type": "string",
                "maxLength": 256,
                "minLength": 1
              },
              "sendingIdentityId": {
                "type": "integer",
                "format": "int32"
              },
              "sendingIdentity": {
                "type": "string",
                "maxLength": 15,
                "nullable": true
              },
              "toggleShortLinks": {
                "type": "boolean",
                "nullable": true
              },
              "status": {
                "readOnly": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ApiSmsCampaignStatuses"
                  }
                ]
              }
            }
          }
        ]
      },
      "ApiSmsCampaignStatuses": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Unsent",
          "Sending",
          "Sent",
          "Cancelled",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Unsent",
          "Sending",
          "Sent",
          "Cancelled",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCopySmsCampaignRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "campaignId",
          "copyName"
        ],
        "properties": {
          "campaignId": {
            "type": "integer",
            "format": "int32"
          },
          "copyName": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1
          }
        }
      },
      "ApiSurvey": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "dateSurveyCreated": {
            "type": "string",
            "format": "date-time"
          },
          "dateSurveyModified": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "$ref": "#/components/schemas/ApiSurveyState"
          },
          "firstActiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastInactiveDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "scheduledStartDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "scheduledEndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "confirmationMode": {
            "$ref": "#/components/schemas/ApiSurveyConfirmationMode"
          },
          "submissionMode": {
            "$ref": "#/components/schemas/ApiSurveySubmissionMode"
          },
          "fieldCount": {
            "type": "integer",
            "format": "int32"
          },
          "notifyCreatorOnResponse": {
            "type": "boolean"
          },
          "respondentNotificationType": {
            "$ref": "#/components/schemas/ApiRespondentNotificationType"
          },
          "respondentNotificationCampaignId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isAssignedToAddressBook": {
            "type": "boolean"
          },
          "assignedAddressBookTarget": {
            "$ref": "#/components/schemas/ApiSurveyAssignedAddressBookTarget"
          },
          "assignedSpecificAddressBookId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "firstResponseDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lastResponseDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "totalCompleteResponses": {
            "type": "integer",
            "format": "int32"
          },
          "totalCompleteResponsesInLastDay": {
            "type": "integer",
            "format": "int32"
          },
          "totalCompleteResponsesInLastWeek": {
            "type": "integer",
            "format": "int32"
          },
          "totalIncompleteResponses": {
            "type": "integer",
            "format": "int32"
          },
          "totalViews": {
            "type": "integer",
            "format": "int32"
          },
          "totalBounces": {
            "type": "integer",
            "format": "int32"
          },
          "timeToCompleteMax": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timeToCompleteMin": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "timeToCompleteTotal": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "sourceDirectTotal": {
            "type": "integer",
            "format": "int32"
          },
          "sourceEmailTotal": {
            "type": "integer",
            "format": "int32"
          },
          "sourceEmbeddedTotal": {
            "type": "integer",
            "format": "int32"
          },
          "sourcePopoverTotal": {
            "type": "integer",
            "format": "int32"
          },
          "sourceFacebookTotal": {
            "type": "integer",
            "format": "int32"
          },
          "sourceTwitterTotal": {
            "type": "integer",
            "format": "int32"
          },
          "sourceGooglePlusTotal": {
            "type": "integer",
            "format": "int32"
          },
          "sourceOtherTotal": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiSurveyState": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Active",
          "Inactive",
          "Pending",
          "Expired",
          "SurveyFeatureDisabled",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Active",
          "Inactive",
          "Pending",
          "Expired",
          "SurveyFeatureDisabled",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiSurveyConfirmationMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Text",
          "Url",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Text",
          "Url",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiSurveySubmissionMode": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "Single",
          "Multiple",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "Single",
          "Multiple",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiRespondentNotificationType": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "None",
          "Basic",
          "Campaign",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "None",
          "Basic",
          "Campaign",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiSurveyAssignedAddressBookTarget": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "AllContacts",
          "SpecificAddressBook",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "AllContacts",
          "SpecificAddressBook",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiSurveyPage": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "fields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiSurveyField"
            }
          }
        }
      },
      "ApiSurveyField": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "type": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "isRequired": {
            "type": "boolean"
          },
          "defaultValue": {
            "type": "string",
            "nullable": true
          },
          "mode": {
            "type": "string",
            "nullable": true
          },
          "choices": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiSurveyQuestionChoice"
            }
          },
          "subFields": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiSurveyField"
            }
          },
          "hasOtherOption": {
            "type": "boolean"
          },
          "otherOptionChoiceId": {
            "type": "integer",
            "format": "int32"
          },
          "otherOptionSubFieldId": {
            "type": "integer",
            "format": "int32"
          },
          "otherOptionTextFieldId": {
            "type": "integer",
            "format": "int32"
          },
          "isAssignedToContactDataField": {
            "type": "boolean"
          },
          "assignedContactDataFieldName": {
            "type": "string",
            "nullable": true
          },
          "assignedContactDataExistsAction": {
            "$ref": "#/components/schemas/ApiAssignedContactDataExistsAction"
          }
        }
      },
      "ApiSurveyQuestionChoice": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "text": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiAssignedContactDataExistsAction": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "OverwriteData",
          "HideField",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "OverwriteData",
          "HideField",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiSurveyResponse": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "started": {
            "type": "boolean"
          },
          "dateStarted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "complete": {
            "type": "boolean"
          },
          "dateCompleted": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "givenAnswers": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiSurveyGivenAnswer"
            }
          }
        }
      },
      "ApiSurveyGivenAnswer": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "fieldId": {
            "type": "integer",
            "format": "int32"
          },
          "subFieldId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "value": {
            "nullable": true
          }
        }
      },
      "ApiTemplate": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "subject",
          "fromName",
          "htmlContent",
          "plainTextContent"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "subject": {
            "type": "string",
            "minLength": 1
          },
          "fromName": {
            "type": "string",
            "minLength": 1
          },
          "htmlContent": {
            "type": "string",
            "minLength": 1
          },
          "plainTextContent": {
            "type": "string",
            "minLength": 1
          },
          "replyAction": {
            "$ref": "#/components/schemas/ApiCampaignReplyActions"
          },
          "replyToAddress": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTransactionalEmail": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "toAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "ccAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "bccAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "fromAddress": {
            "type": "string",
            "nullable": true
          },
          "htmlContent": {
            "type": "string",
            "nullable": true
          },
          "plainTextContent": {
            "type": "string",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "metadata": {
            "type": "string",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiTransactionalEmailAttachment"
            }
          }
        }
      },
      "ApiTransactionalEmailAttachment": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "fileName": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "mimeType": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTransactionalEmailTriggeredCampaign": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "toAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "ccAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "bccAddresses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "campaignId": {
            "type": "integer",
            "format": "int32"
          },
          "personalizationValues": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiPersonalizationValue"
            }
          },
          "metadata": {
            "type": "string",
            "nullable": true
          },
          "fromAddress": {
            "type": "string",
            "nullable": true
          },
          "attachments": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ApiTransactionalEmailAttachment"
            }
          }
        }
      },
      "ApiPersonalizationValue": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ApiTransactionalEmailStatistics": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "numSent": {
            "type": "integer",
            "format": "int32"
          },
          "numDelivered": {
            "type": "integer",
            "format": "int32"
          },
          "numOpens": {
            "type": "integer",
            "format": "int32"
          },
          "numClicks": {
            "type": "integer",
            "format": "int32"
          },
          "numIspComplaints": {
            "type": "integer",
            "format": "int32"
          },
          "numBounces": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "ApiAggregationPeriod": {
        "type": "string",
        "description": "",
        "x-enumNames": [
          "AllTime",
          "Month",
          "Week",
          "Day",
          "NotAvailableInThisVersion"
        ],
        "enum": [
          "AllTime",
          "Month",
          "Week",
          "Day",
          "NotAvailableInThisVersion"
        ]
      },
      "ApiCampaignWithProcessedContent": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "subject",
          "fromName",
          "htmlContent",
          "plainTextContent",
          "processedHtmlContent",
          "processedPlainTextContent"
        ],
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "subject": {
            "type": "string",
            "minLength": 1
          },
          "fromName": {
            "type": "string",
            "minLength": 1
          },
          "fromAddress": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignFromAddress"
              }
            ]
          },
          "htmlContent": {
            "type": "string",
            "minLength": 1
          },
          "plainTextContent": {
            "type": "string",
            "minLength": 1
          },
          "replyAction": {
            "$ref": "#/components/schemas/ApiCampaignReplyActions"
          },
          "replyToAddress": {
            "type": "string",
            "nullable": true
          },
          "isSplitTest": {
            "type": "boolean",
            "readOnly": true
          },
          "status": {
            "readOnly": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ApiCampaignStatuses"
              }
            ]
          },
          "processedHtmlContent": {
            "type": "string",
            "readOnly": true,
            "minLength": 1
          },
          "processedPlainTextContent": {
            "type": "string",
            "readOnly": true,
            "minLength": 1
          },
          "customReplyToAddress": {
            "type": "string",
            "nullable": true
          }
        }
      }
    }
  }
}