openapi: 3.1.0
info:
  title: Dotdigital API V2
  version: "3.7"
x-readme:
  headers: []
  explorer-enabled: true
  proxy-enabled: true
x-readme-fauxas: true
x-samples-languages:
- curl
- csharp
- java
- javascript
- node
- python
- php
- ruby
externalDocs:
  description: Learn more about Dotdigital APIs
  url: https://developer.dotdigital.com
servers:
- url: "https://{region}-api.dotdigital.com"
  variables:
    region:
      default: r1
      enum:
      - r1
      - r2
      - r3
      description: The Dotdigital region id your account belongs to
security:
- basicAuth: []
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
paths:
  /account-info:
    get:
      summary: Get account information
      deprecated: false
      description: Gets a summary of information about the current status of the account
      operationId: get-account-information
      tags:
      - Accounts and Utilities
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  properties:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          examples:
                          - AvailableEmailSendsCredits
                        type:
                          type: string
                          examples:
                          - Int
                        value:
                          type: string
                          examples:
                          - "153"
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    properties:
                    - name: AvailableEmailSendsCredits
                      type: Int
                      value: "153"
                    - name: AvailableSmsSendsCredits
                      type: Int
                      value: "276"
                    - name: PremiumWalletBalance
                      type: Decimal
                      value: "100.01"
                    - name: ListManagedUsers
                      type: String
                      value: "subaccount@example.com, subuser@example.com"
                    - name: Name
                      type: String
                      value: Demo
                    - name: MainMobilePhoneNumber
                      type: String
                      value: "01818181818"
                    - name: MainEmail
                      type: String
                      value: demo@apiconnector.com
                    - name: APILocale
                      type: String
                      value: en-GB
                    - name: ApiCallsInLastHour
                      type: Int
                      value: "15"
                    - name: ApiCallsRemaining
                      type: Int
                      value: "1985"
                    - name: ApiEndpoint
                      type: String
                      value: https://r1-api.dotdigital.com/
                    - name: CurrencyCode
                      type: String
                      value: GBP
                    - name: CampaignEmailMtaPool
                      type: String
                      value: IP pool for Email campaigns
                    - name: ShowClock
                      type: Boolean
                      value: "False"
                    - name: TimeZoneIana
                      type: String
                      value: Europe/London
          headers: {}
  /server-time:
    get:
      summary: Get server time
      deprecated: false
      description: Gets the UTC time as set on our servers
      operationId: get-server-time
      tags:
      - Accounts and Utilities
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            text/plain:
              schema:
                type: string
                examples:
                - 2021-09-24T09:21:55.661571Z
              examples:
                Result:
                  summary: Result
                  value: 2021-09-24T09:21:55.661571Z
          headers: {}
  /accounts/empty-recycle-bin/:
    post:
      summary: Empty recycle bin
      deprecated: false
      description: Permanently deletes everything in the recycle bin
      operationId: empty-recycle-bin
      tags:
      - Accounts and Utilities
      parameters: []
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value:
                    value: ""
          headers: {}
  /data-fields:
    post:
      summary: Create contact data field
      deprecated: false
      description: Creates a contact data field within the account
      operationId: create-contact-data-field
      tags:
      - Contact data fields
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: "The name of the contact data field being created. It can be a maximum of 20 characters in length and must contain alphanumeric characters only, with hyphens and underscores if required."
                type:
                  type: string
                  description: "The data type of the contact data field you're creating. Valid values are one of: **String**, **Numeric**, **Date**, **Boolean**."
                visibility:
                  type: string
                  description: Choose for your data field to be either private or public
                  default: Private
                  enum:
                  - Private
                  - Public
                defaultValue:
                  type: string
                  description: The default value of your data field. It can be any data type.
            examples:
              Request Example:
                value:
                  name: BIRTHDAY
                  type: Date
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                    examples:
                    - BIRTHDAY
                  type:
                    type: string
                    examples:
                    - Date
                  visibility:
                    type: string
                    examples:
                    - Private
                  defaultValue: {}
              examples:
                Result:
                  summary: Result
                  value:
                    name: BIRTHDAY
                    type: Date
                    visibility: Private
                    defaultValue: null
          headers: {}
    get:
      summary: Get contact data fields
      deprecated: false
      description: Lists all contact data fields within the account
      operationId: get-contact-data-fields
      tags:
      - Contact data fields
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      examples:
                      - FIRSTNAME
                    type:
                      type: string
                      examples:
                      - String
                    visibility:
                      type: string
                      examples:
                      - Public
                    defaultValue: {}
              examples:
                Result:
                  summary: Result
                  value:
                  - name: FIRSTNAME
                    type: String
                    visibility: Public
                    defaultValue: null
                  - name: FULLNAME
                    type: String
                    visibility: Public
                    defaultValue: null
                  - name: GENDER
                    type: String
                    visibility: Public
                    defaultValue: null
                  - name: LASTNAME
                    type: String
                    visibility: Public
                    defaultValue: null
                  - name: POSTCODE
                    type: String
                    visibility: Public
                    defaultValue: null
          headers: {}
  /data-fields/{name}:
    delete:
      summary: Delete contact data field
      deprecated: false
      description: Deletes a contact data field within the account
      operationId: delete-contact-data-field
      tags:
      - Contact data fields
      parameters:
      - name: name
        in: path
        description: The name of the contact data field you want to delete.
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  dependencies: {}
                  result:
                    type: boolean
                    default: true
                    examples:
                    - true
              examples:
                Result:
                  summary: Result
                  value:
                    dependencies: null
                    result: true
          headers: {}
  /address-books:
    post:
      summary: Create list
      deprecated: false
      description: Creates an list / address book
      operationId: create-address-book
      tags:
      - Lists / Address books
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: The name of the address book. (max 128 characters)
                  maxLength: 128
                visibility:
                  type: string
                  description: All address books are created as 'Private' by default but you can set it as 'Public' upon creation should you wish to.
                  default: Private
                  enum:
                  - Private
                  - Public
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - My Address Book
                  visibility:
                    type: string
                    examples:
                    - Public
                  contacts:
                    type: integer
                    default: 0
                    examples:
                    - 0
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: My Address Book
                    visibility: Public
                    contacts: 0
          headers: {}
    get:
      summary: Get lists
      deprecated: false
      description: Gets all lists / address books
      operationId: get-address-books
      tags:
      - Lists / Address books
      parameters:
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Address book 1
                    visibility:
                      type: string
                      examples:
                      - Private
                    contacts:
                      type: integer
                      default: 0
                      examples:
                      - 5
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Address book 1
                    visibility: Private
                    contacts: 5
                  - id: 2
                    name: Address book 2
                    visibility: Public
                    contacts: 7
                  - id: 3
                    name: Address book 3
                    visibility: Private
                    contacts: 7
                  - id: 4
                    name: Address book 4
                    visibility: Public
                    contacts: 6
          headers: {}
  /address-books/{id}:
    delete:
      summary: Delete list
      deprecated: false
      description: Deletes an list / address book by id
      operationId: delete-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The ID of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "204":
          description: "204"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
    put:
      summary: Update list
      deprecated: false
      description: Updates an list / address book by id
      operationId: update-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The ID of the address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: The name of the address book. (max 128 characters)
                visibility:
                  type: string
                  description: All address books are created as 'Private' by default but you can set it as 'Public' upon creation should you wish to.
                  default: Private
                  enum:
                  - Private
                  - Public
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - My Updated Address Book
                  visibility:
                    type: string
                    examples:
                    - Private
                  contacts:
                    type: integer
                    default: 0
                    examples:
                    - 0
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: My Updated Address Book
                    visibility: Private
                    contacts: 0
          headers: {}
    get:
      summary: Get list
      deprecated: false
      description: This operation retrieves an list / address book by its id
      operationId: get-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The ID of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  name:
                    type: string
                    examples:
                    - Address book 2
                  visibility:
                    type: string
                    examples:
                    - Private
                  contacts:
                    type: integer
                    default: 0
                    examples:
                    - 5
              examples:
                Result:
                  summary: Result
                  value:
                    id: 2
                    name: Address book 2
                    visibility: Private
                    contacts: 5
          headers: {}
  /address-books/private:
    get:
      summary: Get private lists
      deprecated: false
      description: Gets all private lists / address books
      operationId: get-private-address-books
      tags:
      - Lists / Address books
      parameters:
      - name: limit
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    name:
                      type: string
                      examples:
                      - Address book 2
                    visibility:
                      type: string
                      examples:
                      - Private
                    contacts:
                      type: integer
                      default: 0
                      examples:
                      - 5
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 2
                    name: Address book 2
                    visibility: Private
                    contacts: 5
                  - id: 3
                    name: Address book 3
                    visibility: Private
                    contacts: 7
          headers: {}
  /address-books/public:
    get:
      summary: Get public lists
      deprecated: false
      description: Gets all public lists / address books
      operationId: get-public-address-books
      tags:
      - Lists / Address books
      parameters:
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    name:
                      type: string
                      examples:
                      - Address book 2
                    visibility:
                      type: string
                      examples:
                      - Private
                    contacts:
                      type: integer
                      default: 0
                      examples:
                      - 5
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 2
                    name: Address book 2
                    visibility: Private
                    contacts: 5
                  - id: 3
                    name: Address book 3
                    visibility: Private
                    contacts: 7
          headers: {}
  /address-books/{id}/contacts/unsubscribed-since/{date}:
    get:
      summary: Get unsubscribed from list since date
      deprecated: false
      description: Gets a list of contacts who have unsubscribed since a given date from a given list / address book
      operationId: get-unsubscribed-contacts-from-address-book-since-date
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The id of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any unsubscribed contacts are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    [
                    {
                    "suppressedContact": {
                    "id": 1,
                    "email": "nelson.redeker@example.com",
                    "optInType": "Unknown",
                    "emailType": "PlainText",
                    "dataFields": null,
                    "status": "Unsubscribed"
                    },
                    "dateRemoved": "2020-01-01T09:40:18.527Z",
                    "reason": "Unsubscribed"
                    },
                    {
                    "suppressedContact": {
                    "id": 25,
                    "email": "terry.mccarthy@example.com",
                    "optInType": "VerifiedDouble",
                    "emailType": "Html",
                    "dataFields": null,
                    "status": "Unsubscribed"
                    },
                    "dateRemoved": "2020-01-01T09:40:18.527Z",
                    "reason": "Unsubscribed"
                    },
                    ]
          headers: {}
  /address-books/{id}/contacts/unsubscribe:
    post:
      summary: Unsubscribe contact from list
      deprecated: false
      description: Unsubscribes contact from a given list / address book
      operationId: unsubscribe-contact-from-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The id of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              properties:
                email:
                  type: string
                  description: The email address of the contact to be unsubscribed
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  suppressedContact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 123456
                      email:
                        type: string
                        examples:
                        - example@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - Html
                      dataFields: {}
                      status:
                        type: string
                        examples:
                        - Subscribed
                  dateRemoved:
                    type: string
                    examples:
                    - 2025-07-23T11:01:55.433Z
                  reason:
                    type: string
                    examples:
                    - Unsubscribed
              examples:
                Result:
                  summary: Result
                  value:
                    suppressedContact:
                      id: 123456
                      email: example@emailsim.io
                      optInType: Unknown
                      emailType: Html
                      dataFields: null
                      status: Subscribed
                    dateRemoved: 2025-07-23T11:01:55.433Z
                    reason: Unsubscribed
          headers: {}
  /address-books/{id}/contacts/resubscribe:
    post:
      summary: Resubscribe contact to list
      deprecated: false
      description: Resubscribes a previously unsubscribed contact to a given list / address book
      operationId: resubscribe-contact-to-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The id of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - unsubscribedContact
              properties:
                unsubscribedContact:
                  type: object
                  description: The details of the contact to be resubscribed
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address of the contact
                    dataFields:
                      type: array
                      description: The data fields for the contact
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
                preferredLocale:
                  type: string
                  description: The language code for the language you would like the resubscribe request email to be sent to the contact in
                  enum:
                  - cs-CS
                  - da-DA
                  - de-DE
                  - el-EL
                  - en-EN
                  - es-ES
                  - es
                  - fi-FI
                  - fr-FR
                  - hu-HU
                  - it-IT
                  - nl-NL
                  - nb-NO
                  - pl-PL
                  - pt-PT
                  - ru-RU
                  - se-SE
                  - sk-SK
                  - tr-TR
                  - zh-CN
                returnUrlToUseIfChallenged:
                  type: string
                  description: The URL you would like to redirect challenged contacts to after they have completed their resubscription
            examples:
              Request Example:
                value:
                  unsubscribedContact:
                    email: john.smith@emailsim.io
                    dataFields:
                    - key: FIRSTNAME
                      value: Nelson
                    - key: LASTNAME
                      value: Redeker
                  preferredLocale: de-DE
                  returnUrlToUseIfChallenged: https://www.mywebsite.com/news
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 23
                      email:
                        type: string
                        examples:
                        - john.smith@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - PlainText
                      dataFields: {}
                      status:
                        type: string
                        examples:
                        - Unsubscribed
                  status:
                    type: string
                    examples:
                    - ContactChallenged
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 23
                      email: john.smith@emailsim.io
                      optInType: Unknown
                      emailType: PlainText
                      dataFields: null
                      status: Unsubscribed
                    status: ContactChallenged
          headers: {}
  /address-books/{id}/contacts/resubscribe-with-no-challenge:
    post:
      summary: Resubscribe contact to list with no challenge
      deprecated: false
      description: Resubscribes a previously unsubscribed contact to a specific list / address book without sending a challenge email
      operationId: resubscribe-contact-to-address-book-with-no-challenge
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: "The ID of the list / address book, which needs to be included within the URL"
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                unsubscribedContact:
                  type: object
                  description: "The email address of the unsubscribed contact, which needs to be included within the request body"
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address of the contact
                    dataFields:
                      type: array
                      description: The data fields for the contact
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 24
                      email:
                        type: string
                        examples:
                        - john.smith@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - PlainText
                      dataFields: {}
                      status:
                        type: string
                        examples:
                        - Subscribed
                  status:
                    type: string
                    examples:
                    - ContactAdded
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 24
                      email: john.smith@emailsim.io
                      optInType: Unknown
                      emailType: PlainText
                      dataFields: null
                      status: Subscribed
                    status: ContactAdded
          headers: {}
  /address-books/{addressBookId}/contacts/{contactId}:
    delete:
      summary: Delete contact from list
      deprecated: false
      description: Deletes a contact from a given list / address book
      operationId: delete-contact-from-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: addressBookId
        in: path
        description: The id of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactId
        in: path
        description: The id of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "204":
          description: "204"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
  /address-books/{addressBookId}/contacts/delete:
    post:
      summary: Delete contacts from list
      deprecated: false
      description: Deletes multiple contacts from an list / address book
      operationId: delete-contacts-from-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: addressBookId
        in: path
        description: The id of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - RAW_BODY
              properties:
                RAW_BODY:
                  type: array
                  description: The IDs of the contacts that need deleting from the address book
                  items:
                    type: integer
                    format: int32
            examples:
              Request Example:
                value:
                - 684095989
                - 1182927244
                summary: Request Example
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - 13e7b388-2060-4f58-b3dc-2885badf80ee
                  status:
                    type: string
                    examples:
                    - Started
              examples:
                Result:
                  summary: Result
                  value:
                    id: 13e7b388-2060-4f58-b3dc-2885badf80ee
                    status: Started
          headers: {}
  /address-books/{addressBookId}/contacts/delete-all:
    post:
      summary: Delete all contacts from list
      deprecated: false
      description: Deletes all contacts from a given list / address book
      operationId: delete-all-contacts-from-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: addressBookId
        in: path
        description: The id of the list / address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - 13e7b388-2060-4f58-b3dc-2885badf80ee
                  status:
                    type: string
                    examples:
                    - Started
              examples:
                Result:
                  summary: Result
                  value:
                    id: 13e7b388-2060-4f58-b3dc-2885badf80ee
                    status: Started
          headers: {}
  /contacts/deletion/{deletionRequestId}:
    get:
      summary: Get bulk contact deletion progress
      deprecated: true
      description: ""
      operationId: get-bulk-contact-deletion-progress
      tags:
      - Email contacts
      parameters:
      - name: deletionRequestId
        in: path
        description: The deletion request id returned from a previously called bulk contact deletion request
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  Id:
                    type: string
                    examples:
                    - 9133c58f-a756-46e1-8cff-bd90c6cdfb92
                  Status:
                    type: string
                    examples:
                    - Completed
              examples:
                Result:
                  summary: Result
                  value:
                    Id: 9133c58f-a756-46e1-8cff-bd90c6cdfb92
                    Status: Completed
          headers: {}
  /contacts/unsubscribe:
    post:
      summary: Unsubscribe contact
      deprecated: false
      description: Unsubscribes contact from account
      operationId: unsubscribe-contact
      tags:
      - Preferences and subscriptions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              properties:
                email:
                  type: string
                  description: The email address of the contact to unsubscribe
            examples:
              Request Example:
                value:
                  email: john.smith@emailsim.io
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  suppressedContact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 1
                      email:
                        type: string
                        examples:
                        - john.smith@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - PlainText
                      dataFields: {}
                      status:
                        type: string
                        examples:
                        - Unsubscribed
                  dateRemoved:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  reason:
                    type: string
                    examples:
                    - Unsubscribed
              examples:
                Result:
                  summary: Result
                  value:
                    suppressedContact:
                      id: 1
                      email: john.smith@emailsim.io
                      optInType: Unknown
                      emailType: PlainText
                      dataFields: null
                      status: Unsubscribed
                    dateRemoved: 2020-01-01T09:40:18.527Z
                    reason: Unsubscribed
          headers: {}
  /contacts/suppress-contacts:
    put:
      summary: Bulk suppress contacts
      deprecated: false
      description: Suppresses a batch of contacts from an account
      operationId: bulk-suppress-contacts
      tags:
      - Preferences and subscriptions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                RAW_BODY:
                  type: array
                  description: "The contacts to be unsubscribed, identify them with either id or email address"
                  items:
                    properties:
                      id:
                        type: integer
                        description: The unique id of the contact
                        format: int32
                      email:
                        type: string
                        description: The email address of the contact
                    type: object
            examples:
              Request Example:
                value:
                - id: 123
                - email: bob.smith@emailsim.co
                - email: unknown@emailsim.co
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  suppressed:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 123
                        email: {}
                  notFound:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 0
                        email:
                          type: string
                          examples:
                          - unknown@emailsim.co
              examples:
                Result:
                  summary: Result
                  value:
                    suppressed:
                    - id: 123
                      email: null
                    - id: 0
                      email: bob.smith@emailsim.co
                    notFound:
                    - id: 0
                      email: unknown@emailsim.co
          headers: {}
  /contacts/resubscribe:
    post:
      summary: Resubscribe contact
      deprecated: false
      description: Resubscribes a previously unsubscribed contact
      operationId: resubscribe-contact
      tags:
      - Preferences and subscriptions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - unsubscribedContact
              properties:
                unsubscribedContact:
                  type: object
                  description: Details of the contact to be resubscribed
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address of the contact
                    dataFields:
                      type: array
                      description: The data fields for the contact
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
                preferredLocale:
                  type: string
                  description: The language code for the language you would like the resubscribe request email to be sent to the contact in
                  enum:
                  - cs-CS
                  - da-DA
                  - de-DE
                  - el-EL
                  - en-EN
                  - es-ES
                  - es
                  - fi-FI
                  - fr-FR
                  - hu-HU
                  - it-IT
                  - nl-NL
                  - nb-NO
                  - pl-PL
                  - pt-PT
                  - ru-RU
                  - se-SE
                  - sk-SK
                  - tr-TR
                  - zh-CN
                returnUrlToUseIfChallenged:
                  type: string
                  description: The URL you would like to redirect challenged contacts to after they have completed their resubscription
            examples:
              Request Example:
                value:
                  unsubscribedContact:
                    email: john.smith@emailsim.io
                    dataFields:
                    - key: FIRSTNAME
                      value: Nelson
                    - key: LASTNAME
                      value: Redeker
                  preferredLocale: de-DE
                  returnUrlToUseIfChallenged: https://www.mywebsite.com/news
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 23
                      email:
                        type: string
                        examples:
                        - john.smith@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - PlainText
                      dataFields: {}
                      status:
                        type: string
                        examples:
                        - Unsubscribed
                  status:
                    type: string
                    examples:
                    - ContactChallenged
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 23
                      email: john.smith@emailsim.io
                      optInType: Unknown
                      emailType: PlainText
                      dataFields: null
                      status: Unsubscribed
                    status: ContactChallenged
          headers: {}
  /contacts/resubscribe-with-no-challenge:
    post:
      summary: Resubscribe contact with no challenge
      deprecated: false
      description: Resubscribes a previously unsubscribed contact without sending a challenge email
      operationId: resubscribe-contact-with-no-challenge
      tags:
      - Preferences and subscriptions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - unsubscribedContact
              properties:
                unsubscribedContact:
                  type: object
                  description: Details of the contact to be resubscribed
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address of the contact
                    dataFields:
                      type: array
                      description: The data fields for the contact
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
            examples:
              Request Example:
                value:
                  unsubscribedContact:
                    email: john.smith@emailsim.io
                    dataFields:
                    - key: FIRSTNAME
                      value: Nelson
                    - key: LASTNAME
                      value: Redeker
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 23
                      email:
                        type: string
                        examples:
                        - john.smith@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - PlainText
                      dataFields: {}
                      status:
                        type: string
                        examples:
                        - Unsubscribed
                  status:
                    type: string
                    examples:
                    - ContactAdded
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 23
                      email: john.smith@emailsim.io
                      optInType: Unknown
                      emailType: PlainText
                      dataFields: null
                      status: Unsubscribed
                    status: ContactAdded
          headers: {}
  /contacts/suppressed-since/{date}:
    get:
      summary: Get suppressed contacts since date
      deprecated: false
      description: Gets a list of suppressed contacts after a given date along with the reason for suppression
      operationId: get-suppressed-contacts-since-date
      tags:
      - Preferences and subscriptions
      parameters:
      - name: date
        in: path
        description: "The date from which any suppressed contacts are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    suppressedContact:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 25
                        email:
                          type: string
                          examples:
                          - terry.mccarthy@example.com
                        optInType:
                          type: string
                          examples:
                          - VerifiedDouble
                        emailType:
                          type: string
                          examples:
                          - Html
                        dataFields: {}
                        status:
                          type: string
                          examples:
                          - Unsubscribed
                    dateRemoved:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    reason:
                      type: string
                      examples:
                      - Unsubscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - suppressedContact:
                      id: 25
                      email: terry.mccarthy@example.com
                      optInType: VerifiedDouble
                      emailType: Html
                      dataFields: null
                      status: Unsubscribed
                    dateRemoved: 2020-01-01T09:40:18.527Z
                    reason: Unsubscribed
                  - suppressedContact:
                      id: 38
                      email: eleanor.halloran@example.com
                      optInType: Unknown
                      emailType: PlainText
                      dataFields: null
                      status: HardBounced
                    dateRemoved: 2020-01-01T09:40:18.527Z
                    reason: HardBounced
          headers: {}
  /contacts/{email}/subscriptions:
    get:
      summary: Get subscriptions for contact
      deprecated: false
      description: Gets all subscriptions for a contact
      operationId: get-subscriptions-for-contact
      tags:
      - Preferences and subscriptions
      parameters:
      - name: email
        in: path
        description: The email address of the contact
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 1
                      email:
                        type: string
                        examples:
                        - john.doe@example.com
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - Html
                      dataFields: {}
                      status:
                        type: string
                        examples:
                        - Subscribed
                  marketingPreferenceOptIns:
                    type: array
                    items:
                      type: object
                      properties:
                        marketingPreferenceId:
                          type: integer
                          default: 0
                          examples:
                          - 5
                        addressBookId:
                          type: integer
                          default: 0
                          examples:
                          - 1
                        isOptedIn:
                          type: boolean
                          default: true
                          examples:
                          - false
                        dateModifed:
                          type: string
                          examples:
                          - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 1
                      email: john.doe@example.com
                      optInType: Unknown
                      emailType: Html
                      dataFields: null
                      status: Subscribed
                    marketingPreferenceOptIns:
                    - marketingPreferenceId: 5
                      addressBookId: 1
                      isOptedIn: false
                      dateModifed: 2020-01-01T09:40:18.527Z
                    - marketingPreferenceId: 1002
                      addressBookId: 3
                      isOptedIn: false
                      dateModifed: 2020-01-01T09:40:18.527Z
                    - marketingPreferenceId: 1003
                      addressBookId: 2
                      isOptedIn: true
                      dateModifed: 2020-01-01T09:40:18.527Z
                    - marketingPreferenceId: 1004
                      addressBookId: 3
                      isOptedIn: false
                      dateModifed: 2020-01-01T09:40:18.527Z
          headers: {}
  /contacts/unsubscribed-since/{date}:
    get:
      summary: Get unsubscribed contacts since date
      deprecated: false
      description: Gets a list of unsubscribed contacts who unsubscribed after a given date
      operationId: get-unsubscribed-contacts-since-date
      tags:
      - Preferences and subscriptions
      parameters:
      - name: date
        in: path
        description: "The date from which any suppressed contacts are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    suppressedContact:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 23
                        email:
                          type: string
                          examples:
                          - nelson.redeker@example.com
                        optInType:
                          type: string
                          examples:
                          - Unknown
                        emailType:
                          type: string
                          examples:
                          - PlainText
                        dataFields: {}
                        status:
                          type: string
                          examples:
                          - Unsubscribed
                    dateRemoved:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    reason:
                      type: string
                      examples:
                      - Unsubscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - suppressedContact:
                      id: 23
                      email: nelson.redeker@example.com
                      optInType: Unknown
                      emailType: PlainText
                      dataFields: null
                      status: Unsubscribed
                    dateRemoved: 2020-01-01T09:40:18.527Z
                    reason: Unsubscribed
                  - suppressedContact:
                      id: 25
                      email: terry.mccarthy@example.com
                      optInType: VerifiedDouble
                      emailType: Html
                      dataFields: null
                      status: Unsubscribed
                    dateRemoved: 2020-01-01T09:40:18.527Z
                    reason: Unsubscribed
          headers: {}
  /preferences:
    post:
      summary: Create preference
      deprecated: false
      description: Creates a new preference or a new preference category
      operationId: create-preference
      tags:
      - Preferences and subscriptions
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - publicName
              - privateName
              properties:
                publicName:
                  type: string
                  description: The public name of the preference or the preference category. Contacts can see the public names of preferences in preference centres and signup forms.
                privateName:
                  type: string
                  description: The private name of the preference or the preference category. Contacts can't see private names in the preference centre or in signup forms.
                isPreference:
                  type: boolean
                  description: "If this value is true, a new preference is created. If this value is false, a new preference category is created."
                  default: false
                order:
                  type: string
                  description: "The position that you want the preference or the preference category to appear on the 'Contact preferences' page, starting from 0. Specify either an integer for absolute position, alternatively use \"top\" or \"bottom\""
                isPublic:
                  type: boolean
                  description: "For preferences, if this value is true, the preference is visible in signup forms and preference centres."
                  default: true
                categoryID:
                  type: integer
                  description: "For preferences, the unique ID of the preference category that you want to add the preference to. Default for preferences: 0. Default for preference categories: null"
                  format: int32
            examples:
              Request Example:
                value:
                  publicName: Preferred contact method
                  privateName: Preferred contact method
                  isPreference: true
                  isPublic: true
                  order: 0
                  categoryId: null
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    { id: 23,
                    publicName: 'Preferred contact method',
                    privateName: 'Preferred contact method',
                    isPreference: false,
                    order: 0,
                    isPublic: true,
                    categoryId: 0,
                    preferenceCount: 0,
                    created: '2020-01-01T09:40:18.527Z',
                    lastModified: '2020-01-01T09:40:18.527Z'
                    }
          headers: {}
    get:
      summary: Get preferences
      deprecated: false
      description: Gets all preferences and preference categories
      operationId: get-preferences
      tags:
      - Preferences and subscriptions
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 8
                    publicName:
                      type: string
                      examples:
                      - Preferred contact method
                    privateName:
                      type: string
                      examples:
                      - Preferred contact method
                    isPreference:
                      type: boolean
                      default: true
                      examples:
                      - false
                    order:
                      type: string
                      examples:
                      - "0"
                    isPublic:
                      type: boolean
                      default: true
                      examples:
                      - true
                    categoryId:
                      type: integer
                      default: 0
                      examples:
                      - 0
                    preferenceCount:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    created:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    lastModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    preferences:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            default: 0
                            examples:
                            - 9
                          publicName:
                            type: string
                            examples:
                            - Email
                          privateName:
                            type: string
                            examples:
                            - Email
                          isPreference:
                            type: boolean
                            default: true
                            examples:
                            - true
                          order:
                            type: string
                            examples:
                            - "0"
                          isPublic:
                            type: boolean
                            default: true
                            examples:
                            - true
                          categoryId:
                            type: integer
                            default: 0
                            examples:
                            - 8
                          preferenceCount:
                            type: integer
                            default: 0
                            examples:
                            - 0
                          created:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
                          lastModified:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 8
                    publicName: Preferred contact method
                    privateName: Preferred contact method
                    isPreference: false
                    order: "0"
                    isPublic: true
                    categoryId: 0
                    preferenceCount: 2
                    created: 2020-01-01T09:40:18.527Z
                    lastModified: 2020-01-01T09:40:18.527Z
                    preferences:
                    - id: 9
                      publicName: Email
                      privateName: Email
                      isPreference: true
                      order: "0"
                      isPublic: true
                      categoryId: 8
                      preferenceCount: 0
                      created: 2020-01-01T09:40:18.527Z
                      lastModified: 2020-01-01T09:40:18.527Z
                    - id: 10
                      publicName: Push notifications
                      privateName: Push notifications
                      isPreference: true
                      order: "1"
                      isPublic: true
                      categoryId: 8
                      preferenceCount: 0
                      created: 2020-01-01T09:40:18.527Z
                      lastModified: 2020-01-01T09:40:18.527Z
                  - id: 21
                    publicName: Football
                    privateName: Football
                    isPreference: true
                    order: "2"
                    isPublic: true
                    categoryId: 0
                    preferenceCount: 0
                    created: 2020-01-01T09:40:18.527Z
                    lastModified: 2020-01-01T09:40:18.527Z
          headers: {}
  /preferences/{id}:
    put:
      summary: Update preference
      deprecated: false
      description: Updates a preference or preference category by id
      operationId: update-preference
      tags:
      - Preferences and subscriptions
      parameters:
      - name: id
        in: path
        description: ""
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              - publicName
              - privateName
              properties:
                id:
                  type: integer
                  description: The id of the preference or preference category that you want to update
                  format: int32
                publicName:
                  type: string
                  description: The public name of the preference or the preference category. Contacts can see the public names of preferences in preference centres and signup forms.
                privateName:
                  type: string
                  description: The private name of the preference or the preference category. Contacts can't see private names in the preference centre or in signup forms.
                isPreference:
                  type: boolean
                  description: "If this value is true, a new preference is created. If this value is false, a new preference category is created."
                  default: false
                order:
                  type: string
                  description: "The position that you want the preference or the preference category to appear on the 'Contact preferences' page, starting from 0. Specify either an integer for absolute position, alternatively use \"top\" or \"bottom\""
                isPublic:
                  type: boolean
                  description: "For preferences, if this value is true, the preference is visible in signup forms and preference centres."
                  default: true
                categoryID:
                  type: integer
                  description: "For preferences, the unique ID of the preference category that you want to add the preference to. Default for preferences: 0. Default for preference categories: null"
                  format: int32
            examples:
              Request Example:
                value:
                  id: 2
                  privateName: Preference name
                  publicName: Preference name
                  order: 1
                  isPublic: false
                  categoryId: 14
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: "{ \nid: 2,\npublicName: 'Preference name',\nprivateName: 'Preference name',\nisPreference: true,\norder: 1,\nisPublic: false,\ncategoryId: 14,\nlastModified: '2020-01-01T09:40:18.527Z'\n}"
          headers: {}
    delete:
      summary: Delete preference
      deprecated: false
      description: Deletes a preference or preference category by id
      operationId: delete-preference
      tags:
      - Preferences and subscriptions
      parameters:
      - name: id
        in: path
        description: ""
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            text/plain:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: Preference or category (and preferences) were deleted successfully
          headers: {}
  /preferences/modified-since/{date}:
    get:
      summary: Get modified preferences since date
      deprecated: false
      description: Gets all the preferences and preference categories that have been modified since a given date
      operationId: get-modified-preferences-since-date
      tags:
      - Preferences and subscriptions
      parameters:
      - name: date
        in: path
        description: "The start date from which you want to get modified preferences in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 8
                    publicName:
                      type: string
                      examples:
                      - Preferred contact method
                    privateName:
                      type: string
                      examples:
                      - Preferred contact method
                    isPreference2:
                      type: boolean
                      default: true
                      examples:
                      - false
                    order:
                      type: string
                      examples:
                      - "0"
                    isPublic:
                      type: boolean
                      default: true
                      examples:
                      - true
                    categoryId:
                      type: integer
                      default: 0
                      examples:
                      - 0
                    preferenceCount:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    created:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    lastModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    preferences:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            default: 0
                            examples:
                            - 9
                          publicName:
                            type: string
                            examples:
                            - Email
                          privateName:
                            type: string
                            examples:
                            - Email
                          isPreference:
                            type: boolean
                            default: true
                            examples:
                            - true
                          order:
                            type: string
                            examples:
                            - "0"
                          isPublic:
                            type: boolean
                            default: true
                            examples:
                            - true
                          categoryId:
                            type: integer
                            default: 0
                            examples:
                            - 8
                          preferenceCount:
                            type: integer
                            default: 0
                            examples:
                            - 0
                          created:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
                          lastModified:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 8
                    publicName: Preferred contact method
                    privateName: Preferred contact method
                    isPreference2: false
                    order: "0"
                    isPublic: true
                    categoryId: 0
                    preferenceCount: 2
                    created: 2020-01-01T09:40:18.527Z
                    lastModified: 2020-01-01T09:40:18.527Z
                    preferences:
                    - id: 9
                      publicName: Email
                      privateName: Email
                      isPreference: true
                      order: "0"
                      isPublic: true
                      categoryId: 8
                      preferenceCount: 0
                      created: 2020-01-01T09:40:18.527Z
                      lastModified: 2020-01-01T09:40:18.527Z
                    - id: 10
                      publicName: Push notifications
                      privateName: Push notifications
                      isPreference: true
                      order: "1"
                      isPublic: true
                      categoryId: 8
                      preferenceCount: 0
                      created: 2020-01-01T09:40:18.527Z
                      lastModified: 2020-01-01T09:40:18.527Z
                  - id: 21
                    publicName: Football
                    privateName: Football
                    isPreference: true
                    order: "2"
                    isPublic: true
                    categoryId: 0
                    preferenceCount: 0
                    created: 2020-01-01T09:40:18.527Z
                    lastModified: 2020-01-01T09:40:18.527Z
          headers: {}
  /contacts/{contactIdentifier}/preferences:
    put:
      summary: Set preferences for contact
      deprecated: false
      description: "Opts in a given contact to preferences, or opts out a given contact from preferences"
      operationId: set-preferences-for-contact
      tags:
      - Preferences and subscriptions
      parameters:
      - name: contactIdentifier
        in: path
        description: Either the contact id or email address of the contact
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                RAW_BODY:
                  type: array
                  description: An array of preference and preference category objects
                  items:
                    properties:
                      id:
                        type: integer
                        description: The id of the preference
                        format: int32
                      isPreference:
                        type: boolean
                        description: Boolean indicating if this is preference value or group of preference values
                      isOptedIn:
                        type: boolean
                        description: Whether the contact is opted into this preference or not
                    required:
                    - id
                    - isPreference
                    - isOptedIn
                    type: object
            examples:
              Request Example:
                value:
                - id: 14
                  isPreference: false
                  preferences:
                  - id: 26
                    isPreference: true
                    isOptedIn: true
                  - id: 19
                    isPreference: true
                    isOptedIn: false
                - id: 1027
                  isPreference: true
                  isOptedIn: true
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value:
                    value: ""
          headers: {}
    get:
      summary: Get preferences for contact
      deprecated: false
      description: Gets all preferences for the account and indicates those that a given contact is opted into
      operationId: get-preferences-for-contact
      tags:
      - Preferences and subscriptions
      parameters:
      - name: contactIdentifier
        in: path
        description: Either the contact id or email address of the contact
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 279
                    publicName:
                      type: string
                      examples:
                      - Camping
                    privateName:
                      type: string
                      examples:
                      - Camping
                    isPreference:
                      type: boolean
                      default: true
                      examples:
                      - false
                    order:
                      type: string
                      examples:
                      - "0"
                    isPublic:
                      type: boolean
                      default: true
                      examples:
                      - true
                    categoryId:
                      type: integer
                      default: 0
                      examples:
                      - 0
                    preferenceCount:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    created:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    lastModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    preferences:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            default: 0
                            examples:
                            - 278
                          publicName:
                            type: string
                            examples:
                            - Tents
                          privateName:
                            type: string
                            examples:
                            - Tents
                          isPreference:
                            type: boolean
                            default: true
                            examples:
                            - true
                          order:
                            type: string
                            examples:
                            - "0"
                          isPublic:
                            type: boolean
                            default: true
                            examples:
                            - true
                          categoryId:
                            type: integer
                            default: 0
                            examples:
                            - 279
                          preferenceCount:
                            type: integer
                            default: 0
                            examples:
                            - 0
                          created:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
                          lastModified:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
                          isOptedIn:
                            type: boolean
                            default: true
                            examples:
                            - true
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 279
                    publicName: Camping
                    privateName: Camping
                    isPreference: false
                    order: "0"
                    isPublic: true
                    categoryId: 0
                    preferenceCount: 2
                    created: 2020-01-01T09:40:18.527Z
                    lastModified: 2020-01-01T09:40:18.527Z
                    preferences:
                    - id: 278
                      publicName: Tents
                      privateName: Tents
                      isPreference: true
                      order: "0"
                      isPublic: true
                      categoryId: 279
                      preferenceCount: 0
                      created: 2020-01-01T09:40:18.527Z
                      lastModified: 2020-01-01T09:40:18.527Z
                      isOptedIn: true
                    - id: 281
                      publicName: Rucksacks
                      privateName: Rucksacks
                      isPreference: true
                      order: "1"
                      isPublic: true
                      categoryId: 279
                      preferenceCount: 0
                      created: 2020-01-01T09:40:18.527Z
                      lastModified: 2020-01-01T09:40:18.527Z
                      isOptedIn: false
          headers: {}
  /address-books/{addressBookId}/contacts/with-preference/{preferenceId}:
    get:
      summary: Get contacts opted into a preference and an address book
      deprecated: false
      description: Gets contacts who are opted into a given preference and a given address book
      operationId: get-contacts-opted-into-a-preference-and-an-address-book
      tags:
      - Lists / Address books
      parameters:
      - name: addressBookId
        in: path
        description: The ID of the address book to which contacts must belong.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: preferenceId
        in: path
        description: The ID of the preference to which contacts must be opted in.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: minContactID
        in: query
        description: "The minimum contact ID to query on, starting from 0"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    [
                    {
                    "id": 279,
                    "email": "joe.bloggs@emailsim.io"
                    },
                    {
                    "id": 99123,
                    "email": "joanne.bloggs@emailsim.io"
                    },
                    ]
          headers: {}
  /contacts/with-preference/{preferenceId}:
    get:
      summary: Get contacts opted into a preference
      deprecated: false
      description: Gets contacts who are opted into a given preference
      operationId: get-contacts-opted-into-a-preference
      tags:
      - Preferences and subscriptions
      parameters:
      - name: preferenceId
        in: path
        description: The ID of the preference to which contacts must be opted in.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: minContactID
        in: query
        description: "The minimum contact ID to query on, starting from 0"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 5
                    email:
                      type: string
                      examples:
                      - darryl.netherland@example.com
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 5
                    email: darryl.netherland@example.com
                  - id: 17
                    email: dora.judge@example.com
          headers: {}
  /contacts/with-preference/{preferenceId}/opt-ins-since/{date}:
    get:
      summary: Get contacts with modified preference opt-in since date
      deprecated: false
      description: Gets the top 1000 contacts who have had their specified preference opt-in status modified since a given date
      operationId: get-contacts-with-modified-preference-opt-in-since-date
      tags:
      - Preferences and subscriptions
      parameters:
      - name: preferenceId
        in: path
        description: The ID of the preference to which contacts must be opted in.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The earliest date that returned contacts must have modified their opt-in status for the preference in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: minContactID
        in: query
        description: "The minimum contact ID to query on, starting from 0"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contact:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 5
                        email:
                          type: string
                          examples:
                          - darryl.netherland@example.com
                        optInType:
                          type: string
                          examples:
                          - Single
                        emailType:
                          type: string
                          examples:
                          - Html
                        dataFields: {}
                        status:
                          type: string
                          examples:
                          - Subscribed
                    marketingPreferenceOptIns:
                      type: array
                      items:
                        type: object
                        properties:
                          marketingPreferenceId:
                            type: integer
                            default: 0
                            examples:
                            - 2
                          addressBookId:
                            type: integer
                            default: 0
                            examples:
                            - 421
                          isOptedIn:
                            type: boolean
                            default: true
                            examples:
                            - false
                          dateModifed:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contact:
                      id: 5
                      email: darryl.netherland@example.com
                      optInType: Single
                      emailType: Html
                      dataFields: null
                      status: Subscribed
                    marketingPreferenceOptIns:
                    - marketingPreferenceId: 2
                      addressBookId: 421
                      isOptedIn: false
                      dateModifed: 2020-01-01T09:40:18.527Z
                  - contact:
                      id: 12
                      email: dora.judge@example.com
                      optInType: Unknown
                      emailType: Html
                      dataFields: null
                      status: Subscribed
                    marketingPreferenceOptIns:
                    - marketingPreferenceId: 5
                      addressBookId: 395
                      isOptedIn: true
                      dateModifed: 2020-01-01T09:40:18.527Z
          headers: {}
  /address-books/{addressBookId}/contacts/with-preference/{preferenceId}/opt-ins-since/{date}:
    get:
      summary: Get contacts with modified preference opt-in in address book since date
      deprecated: false
      description: "Gets the top 1000 contacts who have had a specific preference opt-in status modified since a given date, in a given address book"
      operationId: get-contacts-with-modified-preference-opt-in-in-address-book-since-date
      tags:
      - Lists / Address books
      parameters:
      - name: addressBookId
        in: path
        description: The ID of the address book to which contacts must belong.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: preferenceId
        in: path
        description: The ID of the preference to which contacts must be opted in.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The earliest date that returned contacts must have modified their opt-in status for the preference in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: minContactID
        in: query
        description: "The minimum contact ID to query on, starting from 0"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contact:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 5
                        email:
                          type: string
                          examples:
                          - darryl.netherland@example.com
                        optInType:
                          type: string
                          examples:
                          - Single
                        emailType:
                          type: string
                          examples:
                          - Html
                        dataFields: {}
                        status:
                          type: string
                          examples:
                          - Subscribed
                    marketingPreferenceOptIns:
                      type: array
                      items:
                        type: object
                        properties:
                          marketingPreferenceId:
                            type: integer
                            default: 0
                            examples:
                            - 2
                          addressBookId:
                            type: integer
                            default: 0
                            examples:
                            - 421
                          isOptedIn:
                            type: boolean
                            default: true
                            examples:
                            - false
                          dateModifed:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contact:
                      id: 5
                      email: darryl.netherland@example.com
                      optInType: Single
                      emailType: Html
                      dataFields: null
                      status: Subscribed
                    marketingPreferenceOptIns:
                    - marketingPreferenceId: 2
                      addressBookId: 421
                      isOptedIn: false
                      dateModifed: 2020-01-01T09:40:18.527Z
                  - contact:
                      id: 12
                      email: dora.judge@example.com
                      optInType: Unknown
                      emailType: Html
                      dataFields: null
                      status: Subscribed
                    marketingPreferenceOptIns:
                    - marketingPreferenceId: 5
                      addressBookId: 395
                      isOptedIn: true
                      dateModifed: 2020-01-01T09:40:18.527Z
          headers: {}
  /segments:
    get:
      summary: Get segments
      deprecated: false
      description: Gets all segments
      operationId: get-segments
      tags:
      - Segments
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Test
                    contacts:
                      type: integer
                      default: 0
                      examples:
                      - 5
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Test
                    contacts: 5
                  - id: 2
                    name: Contacts who opened campaign X
                    contacts: 7
                  - id: 3
                    name: First Stream who have not opened a campaign
                    contacts: 7
                  - id: 4
                    name: Professionals who have opened a campaign
                    contacts: 6
          headers: {}
  /segments/refresh/{id}:
    post:
      summary: Refresh segment
      deprecated: false
      description: Refreshes a segment by ID
      operationId: refresh-segment
      tags:
      - Segments
      parameters:
      - name: id
        in: path
        description: The ID of the segment you want to refresh.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  status:
                    type: string
                    examples:
                    - NotStarted
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    status: NotStarted
          headers: {}
    get:
      summary: Get refresh progress for segment
      deprecated: false
      description: Gets the refresh progress for a segment
      operationId: get-refresh-progress-for-segment
      tags:
      - Segments
      parameters:
      - name: id
        in: path
        description: The ID of the segment you want to get the refresh progress for.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  status:
                    type: string
                    examples:
                    - Finished
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    status: Finished
          headers: {}
  /contacts/score:
    get:
      summary: Get scoring for contacts
      deprecated: false
      description: Gets contact scoring for all contacts in the account
      operationId: get-scoring-for-contacts
      tags:
      - Scoring
      parameters:
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    email:
                      type: string
                      examples:
                      - sara.holst@example.com
                    dateModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    scoreLabel:
                      type: string
                      examples:
                      - Cool
                    score:
                      type: integer
                      default: 0
                      examples:
                      - 20
                    engagement:
                      type: integer
                      default: 0
                      examples:
                      - 10
                    suitability:
                      type: integer
                      default: 0
                      examples:
                      - 30
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 1
                    email: sara.holst@example.com
                    dateModified: 2020-01-01T09:40:18.527Z
                    scoreLabel: Cool
                    score: 20
                    engagement: 10
                    suitability: 30
                  - contactId: 2
                    email: tiffany.valverde@example.com
                    dateModified: 2020-01-01T09:40:18.527Z
                    scoreLabel: Cold
                    score: 2
                    engagement: 1
                    suitability: 3
          headers: {}
  /contacts/score/modified-since/{date}:
    get:
      summary: Get scoring modified since date for contacts
      deprecated: false
      description: Gets contacts whose contact scoring data has been modified since a given date
      operationId: get-scoring-modified-since-date-for-contacts
      tags:
      - Scoring
      parameters:
      - name: date
        in: path
        description: "The date from which any modified contact scoring data will be returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    email:
                      type: string
                      examples:
                      - sara.holst@example.com
                    dateModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    scoreLabel:
                      type: string
                      examples:
                      - Cool
                    score:
                      type: integer
                      default: 0
                      examples:
                      - 20
                    engagement:
                      type: integer
                      default: 0
                      examples:
                      - 10
                    suitability:
                      type: integer
                      default: 0
                      examples:
                      - 30
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 1
                    email: sara.holst@example.com
                    dateModified: 2020-01-01T09:40:18.527Z
                    scoreLabel: Cool
                    score: 20
                    engagement: 10
                    suitability: 30
                  - contactId: 2
                    email: tiffany.valverde@example.com
                    dateModified: 2020-01-01T09:40:18.527Z
                    scoreLabel: Cold
                    score: 2
                    engagement: 1
                    suitability: 3
          headers: {}
  /contacts/{contactIdentifier}/score:
    get:
      summary: Get scoring for contact
      deprecated: false
      description: Gets contact scoring for a contact
      operationId: get-scoring-for-contact-by-email
      tags:
      - Scoring
      parameters:
      - name: contactIdentifier
        in: path
        description: Either the contact id or email address of the contact
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contactId:
                    type: integer
                    default: 0
                    examples:
                    - 3
                  email:
                    type: string
                    examples:
                    - nelson.redeker@example.com
                  dateModified:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  scoreLabel:
                    type: string
                    examples:
                    - Hot
                  score:
                    type: integer
                    default: 0
                    examples:
                    - 80
                  engagement:
                    type: integer
                    default: 0
                    examples:
                    - 70
                  suitability:
                    type: integer
                    default: 0
                    examples:
                    - 90
              examples:
                Result:
                  summary: Result
                  value:
                    contactId: 3
                    email: nelson.redeker@example.com
                    dateModified: 2020-01-01T09:40:18.527Z
                    scoreLabel: Hot
                    score: 80
                    engagement: 70
                    suitability: 90
          headers: {}
  /address-books/{id}/contacts/score:
    get:
      summary: Get scoring for contacts in address book
      deprecated: false
      description: Gets contact scoring for contacts within a specific address book or segment
      operationId: get-scoring-for-contacts-in-address-book
      tags:
      - Scoring
      parameters:
      - name: id
        in: path
        description: The id of the address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    email:
                      type: string
                      examples:
                      - sara.holst@example.com
                    dateModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    scoreLabel:
                      type: string
                      examples:
                      - Cool
                    score:
                      type: integer
                      default: 0
                      examples:
                      - 20
                    engagement:
                      type: integer
                      default: 0
                      examples:
                      - 10
                    suitability:
                      type: integer
                      default: 0
                      examples:
                      - 30
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 1
                    email: sara.holst@example.com
                    dateModified: 2020-01-01T09:40:18.527Z
                    scoreLabel: Cool
                    score: 20
                    engagement: 10
                    suitability: 30
                  - contactId: 2
                    email: tiffany.valverde@example.com
                    dateModified: 2020-01-01T09:40:18.527Z
                    scoreLabel: Cold
                    score: 2
                    engagement: 1
                    suitability: 3
          headers: {}
  /campaigns:
    post:
      summary: Create campaign
      deprecated: false
      description: Creates a campaign
      operationId: create-campaign
      tags:
      - Email Campaigns
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - subject
              - fromName
              - htmlContent
              - plainTextContent
              properties:
                name:
                  type: string
                  description: The name of the campaign being created
                  maxLength: 255
                subject:
                  type: string
                  description: The email subject line of the campaign
                fromName:
                  type: string
                  description: The from name of the campaign
                fromAddress:
                  type: object
                  description: "The registered custom from address you wish to use. Note: Specify either email or id and if not specified, the default fromAddress for the account is used."
                  properties:
                    email:
                      type: string
                      description: The registered sender to use by email address
                    id:
                      type: integer
                      description: The registered sender to use by id
                      format: int32
                htmlContent:
                  type: string
                  description: The HTML content of the campaign.
                plainTextContent:
                  type: string
                  description: The plain text content of the campaign
                replyAction:
                  type: string
                  description: The required action to be taken when a reply to the campaign is sent by the recipient
                replyToAddress:
                  type: string
                  description: The email address that you would like replies to be forwarded to
                type:
                  type: string
                  description: Choose a campaign type. Options are "Standard" or "Triggered". Omitting or adding any abnormal value defaults to Standard.
                  default: Standard
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    {
                    "id": 6302600,
                    "name": "New product promotion 2",
                    "subject": "New product!",
                    "fromName": "Company name",
                    "fromAddress": {
                    "id": 133618,
                    "email": "products@mycompany.com"
                    },
                    "htmlContent": "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n  <tbody>\r\n    <tr>\r\n      <td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n        <table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n          <tbody>\r\n            <tr>\r\n              <td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n                <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n                  <tbody>\r\n                    <tr>\r\n                      <td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n                    </tr>\r\n                  </tbody>\r\n                </table>\r\n              </td>\r\n            </tr>\r\n          </tbody>\r\n        </table>\r\n      </td>\r\n    </tr>\r\n  </tbody>\r\n</table>",
                    "plainTextContent": "\r\n\r\n---\r\nWant to unsubscribe? $UNSUB$",
                    "replyAction": "Unset",
                    "replyToAddress": "",
                    "isSplitTest": false,
                    "status": "Unsent"
                    "type": "Standard"
                    }
          headers: {}
    get:
      summary: Get all campaigns
      deprecated: true
      description: Gets all campaigns
      operationId: get-all-campaigns
      tags:
      - Email Campaigns
      parameters:
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set."
        required: false
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    name:
                      type: string
                      examples:
                      - Financial update
                    subject:
                      type: string
                      examples:
                      - Financial update
                    fromName:
                      type: string
                      examples:
                      - Company name
                    fromAddress:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 2
                        email:
                          type: string
                          examples:
                          - demo@apiconnector.com
                    htmlContent: {}
                    plainTextContent: {}
                    replyAction:
                      type: string
                      examples:
                      - Unset
                    replyToAddress: {}
                    isSplitTest:
                      type: boolean
                      default: true
                      examples:
                      - false
                    status:
                      type: string
                      examples:
                      - Unsent
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 2
                    name: Financial update
                    subject: Financial update
                    fromName: Company name
                    fromAddress:
                      id: 2
                      email: demo@apiconnector.com
                    htmlContent: null
                    plainTextContent: null
                    replyAction: Unset
                    replyToAddress: null
                    isSplitTest: false
                    status: Unsent
                  - id: 4
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    fromAddress:
                      id: 1
                      email: demo@apiconnector.com
                    htmlContent: null
                    plainTextContent: null
                    replyAction: WebMailForward
                    replyToAddress: demo@apiconnector.com
                    isSplitTest: false
                    status: Sent
          headers: {}
  /campaigns/split-test:
    post:
      summary: Create split test campaign
      deprecated: false
      description: Creates a split test campaign
      operationId: create-split-test-campaign
      tags:
      - Email Campaigns
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: The name of the campaign being created
                subjects:
                  type: array
                  description: The name of the split test campaign being created
                  items:
                    type: string
                fromNames:
                  type: array
                  description: The from names to be split tested on
                  items:
                    type: string
                fromAddresses:
                  type: array
                  description: The emails of existing custom from addresses to be split tested on
                  items:
                    properties:
                      email:
                        type: string
                        description: The from email address
                    required:
                    - email
                    type: object
                htmlContents:
                  type: array
                  description: "The HTML contents of the campaign that lies between the opening <body> and the closing </body> only (the <body> tags themselves should not be used), to be split tested on"
                  items:
                    type: string
                plainTextContents:
                  type: array
                  description: "The plain text contents of the campaign, to be split tested on"
                  items:
                    type: string
                replyAction:
                  type: string
                  description: The required action to be taken when a reply to the campaign is sent by the recipient
                  enum:
                  - Unset
                  - WebMailForward
                  - Webmail
                  - Delete
                replyToAddress:
                  type: string
                  description: The email address that you would like replies to be forwarded to
            examples:
              Request Example:
                value:
                  name: Split Test Campaign
                  subjects:
                  - My subject variation A
                  - My subject variation B
                  - My subject variation C
                  fromNames:
                  - My name variation A
                  - My name variation B
                  - My name variation C
                  fromAddresses:
                  - email: hello@my-domain.com
                  - email: hello@my-other-domain.com
                  - email: hello@my-experimental-domain.com
                  htmlContents:
                  - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Don't want to hear from us?</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Remove me from this list</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContents:
                  - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  - "\r\n\n---\r\nDon't want to hear from us? $UNSUB$"
                  - "\r\n\n---\r\nRemove me from this list $UNSUB$"
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - Split Test Campaign
                  subjects:
                    type: array
                    items:
                      type: string
                      examples:
                      - My subject variation A
                  fromNames:
                    type: array
                    items:
                      type: string
                      examples:
                      - My name variation A
                  fromAddresses:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 1
                        email:
                          type: string
                          examples:
                          - hello@my-domain.com
                  htmlContents:
                    type: array
                    items:
                      type: string
                      examples:
                      - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContents:
                    type: array
                    items:
                      type: string
                      examples:
                      - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ""
                  status:
                    type: string
                    examples:
                    - Unsent
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: Split Test Campaign
                    subjects:
                    - My subject variation A
                    - My subject variation B
                    - My subject variation C
                    fromNames:
                    - My name variation A
                    - My name variation B
                    - My name variation C
                    fromAddresses:
                    - id: 1
                      email: hello@my-domain.com
                    - id: 2
                      email: hello@my-other-domain.com
                    - id: 3
                      email: hello@my-experimental-domain.com
                    htmlContents:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Don't want to hear from us?</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Remove me from this list</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContents:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    - "\r\n\n---\r\nDon't want to hear from us? $UNSUB$"
                    - "\r\n\n---\r\nRemove me from this list $UNSUB$"
                    replyAction: Unset
                    replyToAddress: ""
                    status: Unsent
          headers: {}
  /campaigns/{id}:
    put:
      summary: Update campaign
      deprecated: false
      description: Updates a given campaign
      operationId: update-campaign
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign to be updated
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the campaign being created
                subject:
                  type: string
                  description: The email subject line of the campaign
                fromName:
                  type: string
                  description: The from name of the campaign
                htmlContent:
                  type: string
                  description: The HTML content of the campaign that lies between the opening <body> and the closing </body> only (the <body> tags themselves should not be used)
                plainTextContent:
                  type: string
                  description: The plain text content of the campaign
            examples:
              Request Example:
                value:
                  name: New product promotion 2
                  subject: Check out our newest product!
                  fromName: Company name
                  htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - New product promotion 2
                  subject:
                    type: string
                    examples:
                    - Check out our newest product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  fromAddress:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 133618
                      email:
                        type: string
                        examples:
                        - products@mycompany.com
                  htmlContent:
                    type: string
                    examples:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent:
                    type: string
                    examples:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ""
                  isSplitTest:
                    type: boolean
                    default: true
                    examples:
                    - false
                  status:
                    type: string
                    examples:
                    - Unsent
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: New product promotion 2
                    subject: Check out our newest product!
                    fromName: Company name
                    fromAddress:
                      id: 133618
                      email: products@mycompany.com
                    htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    replyAction: Unset
                    replyToAddress: ""
                    isSplitTest: false
                    status: Unsent
          headers: {}
    delete:
      summary: Delete campaign
      deprecated: false
      description: Deletes a campaign
      operationId: delete-campaign
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
    get:
      summary: Get campaign
      deprecated: false
      description: Gets a campaign by ID
      operationId: get-campaign
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 6302600
                  name:
                    type: string
                    examples:
                    - New product promotion 2
                  subject:
                    type: string
                    examples:
                    - New product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  fromAddress:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 133618
                      email:
                        type: string
                        examples:
                        - products@mycompany.com
                  htmlContent:
                    type: string
                    examples:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent:
                    type: string
                    examples:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ""
                  isSplitTest:
                    type: boolean
                    default: true
                    examples:
                    - false
                  status:
                    type: string
                    examples:
                    - Unsent
              examples:
                Result:
                  summary: Result
                  value:
                    id: 6302600
                    name: New product promotion 2
                    subject: New product!
                    fromName: Company name
                    fromAddress:
                      id: 133618
                      email: products@mycompany.com
                    htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    replyAction: Unset
                    replyToAddress: ""
                    isSplitTest: false
                    status: Unsent
          headers: {}
  /campaigns/{id}/copy:
    post:
      summary: Copy campaign
      deprecated: false
      description: "Copies a given campaign, returning the new campaign"
      operationId: copy-campaign
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 6303192
                  name:
                    type: string
                    examples:
                    - Copy of New product promotion 2
                  subject:
                    type: string
                    examples:
                    - New product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  fromAddress:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 133618
                      email:
                        type: string
                        examples:
                        - products@mycompany.com
                  htmlContent:
                    type: string
                    examples:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent:
                    type: string
                    examples:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ""
                  isSplitTest:
                    type: boolean
                    default: true
                    examples:
                    - false
                  status:
                    type: string
                    examples:
                    - Unsent
              examples:
                Result:
                  summary: Result
                  value:
                    id: 6303192
                    name: Copy of New product promotion 2
                    subject: New product!
                    fromName: Company name
                    fromAddress:
                      id: 133618
                      email: products@mycompany.com
                    htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    replyAction: Unset
                    replyToAddress: ""
                    isSplitTest: false
                    status: Unsent
          headers: {}
  /campaigns/send:
    post:
      summary: Send campaign
      deprecated: false
      description: "Sends a specified campaign to one or more address books, segments or contacts, either as an immediate or scheduled send"
      operationId: send-campaign
      tags:
      - Email Campaigns
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                campaignID:
                  type: integer
                  description: The ID of the campaign
                  format: int32
                addressBookIDs:
                  type: array
                  description: The array of address book IDs the campaign is to be sent to. This can be just one address book ID if required. You can also use a segment ID if you want to send a segment.
                  items:
                    type: integer
                    format: int32
                contactIDs:
                  type: array
                  description: The array of contact IDs the campaign is to be sent to. This can be just one contact ID if required.
                  items:
                    type: integer
                    format: int32
                sendDate:
                  type: string
                  description: The date and time at which you want the campaign to be sent
                  format: date
                splitTestOptions:
                  type: object
                  description: The split test options
                  properties:
                    testMetric:
                      type: string
                      description: The metric to be used to calculate the success rate
                      enum:
                      - Opens
                      - Clicks
                      - ROI
                    testPercentage:
                      type: integer
                      description: The percentage of recipients to send the two versions of the campaign to before a winner is chosen
                      format: int32
                    testPeriodHours:
                      type: integer
                      description: The number of hours to run the test over before choosing a winning version of the campaign
                      format: int32
            examples:
              Request Example:
                value:
                  campaignId: 1
                  contactIds:
                  - 1
                  sendDate: 2015-10-31T00:00:00
                  splitTestOptions:
                    TestMetric: Opens
                    TestPercentage: 50
                    TestPeriodHours: 5
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - e8224c2b-a670-461e-b060-4ec776e9e7c2
                  campaignId:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  addressBookIds: {}
                  contactIds:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  sendDate:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  splitTestOptions:
                    type: object
                    properties:
                      TestMetric:
                        type: string
                        examples:
                        - Opens
                      TestPercentage:
                        type: integer
                        default: 0
                        examples:
                        - 50
                      TestPeriodHours:
                        type: integer
                        default: 0
                        examples:
                        - 5
                  status:
                    type: string
                    examples:
                    - Sending
              examples:
                Result:
                  summary: Result
                  value:
                    id: e8224c2b-a670-461e-b060-4ec776e9e7c2
                    campaignId: 1
                    addressBookIds: null
                    contactIds: 1
                    sendDate: 2020-01-01T09:40:18.527Z
                    splitTestOptions:
                      TestMetric: Opens
                      TestPercentage: 50
                      TestPeriodHours: 5
                    status: Sending
          headers: {}
  /campaigns/send-time-optimised:
    post:
      summary: Send time optimised campaign
      deprecated: false
      description: "Sends a specified campaign to one or more address books, segments or contacts at the most appropriate time based upon their previous opens"
      operationId: send-time-optimised-campaign
      tags:
      - Email Campaigns
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                campaignID:
                  type: integer
                  description: The ID of the campaign
                  format: int32
                addressBookIDs:
                  type: array
                  description: The array of address book IDs the campaign is to be sent to. This can be just one address book ID if required.
                  items:
                    type: integer
                    format: int32
                contactIDs:
                  type: array
                  description: The array of contact IDs the campaign is to be sent to. This can be just one contact ID if required.
                  items:
                    type: integer
                    format: int32
            examples:
              Request Example:
                value:
                  campaignId: 1
                  addressBookIds:
                  - 1
                  - 2
                  - 3
                  contactIds:
                  - 1
                  - 2
                  - 3
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - f415abb9-e98a-4f58-b136-795e69d6d2a0
                  campaignId:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  addressBookIds: {}
                  contactIds: {}
                  sendDate:
                    type: string
                    examples:
                    - 2020-02-24T13:06:42.933Z
                  splitTestOptions: {}
                  status:
                    type: string
                    examples:
                    - NotSent
              examples:
                Result:
                  summary: Result
                  value:
                    id: f415abb9-e98a-4f58-b136-795e69d6d2a0
                    campaignId: 1
                    addressBookIds: null
                    contactIds: null
                    sendDate: 2020-02-24T13:06:42.933Z
                    splitTestOptions: null
                    status: NotSent
          headers: {}
  /campaigns/send/{id}:
    get:
      summary: Get campaign send status
      deprecated: false
      description: Gets a campaign send status using send ID
      operationId: get-campaign-send-status
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: "The send ID of the send campaign call. The send ID is a GUID, it looks like: 842d81e8-c619-457f-bb77-ab6c4a17da39."
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - 842d81e8-c619-457f-bb77-ab6c4a17da39
                  campaignId:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  addressBookIds: {}
                  contactIds: {}
                  sendDate:
                    type: string
                    examples:
                    - 2020-02-24T13:06:42.933Z
                  splitTestOptions: {}
                  status:
                    type: string
                    examples:
                    - Sent
              examples:
                Result:
                  summary: Result
                  value:
                    id: 842d81e8-c619-457f-bb77-ab6c4a17da39
                    campaignId: 1
                    addressBookIds: null
                    contactIds: null
                    sendDate: 2020-02-24T13:06:42.933Z
                    splitTestOptions: null
                    status: Sent
          headers: {}
  /campaigns/{campaignID}/attachments:
    post:
      summary: Add campaign attachment
      deprecated: false
      description: Adds a document to a campaign as an attachment
      operationId: add-campaign-attachment
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: The ID of the document
                  format: int32
                name:
                  type: string
                  description: The name of the document
                fileName:
                  type: string
                  description: The file name (path) of the document
                fileSize:
                  type: string
                  description: The size in bytes of the document
                dateCreated:
                  type: string
                  description: The date and time the document was first uploaded to the system
                dateModified:
                  type: string
                  description: The date and time the document was last modified within the system
            examples:
              Request Example:
                value:
                  id: 3
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 3
                  name:
                    type: string
                    examples:
                    - Directions to Conference.pdf
                  fileName:
                    type: string
                    examples:
                    - /cmpdoc/5/0/7/4/7/files/3_directions-to-conference.pdf
                  fileSize:
                    type: integer
                    default: 0
                    examples:
                    - 24225
                  dateCreated:
                    type: string
                    examples:
                    - 2020-02-24T13:06:42.933Z
                  dateModified:
                    type: string
                    examples:
                    - 2020-02-24T13:06:42.933Z
              examples:
                Result:
                  summary: Result
                  value:
                    id: 3
                    name: Directions to Conference.pdf
                    fileName: /cmpdoc/5/0/7/4/7/files/3_directions-to-conference.pdf
                    fileSize: 24225
                    dateCreated: 2020-02-24T13:06:42.933Z
                    dateModified: 2020-02-24T13:06:42.933Z
          headers: {}
    get:
      summary: Get campaign attachments
      deprecated: false
      description: Gets documents that are currently attached to a campaign
      operationId: get-campaign-attachments
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    name:
                      type: string
                      examples:
                      - Conference schedule.pdf
                    fileName:
                      type: string
                      examples:
                      - /cmpdoc/5/0/7/4/7/files/1_conference-schedule.pdf
                    fileSize:
                      type: integer
                      default: 0
                      examples:
                      - 24225
                    dateCreated:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    dateModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 2
                    name: Conference schedule.pdf
                    fileName: /cmpdoc/5/0/7/4/7/files/1_conference-schedule.pdf
                    fileSize: 24225
                    dateCreated: 2020-01-01T09:40:18.527Z
                    dateModified: 2020-01-01T09:40:18.527Z
                  - id: 3
                    name: Directions to Conference.pdf
                    fileName: /cmpdoc/5/0/7/4/7/files/2_directions-to-conference.pdf
                    fileSize: 24225
                    dateCreated: 2020-02-24T13:06:42.933Z
                    dateModified: 2020-02-24T13:06:42.933Z
          headers: {}
  /campaigns/{campaignID}/attachments/{documentID}:
    delete:
      summary: Remove campaign attachment
      deprecated: false
      description: Removes an attachment from a campaign
      operationId: remove-campaign-attachment
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: documentID
        in: path
        description: The ID of the document
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
  /campaigns/filtered:
    get:
      summary: Get all campaigns (with filters)
      deprecated: false
      description: "Gets all campaigns, with optional filtering."
      operationId: get-all-campaigns-with-filters
      tags:
      - Email Campaigns
      parameters:
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. To select the next 1000 records, set the select parameter to 1000 and the skip parameter to 1000, which returns records 1001 to 2000. Continue to do this until 0 records are returned to retrieve the whole data set."
        required: false
        schema:
          type: integer
          format: int32
      - name: "~type"
        in: query
        description: Filter to a specific type of email campaign.
        required: false
        schema:
          type: string
          enum:
          - Standard
          - Triggered
      - name: "~tags"
        in: query
        description: Filter to campaigns with the specified tags; all tags listed must be assigned to the campaign to be included.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: "~sentDate"
        in: query
        description: Filter for campaigns sent on or after the specified date-time in UTC ISO-8601 format.
        required: false
        schema:
          type: string
          format: date
      - name: "~statuses"
        in: query
        description: "Filter by campaign statuses: `Unsent`, `Sent`, `Sending`, `Paused`, `Cancelled`, `RequiresWorkflowApproval`"
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    name:
                      type: string
                      examples:
                      - New product promotion
                    subject:
                      type: string
                      examples:
                      - New product!
                    fromName:
                      type: string
                      examples:
                      - Company name
                    fromAddress:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 1
                        email:
                          type: string
                          examples:
                          - demo@apiconnector.com
                    htmlContent: {}
                    plainTextContent: {}
                    replyAction:
                      type: string
                      examples:
                      - WebMailForward
                    replyToAddress:
                      type: string
                      examples:
                      - demo@apiconnector.com
                    isSplitTest:
                      type: boolean
                      default: true
                      examples:
                      - false
                    status:
                      type: string
                      examples:
                      - Sent
                    type:
                      type: string
                      examples:
                      - Triggered
                    tags:
                      type: array
                      items:
                        type: string
                        examples:
                        - re-engagement
                    sentDate:
                      type: string
                      examples:
                      - 2025-01-01T09:40:18.00Z
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 2
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    fromAddress:
                      id: 1
                      email: demo@apiconnector.com
                    htmlContent: null
                    plainTextContent: null
                    replyAction: WebMailForward
                    replyToAddress: demo@apiconnector.com
                    isSplitTest: false
                    status: Sent
                    type: Triggered
                    tags:
                    - re-engagement
                    - lapsed
                    sentDate: 2025-01-01T09:40:18.00Z
                  - id: 3
                    name: Financial update
                    subject: Financial update
                    fromName: Company name
                    fromAddress:
                      id: 2
                      email: demo@apiconnector.com
                    htmlContent: null
                    plainTextContent: null
                    replyAction: Unset
                    replyToAddress: null
                    isSplitTest: false
                    status: Unsent
                    type: Standard
                    tags: []
                    sentDate: null
          headers: {}
        "400":
          description: "400"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value:
                    value: ""
          headers: {}
        "401":
          description: "401"
          content:
            text/plain:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    {
                    "value": ""
                    }
          headers: {}
  /address-books/{id}/campaigns:
    get:
      summary: Get campaigns sent to address book or segment
      deprecated: false
      description: Gets any campaigns that have been sent to an address book or a segment
      operationId: get-campaigns-sent-to-address-book-or-segment
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The ID of the address book or segment
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: he select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request. This parameter goes within the URL.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set."
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Monthly newsletter Dec 2015
                    subject:
                      type: string
                      examples:
                      - Monthly newsletter
                    fromName:
                      type: string
                      examples:
                      - Company name
                    fromAddress:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 1
                        email:
                          type: string
                          examples:
                          - demo@apiconnector.com
                    htmlContent: {}
                    plainTextContent: {}
                    replyAction:
                      type: string
                      examples:
                      - Unset
                    replyToAddress: {}
                    isSplitTest:
                      type: boolean
                      default: true
                      examples:
                      - false
                    status:
                      type: string
                      examples:
                      - Sent
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Monthly newsletter Dec 2015
                    subject: Monthly newsletter
                    fromName: Company name
                    fromAddress:
                      id: 1
                      email: demo@apiconnector.com
                    htmlContent: null
                    plainTextContent: null
                    replyAction: Unset
                    replyToAddress: null
                    isSplitTest: false
                    status: Sent
                  - id: 4
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    fromAddress:
                      id: 1
                      email: demo@apiconnector.com
                    htmlContent: null
                    plainTextContent: null
                    replyAction: WebMailForward
                    replyToAddress: demo@apiconnector.com
                    isSplitTest: false
                    status: Sent
          headers: {}
  /campaigns/{id}/with-details:
    get:
      summary: Get campaign with details
      deprecated: false
      description: "Gets a campaign by ID, along with all its details"
      operationId: get-campaign-with-details
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - New product promotion 2
                  subject:
                    type: string
                    examples:
                    - New product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  fromAddress:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 133618
                      email:
                        type: string
                        examples:
                        - products@mycompany.com
                  htmlContent:
                    type: string
                    examples:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent:
                    type: string
                    examples:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ""
                  isSplitTest:
                    type: boolean
                    default: true
                    examples:
                    - true
                  status:
                    type: string
                    examples:
                    - Unsent
                  type:
                    type: string
                    examples:
                    - Standard
                  tags:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          examples:
                          - Product
                  splitTestOptions:
                    type: array
                    items:
                      type: string
                      examples:
                      - Subject
                  sentDate:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: New product promotion 2
                    subject: New product!
                    fromName: Company name
                    fromAddress:
                      id: 133618
                      email: products@mycompany.com
                    htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    replyAction: Unset
                    replyToAddress: ""
                    isSplitTest: true
                    status: Unsent
                    type: Standard
                    tags:
                    - name: Product
                    - name: Promotion
                    splitTestOptions:
                    - Subject
                    - FromAddress
                    - FromName
                    - Html
                    - PlainText
                    sentDate: 2020-01-01T09:40:18.527Z
          headers: {}
  /campaigns/{id}/summary:
    get:
      summary: Get campaign summary
      deprecated: false
      description: Gets a summary of reporting information for a specified campaign
      operationId: get-campaign-summary
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  dateSent:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  numUniqueOpens:
                    type: integer
                    default: 0
                    examples:
                    - 3
                  numUniqueTextOpens:
                    type: integer
                    default: 0
                    examples:
                    - 10
                  numTotalUniqueOpens:
                    type: integer
                    default: 0
                    examples:
                    - 13
                  numOpens:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  numTextOpens:
                    type: integer
                    default: 0
                    examples:
                    - 14
                  numTotalOpens:
                    type: integer
                    default: 0
                    examples:
                    - 18
                  numClicks:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numTextClicks:
                    type: integer
                    default: 0
                    examples:
                    - 8
                  numTotalClicks:
                    type: integer
                    default: 0
                    examples:
                    - 9
                  numPageViews:
                    type: integer
                    default: 0
                    examples:
                    - 6
                  numTotalPageViews:
                    type: integer
                    default: 0
                    examples:
                    - 33
                  numTextPageViews:
                    type: integer
                    default: 0
                    examples:
                    - 27
                  numForwards:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numTextForwards:
                    type: integer
                    default: 0
                    examples:
                    - 8
                  numEstimatedForwards:
                    type: integer
                    default: 0
                    examples:
                    - 6
                  numTextEstimatedForwards:
                    type: integer
                    default: 0
                    examples:
                    - 27
                  numTotalEstimatedForwards:
                    type: integer
                    default: 0
                    examples:
                    - 33
                  numReplies:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  numTextReplies:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  numTotalReplies:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  numHardBounces:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numTextHardBounces:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  numTotalHardBounces:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numSoftBounces:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numTextSoftBounces:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  numTotalSoftBounces:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numUnsubscribes:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numTextUnsubscribes:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  numTotalUnsubscribes:
                    type: integer
                    default: 0
                    examples:
                    - 3
                  numIspComplaints:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numTextIspComplaints:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  numTotalIspComplaints:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numMailBlocks:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  numTextMailBlocks:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  numTotalMailBlocks:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  numSent:
                    type: integer
                    default: 0
                    examples:
                    - 6
                  numTextSent:
                    type: integer
                    default: 0
                    examples:
                    - 12
                  numTotalSent:
                    type: integer
                    default: 0
                    examples:
                    - 18
                  numRecipientsClicked:
                    type: integer
                    default: 0
                    examples:
                    - 9
                  numDelivered:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  numTextDelivered:
                    type: integer
                    default: 0
                    examples:
                    - 12
                  numTotalDelivered:
                    type: integer
                    default: 0
                    examples:
                    - 16
                  percentageDelivered:
                    type: number
                    default: 0
                    examples:
                    - 0.8888888888888888
                  percentageUniqueOpens:
                    type: number
                    default: 0
                    examples:
                    - 0.8125
                  percentageOpens:
                    type: number
                    default: 0
                    examples:
                    - 1.125
                  percentageUnsubscribes:
                    type: number
                    default: 0
                    examples:
                    - 0.1875
                  percentageReplies:
                    type: number
                    default: 0
                    examples:
                    - 0.25
                  percentageHardBounces:
                    type: number
                    default: 0
                    examples:
                    - 0.05555555555555555
                  percentageSoftBounces:
                    type: number
                    default: 0
                    examples:
                    - 0.0625
                  percentageUsersClicked:
                    type: number
                    default: 0
                    examples:
                    - 0.5625
                  percentageClicksToOpens:
                    type: number
                    default: 0
                    examples:
                    - 0.5
                  revenue:
                    type: string
                    examples:
                    - $0.00
                  conversionRate:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  assistedRevenue:
                    type: string
                    examples:
                    - $0.00
                  numOrders:
                    type: integer
                    default: 0
                    examples:
                    - 0
              examples:
                Result:
                  summary: Result
                  value:
                    dateSent: 2020-01-01T09:40:18.527Z
                    numUniqueOpens: 3
                    numUniqueTextOpens: 10
                    numTotalUniqueOpens: 13
                    numOpens: 4
                    numTextOpens: 14
                    numTotalOpens: 18
                    numClicks: 1
                    numTextClicks: 8
                    numTotalClicks: 9
                    numPageViews: 6
                    numTotalPageViews: 33
                    numTextPageViews: 27
                    numForwards: 1
                    numTextForwards: 8
                    numEstimatedForwards: 6
                    numTextEstimatedForwards: 27
                    numTotalEstimatedForwards: 33
                    numReplies: 2
                    numTextReplies: 2
                    numTotalReplies: 4
                    numHardBounces: 1
                    numTextHardBounces: 0
                    numTotalHardBounces: 1
                    numSoftBounces: 1
                    numTextSoftBounces: 0
                    numTotalSoftBounces: 1
                    numUnsubscribes: 1
                    numTextUnsubscribes: 2
                    numTotalUnsubscribes: 3
                    numIspComplaints: 1
                    numTextIspComplaints: 0
                    numTotalIspComplaints: 1
                    numMailBlocks: 0
                    numTextMailBlocks: 0
                    numTotalMailBlocks: 0
                    numSent: 6
                    numTextSent: 12
                    numTotalSent: 18
                    numRecipientsClicked: 9
                    numDelivered: 4
                    numTextDelivered: 12
                    numTotalDelivered: 16
                    percentageDelivered: 0.8888888888888888
                    percentageUniqueOpens: 0.8125
                    percentageOpens: 1.125
                    percentageUnsubscribes: 0.1875
                    percentageReplies: 0.25
                    percentageHardBounces: 0.05555555555555555
                    percentageSoftBounces: 0.0625
                    percentageUsersClicked: 0.5625
                    percentageClicksToOpens: 0.5
                    revenue: $0.00
                    conversionRate: 0
                    assistedRevenue: $0.00
                    numOrders: 0
          headers: {}
  /campaigns/{id}/opens:
    get:
      summary: Get campaign opens
      deprecated: false
      description: Gets a list of campaign opens
      operationId: get-campaign-opens
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set."
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    [
                    {
                    "contactId": 9,
                    "email": "carlene.eggebrecht@example.com",
                    "mailClient": "BlackBerry",
                    "mailClientVersion": "BlackBerry 9520",
                    "ipAddress": "192.168.51.126",
                    "userAgent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)",
                    "isHtml": false,
                    "isForward": false,
                    "dateOpened": "2020-01-01T09:40:18.00Z"
                    },

                    {
                    "contactId": 11,
                    "email": "shawn.lemley@example.com",
                    "mailClient": "Thunderbird",
                    "mailClientVersion": "Thunderbird 17",
                    "ipAddress": "192.168.123.27",
                    "userAgent": "BlackBerry8100/4.2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/123",
                    "isHtml": false,
                    "isForward": false,
                    "dateOpened": "2020-01-01T09:40:18.00Z"
                    },
                    ]
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}/opens:
    get:
      summary: Get campaign opens for a contact
      deprecated: false
      description: Gets a list of campaign opens for a contact
      operationId: get-campaign-opens-for-a-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: The ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set."
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    mailClient:
                      type: string
                      examples:
                      - AOL
                    mailClientVersion:
                      type: string
                      examples:
                      - AOL 1
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.247.62
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    isHtml:
                      type: boolean
                      default: true
                      examples:
                      - false
                    isForward:
                      type: boolean
                      default: true
                      examples:
                      - false
                    dateOpened:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.00Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 2
                    email: karina.plain@example.com
                    mailClient: AOL
                    mailClientVersion: AOL 1
                    ipAddress: 192.168.247.62
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    isHtml: false
                    isForward: false
                    dateOpened: 2020-01-01T09:40:18.00Z
                  - contactId: 2
                    email: karina.plain@example.com
                    mailClient: Android
                    mailClientVersion: Android DSL
                    ipAddress: 192.168.15.106
                    userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
                    isHtml: false
                    isForward: false
                    dateOpened: 2020-01-01T09:40:18.00Z
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}:
    get:
      summary: Get campaign activity for a contact
      deprecated: false
      description: Gets activity for a given contact and given campaign
      operationId: get-campaign-activity-for-a-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: The ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contactId:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  email:
                    type: string
                    examples:
                    - karina.plain@example.com
                  numOpens:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  numPageViews:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  numClicks:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numForwards:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  numEstimatedForwards:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  numReplies:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  dateSent:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.00Z
                  dateFirstOpened:
                    type: string
                    examples:
                    - 2020-01-02T09:30:18.00Z
                  dateLastOpened:
                    type: string
                    examples:
                    - 2020-01-02T09:30:18.00Z
                  firstOpenIp:
                    type: string
                    examples:
                    - 192.168.15.106
                  unsubscribed:
                    type: boolean
                    default: true
                    examples:
                    - false
                  softBounced:
                    type: boolean
                    default: true
                    examples:
                    - false
                  hardBounced:
                    type: boolean
                    default: true
                    examples:
                    - false
              examples:
                Result:
                  summary: Result
                  value:
                    contactId: 2
                    email: karina.plain@example.com
                    numOpens: 2
                    numPageViews: 4
                    numClicks: 1
                    numForwards: 1
                    numEstimatedForwards: 4
                    numReplies: 0
                    dateSent: 2020-01-01T09:40:18.00Z
                    dateFirstOpened: 2020-01-02T09:30:18.00Z
                    dateLastOpened: 2020-01-02T09:30:18.00Z
                    firstOpenIp: 192.168.15.106
                    unsubscribed: false
                    softBounced: false
                    hardBounced: false
          headers: {}
  /campaigns/{id}/activities/since-date/{date}:
    get:
      summary: Get campaign activity since date
      deprecated: false
      description: "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: get-campaign-activity-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any campaign activity is returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set."
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    numOpens:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    numPageViews:
                      type: integer
                      default: 0
                      examples:
                      - 4
                    numClicks:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    numForwards:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    numEstimatedForwards:
                      type: integer
                      default: 0
                      examples:
                      - 4
                    numReplies:
                      type: integer
                      default: 0
                      examples:
                      - 0
                    dateSent:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.00Z
                    dateFirstOpened:
                      type: string
                      examples:
                      - 2020-01-021T09:40:18.00Z
                    dateLastOpened:
                      type: string
                      examples:
                      - 2020-01-02T09:40:18.00Z
                    firstOpenIp:
                      type: string
                      examples:
                      - 192.168.15.106
                    unsubscribed:
                      type: boolean
                      default: true
                      examples:
                      - false
                    softBounced:
                      type: boolean
                      default: true
                      examples:
                      - false
                    hardBounced:
                      type: boolean
                      default: true
                      examples:
                      - false
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 2
                    email: karina.plain@example.com
                    numOpens: 2
                    numPageViews: 4
                    numClicks: 1
                    numForwards: 1
                    numEstimatedForwards: 4
                    numReplies: 0
                    dateSent: 2020-01-01T09:40:18.00Z
                    dateFirstOpened: 2020-01-021T09:40:18.00Z
                    dateLastOpened: 2020-01-02T09:40:18.00Z
                    firstOpenIp: 192.168.15.106
                    unsubscribed: false
                    softBounced: false
                    hardBounced: false
                  - contactId: 3
                    email: erik.cryer@example.com
                    numOpens: 1
                    numPageViews: 1
                    numClicks: 0
                    numForwards: 0
                    numEstimatedForwards: 1
                    numReplies: 1
                    dateSent: 2020-01-01T09:40:18.527Z
                    dateFirstOpened: 2020-01-02T09:40:18.00Z
                    dateLastOpened: 2020-01-02T09:40:18.00Z
                    firstOpenIp: 192.168.156.140
                    unsubscribed: false
                    softBounced: false
                    hardBounced: false
          headers: {}
  /campaigns/{id}/clicks:
    get:
      summary: Get campaign clicks
      deprecated: false
      description: Gets a list of campaign link clicks
      operationId: get-campaign-clicks
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: This is the ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 19
                    email:
                      type: string
                      examples:
                      - jeremy.krueger@example.com
                    url:
                      type: string
                      examples:
                      - http://example.com/page3
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.237.24
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked:
                      type: string
                      examples:
                      - 2020-01-02T09:40:18.00Z
                    keyword:
                      type: string
                      examples:
                      - example
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 19
                    email: jeremy.krueger@example.com
                    url: http://example.com/page3
                    ipAddress: 192.168.237.24
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked: 2020-01-02T09:40:18.00Z
                    keyword: example
                  - contactId: 23
                    email: nelson.redeker@example.com
                    url: http://example.com/page2
                    ipAddress: 192.168.93.223
                    userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
                    dateClicked: 2020-01-02T09:40:18.00Z
                    keyword: example
          headers: {}
  /campaigns/{id}/clicks-with-groups:
    get:
      summary: Get campaign clicks and link groups
      deprecated: false
      description: Gets a list of campaign link clicks with assigned link groups
      operationId: get-campaign-clicks-and-link-groups
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: This is the ID of the campaign
        required: true
        example: ""
        schema:
          type: string
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 19
                    email:
                      type: string
                      examples:
                      - jeremy.krueger@example.com
                    url:
                      type: string
                      examples:
                      - http://company123.com/aboutus
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.237.24
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked:
                      type: string
                      examples:
                      - 2020-01-02T09:40:18.00Z
                    keyword:
                      type: string
                      examples:
                      - about
                    groups:
                      type: array
                      items:
                        type: string
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 19
                    email: jeremy.krueger@example.com
                    url: http://company123.com/aboutus
                    ipAddress: 192.168.237.24
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked: 2020-01-02T09:40:18.00Z
                    keyword: about
                    groups: []
                  - contactId: 23
                    email: nelson.redeker@example.com
                    url: http://company123.com/holidays
                    ipAddress: 192.168.93.223
                    userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
                    dateClicked: 2020-01-02T09:40:18.00Z
                    keyword: Alexandria holiday deals
                    groups:
                    - name: africa
                      dateCreated: 2020-01-02T09:40:18.00Z
                    - name: egypt
                      dateCreated: 2020-01-02T09:40:18.00Z
          headers: {}
  /campaigns/{id}/clicks/since-date/{date}:
    get:
      summary: Get campaign clicks since date
      deprecated: false
      description: Gets a list of link clicks for a campaign after a specified date
      operationId: get-campaign-clicks-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: This is the ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any campaign clicks are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    url:
                      type: string
                      examples:
                      - http://example.com/page3
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.211.73
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.00Z
                    keyword:
                      type: string
                      examples:
                      - example
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 2
                    email: karina.plain@example.com
                    url: http://example.com/page3
                    ipAddress: 192.168.211.73
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked: 2020-01-01T09:40:18.00Z
                    keyword: example
                  - contactId: 19
                    email: jeremy.krueger@example.com
                    url: http://example.com/page3
                    ipAddress: 192.168.237.24
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked: 2020-01-02T09:40:18.00Z
                    keyword: example
          headers: {}
  /campaigns/{id}/clicks-with-groups/since-date/{date}:
    get:
      summary: Get campaign clicks and link groups since date
      deprecated: false
      description: "Gets a list of link clicks for a campaign, with assigned link groups, after a specified date"
      operationId: get-campaign-clicks-and-link-groups-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: This is the ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any campaign clicks are returned, which needs to be included within the URL in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: string
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 19
                    email:
                      type: string
                      examples:
                      - jeremy.krueger@example.com
                    url:
                      type: string
                      examples:
                      - http://company123.com/aboutus
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.237.24
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.00Z
                    keyword:
                      type: string
                      examples:
                      - about
                    groups:
                      type: array
                      items:
                        type: string
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 19
                    email: jeremy.krueger@example.com
                    url: http://company123.com/aboutus
                    ipAddress: 192.168.237.24
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked: 2020-01-01T09:40:18.00Z
                    keyword: about
                    groups: []
                  - contactId: 23
                    email: nelson.redeker@example.com
                    url: http://company123.com/holidays
                    ipAddress: 192.168.93.223
                    userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
                    dateClicked: 2020-01-01T09:40:18.00Z
                    keyword: Alexandria holiday deals
                    groups:
                    - name: africa
                      dateCreated: 2020-01-01T09:40:18.00Z
                    - name: egypt
                      dateCreated: 2020-01-01T09:40:18.00Z
          headers: {}
  /campaigns/{id}/opens/since-date/{date}:
    get:
      summary: Get campaign opens since date
      deprecated: false
      description: Gets a list of opens for a campaign after a specified date
      operationId: get-campaign-opens-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any opens for the campaign are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 5
                    email:
                      type: string
                      examples:
                      - darryl.netherland@example.com
                    mailClient:
                      type: string
                      examples:
                      - Opera
                    mailClientVersion:
                      type: string
                      examples:
                      - Opera5
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.251.85
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    isHtml:
                      type: boolean
                      default: true
                      examples:
                      - false
                    isForward:
                      type: boolean
                      default: true
                      examples:
                      - false
                    dateOpened:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.00Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 5
                    email: darryl.netherland@example.com
                    mailClient: Opera
                    mailClientVersion: Opera5
                    ipAddress: 192.168.251.85
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    isHtml: false
                    isForward: false
                    dateOpened: 2020-01-01T09:40:18.00Z
                  - contactId: 21
                    email: deonna.medine@example.com
                    mailClient: Chrome
                    mailClientVersion: Chrome 8
                    ipAddress: 192.168.39.11
                    userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
                    isHtml: false
                    isForward: true
                    dateOpened: 2020-01-01T09:40:18.00Z
          headers: {}
  /campaigns/{id}/activities:
    get:
      summary: Get campaign activity
      deprecated: false
      description: "Gets a list of contacts who were sent a campaign, with their activity"
      operationId: get-campaign-activity
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    [
                    {
                    "contactId": 5,
                    "email": "darryl.netherland@example.com",
                    "numOpens": 2,
                    "numPageViews": 3,
                    "numClicks": 1,
                    "numForwards": 1,
                    "numEstimatedForwards": 3,
                    "numReplies": 0,
                    "dateSent": "2020-01-01T09:40:18.00Z",
                    "dateFirstOpened": "2020-01-01T09:40:18.00Z",
                    "dateLastOpened": "2020-01-01T09:40:18.00Z",
                    "firstOpenIp": "192.168.228.41",
                    "unsubscribed": false,
                    "softBounced": false,
                    "hardBounced": false
                    },
                    {
                    "contactId": 9,
                    "email": "carlene.eggebrecht@example.com",
                    "numOpens": 2,
                    "numPageViews": 3,
                    "numClicks": 1,
                    "numForwards": 1,
                    "numEstimatedForwards": 3,
                    "numReplies": 0,
                    "dateSent": "2020-01-01T09:40:18.00Z",
                    "dateFirstOpened": "2020-01-01T09:40:18.00Z",
                    "dateLastOpened": "2020-01-01T09:40:18.00Z",
                    "firstOpenIp": "192.168.51.126",
                    "unsubscribed": false,
                    "softBounced": false,
                    "hardBounced": false
                    },
                    ]
          headers: {}
  /campaigns/{id}/address-books:
    get:
      summary: Get campaign address books
      deprecated: false
      description: Gets any address books and segments that a campaign has ever been sent to
      operationId: get-campaign-address-books
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Address book 1
                    visibility:
                      type: string
                      examples:
                      - Private
                    contacts:
                      type: integer
                      default: 0
                      examples:
                      - 5
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Address book 1
                    visibility: Private
                    contacts: 5
                  - id: 2
                    name: Address book 2
                    visibility: Public
                    contacts: 7
                  - id: 3
                    name: Address book 3
                    visibility: Private
                    contacts: 7
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}/clicks:
    get:
      summary: Get campaign clicks for a contact
      deprecated: false
      description: Gets a list of campaign link clicks for a contact
      operationId: get-campaign-clicks-for-a-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: This is the ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: This is the ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    url:
                      type: string
                      examples:
                      - http://example.com/page3
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.211.73
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.00Z
                    keyword:
                      type: string
                      examples:
                      - example
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 2
                    email: karina.plain@example.com
                    url: http://example.com/page3
                    ipAddress: 192.168.211.73
                    userAgent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12
                    dateClicked: 2020-01-01T09:40:18.00Z
                    keyword: example
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}/clicks-with-groups:
    get:
      summary: Get campaign contact clicks and link groups
      deprecated: false
      description: "Gets a list of campaign link clicks, with assigned link groups, for a contact"
      operationId: get-campaign-contact-clicks-and-link-groups
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: This is the ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: This is the ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 23
                    email:
                      type: string
                      examples:
                      - nelson.redeker@example.com
                    url:
                      type: string
                      examples:
                      - http://company123.com/holidays
                    ipAddress:
                      type: string
                      examples:
                      - 192.168.93.223
                    userAgent:
                      type: string
                      examples:
                      - Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
                    dateClicked:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.00Z
                    keyword:
                      type: string
                      examples:
                      - Alexandria holiday deals
                    groups:
                      type: array
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                            examples:
                            - africa
                          dateCreated:
                            type: string
                            examples:
                            - 2020-01-01T09:40:18.00Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 23
                    email: nelson.redeker@example.com
                    url: http://company123.com/holidays
                    ipAddress: 192.168.93.223
                    userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; InfoPath.2)
                    dateClicked: 2020-01-01T09:40:18.00Z
                    keyword: Alexandria holiday deals
                    groups:
                    - name: africa
                      dateCreated: 2020-01-01T09:40:18.00Z
                    - name: egypt
                      dateCreated: 2020-01-01T09:40:18.00Z
          headers: {}
  /campaigns/with-activity-since/{date}:
    get:
      summary: Get campaigns with activity since date
      deprecated: false
      description: "Gets all sent campaigns, which have had activity (e.g. clicks, opens) after a specified date"
      operationId: get-campaigns-with-activity-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: date
        in: path
        description: "The date from which campaigns with activity will be returned, which needs to be included within the URL in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 4
                    name:
                      type: string
                      examples:
                      - New product promotion
                    subject:
                      type: string
                      examples:
                      - New product!
                    fromName:
                      type: string
                      examples:
                      - Company name
                    fromAddress:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 1
                        email:
                          type: string
                          examples:
                          - demo@apiconnector.com
                    htmlContent: {}
                    plainTextContent: {}
                    replyAction:
                      type: string
                      examples:
                      - WebMailForward
                    replyToAddress:
                      type: string
                      examples:
                      - demo@apiconnector.com
                    isSplitTest:
                      type: boolean
                      default: true
                      examples:
                      - false
                    status:
                      type: string
                      examples:
                      - Sent
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 4
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    fromAddress:
                      id: 1
                      email: demo@apiconnector.com
                    htmlContent: null
                    plainTextContent: null
                    replyAction: WebMailForward
                    replyToAddress: demo@apiconnector.com
                    isSplitTest: false
                    status: Sent
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}/page-views:
    get:
      summary: Get campaign page views for a contact
      deprecated: false
      description: Gets a list of page views for a specific campaign for a contact
      operationId: get-campaign-page-views-for-a-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: The ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    url:
                      type: string
                      examples:
                      - http://example.com/page2
                    dateViewed:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 2
                    email: karina.plain@example.com
                    url: http://example.com/page2
                    dateViewed: 2020-01-01T09:40:18.527Z
                  - contactId: 2
                    email: karina.plain@example.com
                    url: http://example.com/page3
                    dateViewed: 2020-01-01T09:40:40.527Z
                  - contactId: 2
                    email: karina.plain@example.com
                    url: http://example.com/page2
                    dateViewed: 2020-01-01T09:41:20.527Z
                  - contactId: 2
                    email: karina.plain@example.com
                    url: http://example.com/page2
                    dateViewed: 2020-01-01T09:41:50.527Z
          headers: {}
  /campaigns/{id}/page-views/since-date/{date}:
    get:
      summary: Get campaign page views since date
      deprecated: false
      description: Gets a list of page views for a campaign after a specified date
      operationId: get-campaign-page-views-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any campaign page views are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    [
                    {
                    "contactId": 17,
                    "email": "dora.judge@example.com",
                    "url": "http://example.com/page3",
                    "dateViewed": "2020-01-01T09:40:18.527Z"
                    },
                    {
                    "contactId": 21,
                    "email": "deonna.medine@example.com",
                    "url": "http://example.com/page2",
                    "dateViewed": "2020-01-01T09:41:18.527Z"
                    },
                    {
                    "contactId": 15,
                    "email": "mathew.fauntleroy@example.com",
                    "url": "http://example.com/page2",
                    "dateViewed": "2020-01-01T09:43:18.527Z"
                    },
                    ]
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}/replies:
    get:
      summary: Get campaign replies for a contact
      deprecated: false
      description: Gets a list of campaign replies for a contact
      operationId: get-campaign-replies-for-a-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: The ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 5 (0 is not a valid number). You may only select a maximum of 5 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 5 records you should set the select parameter to 5 and the skip parameter to 5, which will return records 6 to 10. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 3
                    email:
                      type: string
                      examples:
                      - erik.cryer@example.com
                    fromAddress:
                      type: string
                      examples:
                      - erik.cryer@example.com
                    toAddress:
                      type: string
                      examples:
                      - demo@apiconnector.com
                    subject:
                      type: string
                      examples:
                      - "RE: Monthly newsletter"
                    message:
                      type: string
                      examples:
                      - "Hi\r\nVery useful information. Thanks"
                    isHtml:
                      type: boolean
                      default: true
                      examples:
                      - false
                    dateReplied:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    replyType:
                      type: string
                      examples:
                      - Reply
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 3
                    email: erik.cryer@example.com
                    fromAddress: erik.cryer@example.com
                    toAddress: demo@apiconnector.com
                    subject: "RE: Monthly newsletter"
                    message: "Hi\r\nVery useful information. Thanks"
                    isHtml: false
                    dateReplied: 2020-01-01T09:40:18.527Z
                    replyType: Reply
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}/roi-details:
    get:
      summary: Get campaign ROI activity for a contact
      deprecated: false
      description: Gets a list of ROI information for a campaign for a contact
      operationId: get-campaign-roi-activity-for-a-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: The ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    markerName:
                      type: string
                      examples:
                      - JavascriptEngine
                    dataType:
                      type: string
                      examples:
                      - String
                    value:
                      type: string
                      examples:
                      - Carakan
                    dateEntered:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 2
                    email: karina.plain@example.com
                    markerName: JavascriptEngine
                    dataType: String
                    value: Carakan
                    dateEntered: 2020-01-01T09:40:18.527Z
                  - contactId: 2
                    email: karina.plain@example.com
                    markerName: HasReadEntireMessage
                    dataType: Boolean
                    value: true
                    dateEntered: 2020-01-01T18:40:18.527Z
                  - contactId: 2
                    email: karina.plain@example.com
                    markerName: JavascriptEngine
                    dataType: String
                    value: Carakan
                    dateEntered: 2020-01-01T20:40:14.527Z
                  - contactId: 2
                    email: karina.plain@example.com
                    markerName: HasReadEntireMessage
                    dataType: Boolean
                    value: true
                    dateEntered: 2020-01-01T21:40:18.527Z
          headers: {}
  /campaigns/{id}/roi-details/since-date/{date}:
    get:
      summary: Get campaign ROI activity since date
      deprecated: false
      description: Retrieves a list of ROI information for a campaign after a specified date
      operationId: get-campaign-roi-activity-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any ROI activity is returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 5
                    email:
                      type: string
                      examples:
                      - darryl.netherland@example.com
                    markerName:
                      type: string
                      examples:
                      - PurchaseDate
                    dataType:
                      type: string
                      examples:
                      - Date
                    value:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    dateEntered:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 5
                    email: darryl.netherland@example.com
                    markerName: PurchaseDate
                    dataType: Date
                    value: 2020-01-01T09:40:18.527Z
                    dateEntered: 2020-01-01T09:40:18.527Z
                  - contactId: 5
                    email: darryl.netherland@example.com
                    markerName: TimeInSecondsToReadEntireMessage
                    dataType: Numeric
                    value: 39
                    dateEntered: 2020-01-01T09:40:18.527Z
                  - contactId: 13
                    email: max.gauvin@example.com
                    markerName: HasReadEntireMessage
                    dataType: Boolean
                    value: true
                    dateEntered: 2020-01-01T09:40:18.527Z
                  - contactId: 21
                    email: deonna.medine@example.com
                    markerName: TimeInSecondsToReadEntireMessage
                    dataType: Numeric
                    value: 22
                    dateEntered: 2020-01-01T09:40:18.527Z
          headers: {}
  /campaigns/{id}/social-bookmark-views:
    get:
      summary: Get campaign social bookmark views
      deprecated: false
      description: Gets campaign social bookmark views for a campaign
      operationId: get-campaign-social-bookmark-views
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 5
                    email:
                      type: string
                      examples:
                      - darryl.netherland@example.com
                    bookmarkName:
                      type: string
                      examples:
                      - Facebook
                    numViews:
                      type: integer
                      default: 0
                      examples:
                      - 1
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 5
                    email: darryl.netherland@example.com
                    bookmarkName: Facebook
                    numViews: 1
                  - contactId: 5
                    email: darryl.netherland@example.com
                    bookmarkName: Google+
                    numViews: 1
                  - contactId: 21
                    email: deonna.medine@example.com
                    bookmarkName: Facebook
                    numViews: 2
          headers: {}
  /campaigns/{campaignID}/activities/{contactID}/social-bookmark-views:
    get:
      summary: Get campaign social bookmark views for a contact
      deprecated: false
      description: Gets campaign social bookmark views for a contact
      operationId: get-campaign-social-bookmark-views-for-a-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignID
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactID
        in: path
        description: The ID of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 1000 (0 is not a valid number). You may only select a maximum of 1000 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 1000 records you should set the select parameter to 1000 and the skip parameter to 1000, which will return records 1001 to 2000. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    contactId:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    bookmarkName:
                      type: string
                      examples:
                      - Facebook
                    numViews:
                      type: integer
                      default: 0
                      examples:
                      - 1
              examples:
                Result:
                  summary: Result
                  value:
                  - contactId: 2
                    email: karina.plain@example.com
                    bookmarkName: Facebook
                    numViews: 1
                  - contactId: 2
                    email: karina.plain@example.com
                    bookmarkName: Google+
                    numViews: 1
                  - contactId: 2
                    email: karina.plain@example.com
                    bookmarkName: LinkedIn
                    numViews: 1
          headers: {}
  /campaigns/{id}/hard-bouncing-contacts:
    get:
      summary: Get campaign hard bouncers
      deprecated: false
      description: Gets a list of contacts who hard bounced when sent a particular campaign
      operationId: get-campaign-hard-bouncers
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: The ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: withFullData
        in: query
        description: The withFullData parameter can be set to 'true' to retrieve the contacts along with their full contact data fields
        required: false
        schema:
          type: boolean
      - name: select
        in: query
        description: The select parameter requires a number between 1 and 5 (0 is not a valid number). You may only select a maximum of 5 results in a single request
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "The skip parameter should be used in tandem with the select parameter when wanting to iterate through a whole data set. If you want to select the next 5 records you should set the select parameter to 5 and the skip parameter to 5, which will return records 6 to 10. You should continue to do this until 0 records are returned to retrieve the whole data set"
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 22
                    email:
                      type: string
                      examples:
                      - kelly.bertone@example.com
                    optInType:
                      type: string
                      examples:
                      - Double
                    emailType:
                      type: string
                      examples:
                      - Html
                    dataFields: {}
                    status:
                      type: string
                      examples:
                      - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 22
                    email: kelly.bertone@example.com
                    optInType: Double
                    emailType: Html
                    dataFields: null
                    status: Subscribed
          headers: {}
  /campaigns/{id}/split-test:
    get:
      summary: Get campaign split test results
      deprecated: false
      description: Gets the split test results of a given campaign
      operationId: get-campaign-split-test-results
      tags:
      - Email Campaigns
      parameters:
      - name: id
        in: path
        description: This is the ID of the campaign
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  versions:
                    type: array
                    items:
                      type: object
                      properties:
                        subjectLine:
                          type: string
                          examples:
                          - New product promotion 1
                        fromName:
                          type: string
                          examples:
                          - Company name
                        fromAddress:
                          type: string
                          examples:
                          - products@mycompany.com
                        htmlContent:
                          type: string
                          examples:
                          - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                        plainTextContent:
                          type: string
                          examples:
                          - "\r\n\n---\r\nWant to unsubscribe or change your details? $UNSUB$"
                        version:
                          type: string
                          examples:
                          - A
                        winningVersion:
                          type: boolean
                          default: true
                          examples:
                          - false
                        resultsActual:
                          type: integer
                          default: 0
                          examples:
                          - 2200
                        resultsPercentage:
                          type: number
                          default: 0
                          examples:
                          - 0.4150943
                  splitTestWinnerMetric:
                    type: string
                    examples:
                    - Opens
              examples:
                Result:
                  summary: Result
                  value:
                    versions:
                    - subjectLine: New product promotion 1
                      fromName: Company name
                      fromAddress: products@mycompany.com
                      htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                      plainTextContent: "\r\n\n---\r\nWant to unsubscribe or change your details? $UNSUB$"
                      version: A
                      winningVersion: false
                      resultsActual: 2200
                      resultsPercentage: 0.4150943
                    - subjectLine: New product promotion 2
                      fromName: Company name
                      fromAddress: products@mycompany.com
                      htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                      plainTextContent: "\r\n\n---\r\nWant to unsubscribe or change your details? $UNSUB$"
                      version: B
                      winningVersion: true
                      resultsActual: 3100
                      resultsPercentage: 0.5849057
                    splitTestWinnerMetric: Opens
          headers: {}
  /custom-from-addresses:
    get:
      summary: Get custom from addresses
      deprecated: false
      description: Gets all custom from addresses which can be used in a campaign
      operationId: get-custom-from-addresses
      tags:
      - Email Campaigns
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    email:
                      type: string
                      examples:
                      - news@company-name123.com
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    email: news@company-name123.com
                  - id: 2
                    email: support@company-name123.com
          headers: {}
  /campaigns/{campaignId}/revenue/since-date/{date}:
    get:
      summary: Get campaign revenue since date
      deprecated: false
      description: ""
      operationId: get-campaign-revenue-since-date
      tags:
      - Email Campaigns
      parameters:
      - name: campaignId
        in: path
        description: The unique numeric campaign identifier you want data for
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any revenue associated with the campaign is collated from in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  campaignID:
                    type: integer
                    default: 0
                    examples:
                    - 248
                  dateSent:
                    type: string
                    examples:
                    - 2022-05-13T08:20:38.953Z
                  currency:
                    type: string
                    examples:
                    - USD
                  revenue:
                    type: number
                    default: 0
                    examples:
                    - 233498.94361681378
                  numOrders:
                    type: integer
                    default: 0
                    examples:
                    - 3755
                  conversionRate:
                    type: number
                    default: 0
                    examples:
                    - 2.495016611295681
              examples:
                Result:
                  summary: Result
                  value:
                    campaignID: 248
                    dateSent: 2022-05-13T08:20:38.953Z
                    currency: USD
                    revenue: 233498.94361681378
                    numOrders: 3755
                    conversionRate: 2.495016611295681
          headers: {}
  /campaigns/{campaignId}/activities/{contactId}/revenue:
    get:
      summary: Get campaign revenue for contact
      deprecated: false
      description: ""
      operationId: get-campaign-revenue-for-contact
      tags:
      - Email Campaigns
      parameters:
      - name: campaignId
        in: path
        description: The unique numeric campaign identifier you want data for
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: contactId
        in: path
        description: The unique numeric identifier for the contact you want the data for
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  campaignID:
                    type: integer
                    default: 0
                    examples:
                    - 248
                  dateSent:
                    type: string
                    examples:
                    - 2022-05-13T08:20:38.953Z
                  currency:
                    type: string
                    examples:
                    - USD
                  revenue:
                    type: number
                    default: 0
                    examples:
                    - 233498.94361681378
                  numOrders:
                    type: integer
                    default: 0
                    examples:
                    - 3755
                  conversionRate:
                    type: number
                    default: 0
                    examples:
                    - 2.495016611295681
              examples:
                Result:
                  summary: Result
                  value:
                    campaignID: 248
                    dateSent: 2022-05-13T08:20:38.953Z
                    currency: USD
                    revenue: 233498.94361681378
                    numOrders: 3755
                    conversionRate: 2.495016611295681
          headers: {}
  /templates:
    post:
      summary: Create template
      deprecated: false
      description: Creates an email campaign template
      operationId: create-template
      tags:
      - Campaign Templates
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - subject
              - fromName
              - htmlContent
              - plainTextContent
              properties:
                name:
                  type: string
                  description: The name of the template being created
                subject:
                  type: string
                  description: The email subject line of the template
                fromName:
                  type: string
                  description: The from name of the template
                htmlContent:
                  type: string
                  description: The HTML content of the template
                plainTextContent:
                  type: string
                  description: The plain text content of the template
            examples:
              Request Example:
                value:
                  name: New product promotion 2
                  subject: New product!
                  fromName: Company name
                  htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  name:
                    type: string
                    examples:
                    - New product promotion 2
                  subject:
                    type: string
                    examples:
                    - New product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  htmlContent:
                    type: string
                    examples:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent:
                    type: string
                    examples:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ""
              examples:
                Result:
                  summary: Result
                  value:
                    id: 4
                    name: New product promotion 2
                    subject: New product!
                    fromName: Company name
                    htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    replyAction: Unset
                    replyToAddress: ""
          headers: {}
    get:
      summary: Get templates
      deprecated: false
      description: Gets a list of all email campaign templates
      operationId: get-templates
      tags:
      - Campaign Templates
      parameters:
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Monthly newsletter Dec 2015
                    subject:
                      type: string
                      examples:
                      - Monthly newsletter
                    fromName:
                      type: string
                      examples:
                      - Company name
                    htmlContent: {}
                    plainTextContent: {}
                    replyAction:
                      type: string
                      examples:
                      - Unset
                    replyToAddress: {}
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Monthly newsletter Dec 2015
                    subject: Monthly newsletter
                    fromName: Company name
                    htmlContent: null
                    plainTextContent: null
                    replyAction: Unset
                    replyToAddress: null
                  - id: 2
                    name: Financial update
                    subject: Financial update
                    fromName: Company name
                    htmlContent: null
                    plainTextContent: null
                    replyAction: Unset
                    replyToAddress: null
                  - id: 3
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    htmlContent: null
                    plainTextContent: null
                    replyAction: WebMailForward
                    replyToAddress: shop@company-name123.com
          headers: {}
  /templates/{id}:
    get:
      summary: Get template by id
      deprecated: false
      description: Gets an email campaign template by id
      operationId: get-template-by-id
      tags:
      - Campaign Templates
      parameters:
      - name: id
        in: path
        description: The id of the email campaign template
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - New product promotion
                  subject:
                    type: string
                    examples:
                    - New product!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  htmlContent:
                    type: string
                    examples:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent:
                    type: string
                    examples:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - WebMailForward
                  replyToAddress:
                    type: string
                    examples:
                    - shop@company-name123.com
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: New product promotion
                    subject: New product!
                    fromName: Company name
                    htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    replyAction: WebMailForward
                    replyToAddress: shop@company-name123.com
          headers: {}
    put:
      summary: Update template
      deprecated: false
      description: Creates an email campaign template
      operationId: update-template
      tags:
      - Campaign Templates
      parameters:
      - name: id
        in: path
        description: The id of the template being updated
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - subject
              - fromName
              - htmlContent
              - plainTextContent
              properties:
                name:
                  type: string
                  description: The name of the template being created
                subject:
                  type: string
                  description: The email subject line of the template
                fromName:
                  type: string
                  description: The from name of the template
                htmlContent:
                  type: string
                  description: The HTML content of the template
                plainTextContent:
                  type: string
                  description: The plain text content of the template
            examples:
              Request Example:
                value:
                  name: New product promotion
                  subject: New product!
                  fromName: Company name
                  htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  name:
                    type: string
                    examples:
                    - New product promotion 2
                  subject:
                    type: string
                    examples:
                    - Brand new product released!
                  fromName:
                    type: string
                    examples:
                    - Company name
                  htmlContent:
                    type: string
                    examples:
                    - "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                  plainTextContent:
                    type: string
                    examples:
                    - "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                  replyAction:
                    type: string
                    examples:
                    - Unset
                  replyToAddress:
                    type: string
                    examples:
                    - ""
              examples:
                Result:
                  summary: Result
                  value:
                    id: 4
                    name: New product promotion 2
                    subject: Brand new product released!
                    fromName: Company name
                    htmlContent: "\r\n<!-- Easy Editor -->\r\n<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"ee_resizable ee_mobiletemplate\" data-dmtmp=\"true\">\r\n<tbody>\r\n<tr>\r\n<td align=\"center\" bgcolor=\"#ffffff\" cellpadding=\"0\" cellspacing=\"0\">\r\n<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"table-layout: auto;\" class=\"eem_mainouterzone\">\r\n<tbody>\r\n<tr>\r\n<td bgcolor=\"#ffffff\" class=\"ee_dropzone\" style=\"padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;\" align=\"left\">\r\n<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; background-color: rgb(255, 255, 255); table-layout: auto;\" class=\"ee_element\" bgcolor=\"#ffffff\">\r\n<tbody>\r\n<tr>\r\n<td align=\"left\" style=\"padding: 0px; width: 600px;\" class=\"\"><div class=\"ee_editable\"><font style=\"font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: 13px;\"><a href=\"http://$UNSUB$\" style=\"color: black;\"> Unsubscribe from this newsletter</a></font> </div></td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>"
                    plainTextContent: "\r\n\n---\r\nWant to unsubscribe? $UNSUB$"
                    replyAction: Unset
                    replyToAddress: ""
          headers: {}
  /document-folders/{id}:
    post:
      summary: Create document folder
      deprecated: false
      description: Creates a new document folder
      operationId: create-document-folder
      tags:
      - Documents
      parameters:
      - name: id
        in: path
        description: The id of an existing folder to create the new folder within
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: "The name of the folder being created, which can only be up to 20 characters in length and must consist of alphanumeric characters only, with hyphens and underscores if required"
            examples:
              Request Example:
                value:
                  name: Events
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  name:
                    type: string
                    examples:
                    - Events
                  childFolders: {}
              examples:
                Result:
                  summary: Result
                  value:
                    id: 2
                    name: Events
                    childFolders: null
          headers: {}
  /document-folders:
    get:
      summary: Get document folders
      deprecated: false
      description: Fetches the document folder tree structure
      operationId: get-document-folders
      tags:
      - Documents
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Products
                    childFolders:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            default: 0
                            examples:
                            - 2
                          name:
                            type: string
                            examples:
                            - New products
                          childFolders:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  default: 0
                                  examples:
                                  - 3
                                name:
                                  type: string
                                  examples:
                                  - Offers
                                childFolders: {}
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Products
                    childFolders:
                    - id: 2
                      name: New products
                      childFolders:
                      - id: 3
                        name: Offers
                        childFolders: null
          headers: {}
  /document-folders/{id}/documents:
    get:
      summary: Get documents in folder
      deprecated: false
      description: Gets all uploaded documents in a folder
      operationId: get-documents-in-folder
      tags:
      - Documents
      parameters:
      - name: id
        in: path
        description: The id of an existing folder
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - economics-full
                    fileName:
                      type: string
                      examples:
                      - /cmpdoc/2013/13/1_economics-full
                    fileSize:
                      type: integer
                      default: 0
                      examples:
                      - 15
                    dateCreated:
                      type: string
                      examples:
                      - 2019-12-01T09:40:18.527Z
                    dateModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: economics-full
                    fileName: /cmpdoc/2013/13/1_economics-full
                    fileSize: 15
                    dateCreated: 2019-12-01T09:40:18.527Z
                    dateModified: 2020-01-01T09:40:18.527Z
                  - id: 4
                    name: finance
                    fileName: /cmpdoc/2013/13/4_finance
                    fileSize: 12
                    dateCreated: 2019-12-01T09:40:18.527Z
                    dateModified: 2020-01-01T09:40:18.527Z
          headers: {}
    post:
      summary: Upload document
      deprecated: false
      description: Upload a document to a specified folder using form data
      operationId: upload-document
      tags:
      - Documents
      parameters:
      - name: id
        in: path
        description: The id of an existing folder to create the new folder within
        required: true
        example: 0
        schema:
          type: integer
          format: int32
          default: 0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                RAW_BODY:
                  type: string
                  default: The document file to upload
                  format: binary
                fileName:
                  type: string
                  description: The filename of the file
                data:
                  type: string
                  description: "The file data in [Base64](https://en.wikipedia.org/wiki/Base64)"
            examples:
              Request Example:
                value:
                  FileName: Test.csv
                  Data: SWQsTmFtZSxTdXJuYW1lLE1vYmlsZQ0KbGFuY2Uub2Nvbm5lbGxAY29tYXBpLmNvbSxMYW5jZSxPJ0Nvbm5lbGwsNDQ3MTIzMTIzMTIzDQpkYXZlLmJhZGRlbGV5QGNvbWFwaS5jb20sRGF2ZSxCYWRkZWxleSw0NDIzNDIzNDIzNA==
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  name:
                    type: string
                    examples:
                    - Events
                  childFolders: {}
              examples:
                Result:
                  summary: Result
                  value:
                    id: 2
                    name: Events
                    childFolders: null
          headers: {}
  /image-folders:
    get:
      summary: Get image folders
      deprecated: false
      description: Fetches the campaign image folder tree structure
      operationId: get-image-folders
      tags:
      - Images
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Banners
                    childFolders:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            default: 0
                            examples:
                            - 2
                          name:
                            type: string
                            examples:
                            - Big
                          childFolders:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  default: 0
                                  examples:
                                  - 3
                                name:
                                  type: string
                                  examples:
                                  - Small
                                childFolders:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      id:
                                        type: integer
                                        default: 0
                                        examples:
                                        - 4
                                      name:
                                        type: string
                                        examples:
                                        - Logos
                                      childFolders: {}
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Banners
                    childFolders:
                    - id: 2
                      name: Big
                      childFolders:
                      - id: 3
                        name: Small
                        childFolders:
                        - id: 4
                          name: Logos
                          childFolders: null
          headers: {}
  /image-folders/{id}:
    post:
      summary: Create image folder
      deprecated: false
      description: Creates a new campaign image folder
      operationId: create-image-folder
      tags:
      - Images
      parameters:
      - name: id
        in: path
        description: ""
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  description: "The name of the folder being created, which can only be up to 20 characters in length and must consist of alphanumeric characters only, with hyphens and underscores if required"
            examples:
              Request Example:
                value:
                  name: Product images
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 6
                  name:
                    type: string
                    examples:
                    - Product images
                  childFolders: {}
              examples:
                Result:
                  summary: Result
                  value:
                    id: 6
                    name: Product images
                    childFolders: null
          headers: {}
    get:
      summary: Get image folders by id
      deprecated: false
      description: Gets an image folder by id
      operationId: get-image-folders-by-id
      tags:
      - Images
      parameters:
      - name: id
        in: path
        description: ""
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 3
                  name:
                    type: string
                    examples:
                    - Small
                  childFolders:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          default: 0
                          examples:
                          - 4
                        name:
                          type: string
                          examples:
                          - Logos
                        childFolders: {}
              examples:
                Result:
                  summary: Result
                  value:
                    id: 3
                    name: Small
                    childFolders:
                    - id: 4
                      name: Logos
                      childFolders: null
          headers: {}
  /image-folders/{id}/images:
    post:
      summary: Upload campaign image
      deprecated: false
      description: Uploads a new campaign image to a specified folder
      operationId: upload-campaign-image
      tags:
      - Images
      parameters:
      - name: id
        in: path
        description: The id of an existing campaign image folder to add the file to
        required: true
        example: 0
        schema:
          type: integer
          format: int32
          default: 0
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                RAW_BODY:
                  type: string
                  default: The image file to upload
                  format: binary
                fileName:
                  type: string
                  description: The filename of the image
                data:
                  type: string
                  description: "The image file data in [Base64](https://en.wikipedia.org/wiki/Base64)"
            examples:
              Request Example:
                value:
                  FileName: dotdigital.png
                  Data: iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADc0lEQVQ4T12TbUyVZRjH/9d9389zXjp2OG4xw7Mm4KJQKzQ30RVZ9EKbpRZIW6tDqRM+IAU0UmBnGgZEan1gJrSFX1Ko7MVpBUlr0yzXiwFZgcCK3LQFW0fgHM7zXFeDLce6vv236/+7vlw/wv8mZ0/OnbbR2ywj641GujEgpWTEUtxLOnn4xI6BC/Mr9F8Iv5DrCwb5oKWx1TY8Zmn5xGj5zVIs2uBWW8tjlpKw1tyO2ERF14tj07PdOcBs2ePDZ7aWlVpzVT++bU8ZPR6gG2W5oxXFRPoK126K8fjybcZQi1L43glMPNxVNDY9B0irXtdmNIqV5eb/3V865Avq19m2nhKvsdkycG0z41rm3UmvrixeVL7UKNWjwcc6Ij9vpWDFmpW2ss4TSak1XPw+jP+M6zELXY/dMO1X3bBtwOvJh0fXimXGJ4XXRcI7NyvCIQGvplD5Pa1EVDB++ault8Ra32bLPDpjmTX7Tx2c8VHoGR/7yRf3dRREy2zym3Ni1MkN4XufDyWzhwT4lG4oy/tFFD73fF1QFwwFrjBQU322qdOrF/wQ5JCV4obgdwJJv+PPyd1fUgilmhM+T2rpgqf3QtFDtKX9jviVCVP102jtd4lwytnAj2Mrjn748SMQqf/dM5B+W+x2GB0aVqJeyTlQcso21Mdary1d+OwqAbVQY0/m1OzVXbGT5wD+Bkk353LR0TwG7VPg7DjiiNPMAIRrs9ueO225zoUkS+7O1MjdIniNXu3O7CPBmRr5oBJT9lUQGsY2HnlLoM8DstiBgySSf7pIrF7WXrJdidQ5M9dSKxbtaBahPGrszjggoC2Jmy8tiQ5ebIFIBCx5I0+2jRj4nkhCiBB/L70jkq7AX8KVI/WBVZXXrKwRAbqo6XR6FrPuJ8jumvGPWmHoCwiWAXgTkG44ANh9kFwpB8uAxKwHqtM2lYFUAzuJFXOP1NiT2cRMFcK8eXeysxcJfz2EtwMIEQuEZQLgw/jH2fNyWtF9EOu4K/xG8+ODL80Bor0wtpN5DKANAt6XNLGWKDrj+Ct1yZwrN10djaLIy1PBKhdql7CcsAODRdH1cK7LVNgJfVcwow5ENQDirlAPRH7lOQJliSCfhbwk0nhxcmhvVxHc6zLN1zPauzhsHG8EjPtFkDHrGwPDLkuvO4N3GjZe+mP+/r9/Xogj35RiigAAAABJRU5ErkJggg==
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - Conference_venue.jpg
                  path:
                    type: string
                    examples:
                    - Folders/Events/Conference_venue.jpg
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: Conference_venue.jpg
                    path: Folders/Events/Conference_venue.jpg
          headers: {}
  /surveys:
    get:
      summary: Get forms
      deprecated: false
      description: Gets a list of all forms in the account
      operationId: get-forms
      tags:
      - Pages and forms
      parameters:
      - name: assignedToAddressBookOnly
        in: query
        description: Set to true to only get surveys assigned from an address book. Set to false to only retrieve surveys that aren't assigned to an address book.
        required: false
        schema:
          type: boolean
      - name: select
        in: query
        description: Enter a number between 1 and 500 (0 is not a valid number). You can select a maximum of 500 results in a single request.
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: This is the number of records you want to skip.
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - Event Registration Form
                  url:
                    type: string
                    examples:
                    - https://dotmailer-surveys.com/001ln562-3411pu49
                  dateSurveyCreated:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  dateSurveyModified:
                    type: string
                    examples:
                    - 2020-01-02T09:40:18.527Z
                  state:
                    type: string
                    examples:
                    - Active
                  firstActiveDate:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  lastInactiveDate: {}
                  scheduledStartDate: {}
                  scheduledEndDate: {}
                  confirmationMode:
                    type: string
                    examples:
                    - Text
                  submissionMode:
                    type: string
                    examples:
                    - Single
                  fieldCount:
                    type: integer
                    default: 0
                    examples:
                    - 10
                  notifyCreatorOnResponse:
                    type: boolean
                    default: true
                    examples:
                    - false
                  respondentNotificationType:
                    type: string
                    examples:
                    - None
                  respondentNotificationCampaignId: {}
                  isAssignedToAddressBook:
                    type: boolean
                    default: true
                    examples:
                    - false
                  assignedAddressBookTarget:
                    type: string
                    examples:
                    - AllContacts
                  assignedSpecificAddressBookId: {}
                  firstResponseDate:
                    type: string
                    examples:
                    - 2020-01-02T09:40:18.527Z
                  lastResponseDate:
                    type: string
                    examples:
                    - 2020-01-06T09:40:18.527Z
                  totalCompleteResponses:
                    type: integer
                    default: 0
                    examples:
                    - 18
                  totalCompleteResponsesInLastDay:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  totalCompleteResponsesInLastWeek:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  totalIncompleteResponses:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  totalViews:
                    type: integer
                    default: 0
                    examples:
                    - 19
                  totalBounces:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  timeToCompleteMax:
                    type: integer
                    default: 0
                    examples:
                    - 12430747
                  timeToCompleteMin:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  timeToCompleteTotal:
                    type: integer
                    default: 0
                    examples:
                    - 12432973
                  sourceDirectTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceEmailTotal:
                    type: integer
                    default: 0
                    examples:
                    - 20
                  sourceEmbeddedTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourcePopoverTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceFacebookTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceTwitterTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceGooglePlusTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceOtherTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: Event Registration Form
                    url: https://dotmailer-surveys.com/001ln562-3411pu49
                    dateSurveyCreated: 2020-01-01T09:40:18.527Z
                    dateSurveyModified: 2020-01-02T09:40:18.527Z
                    state: Active
                    firstActiveDate: 2020-01-01T09:40:18.527Z
                    lastInactiveDate: null
                    scheduledStartDate: null
                    scheduledEndDate: null
                    confirmationMode: Text
                    submissionMode: Single
                    fieldCount: 10
                    notifyCreatorOnResponse: false
                    respondentNotificationType: None
                    respondentNotificationCampaignId: null
                    isAssignedToAddressBook: false
                    assignedAddressBookTarget: AllContacts
                    assignedSpecificAddressBookId: null
                    firstResponseDate: 2020-01-02T09:40:18.527Z
                    lastResponseDate: 2020-01-06T09:40:18.527Z
                    totalCompleteResponses: 18
                    totalCompleteResponsesInLastDay: 1
                    totalCompleteResponsesInLastWeek: 1
                    totalIncompleteResponses: 0
                    totalViews: 19
                    totalBounces: 1
                    timeToCompleteMax: 12430747
                    timeToCompleteMin: 1
                    timeToCompleteTotal: 12432973
                    sourceDirectTotal: 0
                    sourceEmailTotal: 20
                    sourceEmbeddedTotal: 0
                    sourcePopoverTotal: 0
                    sourceFacebookTotal: 0
                    sourceTwitterTotal: 0
                    sourceGooglePlusTotal: 0
                    sourceOtherTotal: 0
          headers: {}
  /surveys/{id}:
    get:
      summary: Get form by ID
      deprecated: false
      description: Gets a single form by its ID
      operationId: get-form-by-id
      tags:
      - Pages and forms
      parameters:
      - name: id
        in: path
        description: "The ID of the form, which needs to be included within the URL"
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - Event Registration Form
                  url:
                    type: string
                    examples:
                    - https://dotmailer-surveys.com/001ln562-3411pu49
                  dateSurveyCreated:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  dateSurveyModified:
                    type: string
                    examples:
                    - 2020-01-02T09:40:18.527Z
                  state:
                    type: string
                    examples:
                    - Active
                  firstActiveDate:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  lastInactiveDate: {}
                  scheduledStartDate: {}
                  scheduledEndDate: {}
                  confirmationMode:
                    type: string
                    examples:
                    - Text
                  submissionMode:
                    type: string
                    examples:
                    - Single
                  fieldCount:
                    type: integer
                    default: 0
                    examples:
                    - 10
                  notifyCreatorOnResponse:
                    type: boolean
                    default: true
                    examples:
                    - false
                  respondentNotificationType:
                    type: string
                    examples:
                    - None
                  respondentNotificationCampaignId: {}
                  isAssignedToAddressBook:
                    type: boolean
                    default: true
                    examples:
                    - false
                  assignedAddressBookTarget:
                    type: string
                    examples:
                    - AllContacts
                  assignedSpecificAddressBookId: {}
                  firstResponseDate:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  lastResponseDate:
                    type: string
                    examples:
                    - 2020-01-06T09:40:18.527Z
                  totalCompleteResponses:
                    type: integer
                    default: 0
                    examples:
                    - 18
                  totalCompleteResponsesInLastDay:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  totalCompleteResponsesInLastWeek:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  totalIncompleteResponses:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  totalViews:
                    type: integer
                    default: 0
                    examples:
                    - 19
                  totalBounces:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  timeToCompleteMax:
                    type: integer
                    default: 0
                    examples:
                    - 12430747
                  timeToCompleteMin:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  timeToCompleteTotal:
                    type: integer
                    default: 0
                    examples:
                    - 12432973
                  sourceDirectTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceEmailTotal:
                    type: integer
                    default: 0
                    examples:
                    - 20
                  sourceEmbeddedTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourcePopoverTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceFacebookTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceTwitterTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceGooglePlusTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceOtherTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: Event Registration Form
                    url: https://dotmailer-surveys.com/001ln562-3411pu49
                    dateSurveyCreated: 2020-01-01T09:40:18.527Z
                    dateSurveyModified: 2020-01-02T09:40:18.527Z
                    state: Active
                    firstActiveDate: 2020-01-01T09:40:18.527Z
                    lastInactiveDate: null
                    scheduledStartDate: null
                    scheduledEndDate: null
                    confirmationMode: Text
                    submissionMode: Single
                    fieldCount: 10
                    notifyCreatorOnResponse: false
                    respondentNotificationType: None
                    respondentNotificationCampaignId: null
                    isAssignedToAddressBook: false
                    assignedAddressBookTarget: AllContacts
                    assignedSpecificAddressBookId: null
                    firstResponseDate: 2020-01-01T09:40:18.527Z
                    lastResponseDate: 2020-01-06T09:40:18.527Z
                    totalCompleteResponses: 18
                    totalCompleteResponsesInLastDay: 1
                    totalCompleteResponsesInLastWeek: 1
                    totalIncompleteResponses: 0
                    totalViews: 19
                    totalBounces: 1
                    timeToCompleteMax: 12430747
                    timeToCompleteMin: 1
                    timeToCompleteTotal: 12432973
                    sourceDirectTotal: 0
                    sourceEmailTotal: 20
                    sourceEmbeddedTotal: 0
                    sourcePopoverTotal: 0
                    sourceFacebookTotal: 0
                    sourceTwitterTotal: 0
                    sourceGooglePlusTotal: 0
                    sourceOtherTotal: 0
          headers: {}
  /surveys/with-activity-since/{date}:
    get:
      summary: Get forms with activity since date
      deprecated: false
      description: Gets a list of forms in the account that have changed since the specified date
      operationId: get-forms-with-activity-since-date
      tags:
      - Pages and forms
      parameters:
      - name: date
        in: path
        description: "The date from which any forms with activity are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: assignedToAddressBookOnly
        in: query
        description: Set to true to only get surveys assigned from an address book. Set to false to only retrieve surveys that aren't assigned to an address book.
        required: false
        schema:
          type: boolean
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - Event Registration Form
                  url:
                    type: string
                    examples:
                    - https://dotmailer-surveys.com/001ln562-3411pu49
                  dateSurveyCreated:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  dateSurveyModified:
                    type: string
                    examples:
                    - 2020-01-02T09:40:18.527Z
                  state:
                    type: string
                    examples:
                    - Active
                  firstActiveDate:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  lastInactiveDate: {}
                  scheduledStartDate: {}
                  scheduledEndDate: {}
                  confirmationMode:
                    type: string
                    examples:
                    - Text
                  submissionMode:
                    type: string
                    examples:
                    - Single
                  fieldCount:
                    type: integer
                    default: 0
                    examples:
                    - 10
                  notifyCreatorOnResponse:
                    type: boolean
                    default: true
                    examples:
                    - false
                  respondentNotificationType:
                    type: string
                    examples:
                    - None
                  respondentNotificationCampaignId: {}
                  isAssignedToAddressBook:
                    type: boolean
                    default: true
                    examples:
                    - false
                  assignedAddressBookTarget:
                    type: string
                    examples:
                    - AllContacts
                  assignedSpecificAddressBookId: {}
                  firstResponseDate:
                    type: string
                    examples:
                    - 2020-01-01T12:40:18.527Z
                  lastResponseDate:
                    type: string
                    examples:
                    - 2020-01-10T09:40:18.527Z
                  totalCompleteResponses:
                    type: integer
                    default: 0
                    examples:
                    - 18
                  totalCompleteResponsesInLastDay:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  totalCompleteResponsesInLastWeek:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  totalIncompleteResponses:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  totalViews:
                    type: integer
                    default: 0
                    examples:
                    - 19
                  totalBounces:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  timeToCompleteMax:
                    type: integer
                    default: 0
                    examples:
                    - 12430747
                  timeToCompleteMin:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  timeToCompleteTotal:
                    type: integer
                    default: 0
                    examples:
                    - 12432973
                  sourceDirectTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceEmailTotal:
                    type: integer
                    default: 0
                    examples:
                    - 20
                  sourceEmbeddedTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourcePopoverTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceFacebookTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceTwitterTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceGooglePlusTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
                  sourceOtherTotal:
                    type: integer
                    default: 0
                    examples:
                    - 0
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: Event Registration Form
                    url: https://dotmailer-surveys.com/001ln562-3411pu49
                    dateSurveyCreated: 2020-01-01T09:40:18.527Z
                    dateSurveyModified: 2020-01-02T09:40:18.527Z
                    state: Active
                    firstActiveDate: 2020-01-01T09:40:18.527Z
                    lastInactiveDate: null
                    scheduledStartDate: null
                    scheduledEndDate: null
                    confirmationMode: Text
                    submissionMode: Single
                    fieldCount: 10
                    notifyCreatorOnResponse: false
                    respondentNotificationType: None
                    respondentNotificationCampaignId: null
                    isAssignedToAddressBook: false
                    assignedAddressBookTarget: AllContacts
                    assignedSpecificAddressBookId: null
                    firstResponseDate: 2020-01-01T12:40:18.527Z
                    lastResponseDate: 2020-01-10T09:40:18.527Z
                    totalCompleteResponses: 18
                    totalCompleteResponsesInLastDay: 1
                    totalCompleteResponsesInLastWeek: 1
                    totalIncompleteResponses: 0
                    totalViews: 19
                    totalBounces: 1
                    timeToCompleteMax: 12430747
                    timeToCompleteMin: 1
                    timeToCompleteTotal: 12432973
                    sourceDirectTotal: 0
                    sourceEmailTotal: 20
                    sourceEmbeddedTotal: 0
                    sourcePopoverTotal: 0
                    sourceFacebookTotal: 0
                    sourceTwitterTotal: 0
                    sourceGooglePlusTotal: 0
                    sourceOtherTotal: 0
          headers: {}
        "400":
          description: "400"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
  /surveys/{id}/fields:
    get:
      summary: Get form fields
      deprecated: false
      description: "Gets a list of a form's pages, each containing a list of the fields on that page"
      operationId: get-form-fields
      tags:
      - Pages and forms
      parameters:
      - name: id
        in: path
        description: The ID of the form you want to get the fields from.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name: {}
                    fields:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            default: 0
                            examples:
                            - 15
                          type:
                            type: string
                            examples:
                            - email
                          text:
                            type: string
                            examples:
                            - Email address
                          isRequired:
                            type: boolean
                            default: true
                            examples:
                            - true
                          defaultValue: {}
                          mode:
                            type: string
                            examples:
                            - singleline
                          choices:
                            type: array
                            items:
                              type: string
                          subFields:
                            type: array
                            items:
                              type: string
                          hasOtherOption:
                            type: boolean
                            default: true
                            examples:
                            - false
                          otherOptionChoiceId:
                            type: integer
                            default: 0
                            examples:
                            - 0
                          otherOptionSubFieldId:
                            type: integer
                            default: 0
                            examples:
                            - 0
                          otherOptionTextFieldId:
                            type: integer
                            default: 0
                            examples:
                            - 0
                          isAssignedToContactDataField:
                            type: boolean
                            default: true
                            examples:
                            - true
                          assignedContactDataFieldName:
                            type: string
                            examples:
                            - Email
                          assignedContactDataExistsAction:
                            type: string
                            examples:
                            - OverwriteData
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: null
                    fields:
                    - id: 15
                      type: email
                      text: Email address
                      isRequired: true
                      defaultValue: null
                      mode: singleline
                      choices: []
                      subFields: []
                      hasOtherOption: false
                      otherOptionChoiceId: 0
                      otherOptionSubFieldId: 0
                      otherOptionTextFieldId: 0
                      isAssignedToContactDataField: true
                      assignedContactDataFieldName: Email
                      assignedContactDataExistsAction: OverwriteData
                    - id: 9
                      type: radiolist
                      text: "Please could you select your age range from the list below:"
                      isRequired: false
                      defaultValue: null
                      mode: null
                      choices:
                      - id: 2
                        text: Under 18
                      - id: 3
                        text: 18-24
                      - id: 4
                        text: 25-34
                      - id: 5
                        text: 35-44
                      - id: 6
                        text: 45-54
                      - id: 7
                        text: 55-64
                      - id: 8
                        text: 65 or Above
                      subFields: []
                      hasOtherOption: false
                      otherOptionChoiceId: 0
                      otherOptionSubFieldId: 0
                      otherOptionTextFieldId: 0
                      isAssignedToContactDataField: false
                      assignedContactDataFieldName: null
                      assignedContactDataExistsAction: OverwriteData
          headers: {}
  /surveys/{id}/responses:
    get:
      summary: Get form responses
      deprecated: false
      description: Gets a list of all responses for a specified form
      operationId: get-form-responses
      tags:
      - Pages and forms
      parameters:
      - name: id
        in: path
        description: The ID of the form to get responses from.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    email:
                      type: string
                      examples:
                      - john.smith@example.com
                    started:
                      type: boolean
                      default: true
                      examples:
                      - true
                    dateStarted:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    complete:
                      type: boolean
                      default: true
                      examples:
                      - true
                    dateCompleted:
                      type: string
                      examples:
                      - 2020-01-01T10:40:18.527Z
                    givenAnswers:
                      type: array
                      items:
                        type: object
                        properties:
                          fieldId:
                            type: integer
                            default: 0
                            examples:
                            - 15
                          subFieldId: {}
                          value:
                            type: string
                            examples:
                            - john.smith@example.com
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    email: john.smith@example.com
                    started: true
                    dateStarted: 2020-01-01T09:40:18.527Z
                    complete: true
                    dateCompleted: 2020-01-01T10:40:18.527Z
                    givenAnswers:
                    - fieldId: 15
                      subFieldId: null
                      value: john.smith@example.com
                    - fieldId: 9
                      subFieldId: null
                      value: 6
          headers: {}
  /surveys/{id}/responses/with-activity-since/{date}:
    get:
      summary: Get form responses with activity since date
      deprecated: false
      description: Gets a list of responses that have changed since the specified date
      operationId: get-form-responses-with-activity-since-date
      tags:
      - Pages and forms
      parameters:
      - name: id
        in: path
        description: The ID of the form to get responses from.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which responses with activity are returned. Format: ISO 8601."
        required: true
        example: ""
        schema:
          type: string
          format: date
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  email:
                    type: string
                    examples:
                    - john.smith@example.com
                  started:
                    type: boolean
                    default: true
                    examples:
                    - true
                  dateStarted:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  complete:
                    type: boolean
                    default: true
                    examples:
                    - true
                  dateCompleted:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  givenAnswers:
                    type: array
                    items:
                      type: object
                      properties:
                        fieldId:
                          type: integer
                          default: 0
                          examples:
                          - 15
                        subFieldId: {}
                        value:
                          type: string
                          examples:
                          - john.smith@example.com
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    email: john.smith@example.com
                    started: true
                    dateStarted: 2020-01-01T09:40:18.527Z
                    complete: true
                    dateCompleted: 2020-01-01T09:40:18.527Z
                    givenAnswers:
                    - fieldId: 15
                      subFieldId: null
                      value: john.smith@example.com
                    - fieldId: 9
                      subFieldId: null
                      value: 6
          headers: {}
  /programs/enrolments:
    post:
      summary: Create program enrolment
      deprecated: false
      description: Creates a program enrolment
      operationId: create-program-enrolment
      tags:
      - Programs
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - programId
              properties:
                programId:
                  type: integer
                  description: The ID of the program
                  format: int32
                contacts:
                  type: array
                  description: The IDs of the contacts to be enrolled into the program
                  maxItems: 25
                  minItems: 1
                  items:
                    type: integer
                    format: int32
                addressBooks:
                  type: array
                  description: The IDs of the address books to be enrolled into the program
                  items:
                    type: integer
                    format: int32
            examples:
              Request Example:
                value:
                  programId: 1
                  contacts:
                  - 3
                  - 4
                  - 5
                  - 6
                  - 7
                  - 8
                  - 9
                  - 10
                  - 11
                  - 12
                  - 13
                  - 14
                  - 15
                  - 16
                  - 17
                  - 18
                  - 19
                  - 20
                  - 21
                  - 22
                  - 23
                  addressBooks:
                  - 3
                  - 4
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - b0ff06d6-af04-4af8-a299-51bcbad94c1c
                  programId:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  status:
                    type: string
                    examples:
                    - Processing
                  dateCreated:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  contacts: {}
                  addressBooks: {}
              examples:
                Result:
                  summary: Result
                  value:
                    id: b0ff06d6-af04-4af8-a299-51bcbad94c1c
                    programId: 1
                    status: Processing
                    dateCreated: 2020-01-01T09:40:18.527Z
                    contacts: null
                    addressBooks: null
          headers: {}
  /programs:
    get:
      summary: Get programs
      deprecated: false
      description: Gets a list of all the programs from your account
      operationId: get-programs
      tags:
      - Programs
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Birthday program
                    status:
                      type: string
                      examples:
                      - Active
                    dateCreated:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Birthday program
                    status: Active
                    dateCreated: 2020-01-01T09:40:18.527Z
                  - id: 2
                    name: Promo
                    status: Deactivated
                    dateCreated: 2020-01-01T09:40:18.527Z
                  - id: 3
                    name: Visit
                    status: Draft
                    dateCreated: 2020-01-01T09:40:18.527Z
                  - id: 4
                    name: Ads
                    status: ReadOnly
                    dateCreated: 2020-01-01T09:40:18.527Z
          headers: {}
  /programs/{id}:
    get:
      summary: Get program by ID
      deprecated: false
      description: Gets a program by its ID
      operationId: get-program-by-id
      tags:
      - Programs
      parameters:
      - name: id
        in: path
        description: The numeric identifier of the program you want details for.
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - Birthday program
                  status:
                    type: string
                    examples:
                    - Active
                  dateCreated:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: Birthday program
                    status: Active
                    dateCreated: 2020-01-01T09:40:18.527Z
          headers: {}
  /programs/enrolments/{id}/report-faults:
    get:
      summary: Get program enrolment report faults
      deprecated: false
      description: "Gets all contacts that were not successfully enrolled, by enrolment ID"
      operationId: get-program-enrolment-report-faults
      tags:
      - Programs
      parameters:
      - name: id
        in: path
        description: "The enrolment ID in [GUID](url:http://guid.one/guid) format."
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            text/plain:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    ContactId,Email,Reason
                    35140,karina.plain@example.com,Unsubscribed
          headers: {}
  /programs/enrolments/{selector}:
    get:
      summary: Get program
      deprecated: false
      description: |-
        Gets a program by either:
        - The enrolment ID in [GUID](url:http://guid.one/guid) format.
        - The program enrolment status.
      operationId: get-program-enrolment
      tags:
      - Programs
      parameters:
      - name: selector
        in: path
        description: |-
          This can be either:
          - The enrolment ID in [GUID](url:http://guid.one/guid) format.
          - The program enrolment status: *processing* or *finished*.
        required: true
        schema:
          oneOf:
          - type: string
            description: The enrolment ID
          - type: string
            description: The program enrolment status
            enum:
            - processing
            - finished
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - b0ff06d6-af04-4af8-a299-51bcbad94c1c
                  programId:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  status:
                    type: string
                    examples:
                    - Finished
                  dateCreated:
                    type: string
                    examples:
                    - 2020-01-01T09:40:18.527Z
                  contacts:
                    type: array
                    items:
                      type: integer
                      default: 0
                      examples:
                      - 3
                  addressBooks:
                    type: array
                    items:
                      type: integer
                      default: 0
                      examples:
                      - 3
              examples:
                Result:
                  summary: Result
                  value:
                    id: b0ff06d6-af04-4af8-a299-51bcbad94c1c
                    programId: 1
                    status: Finished
                    dateCreated: 2020-01-01T09:40:18.527Z
                    contacts:
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    - 13
                    - 14
                    - 15
                    - 16
                    - 17
                    - 18
                    - 19
                    - 20
                    - 21
                    - 22
                    - 23
                    addressBooks:
                    - 3
                    - 4
        "400":
          description: "400"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
  /products/recommendations:
    get:
      summary: Get all product recommendations
      deprecated: false
      description: Gets all product recommendations
      operationId: get-all-product-recommendations
      tags:
      - Programs
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    dateLastRefreshed:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    dateModified:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    dateLastUsed:
                      type: string
                      examples:
                      - 2020-01-01T09:40:18.527Z
                    name:
                      type: string
                      examples:
                      - Best sellers
                    type:
                      type: string
                      examples:
                      - BestSellers
                    status:
                      type: string
                      examples:
                      - Failed
                    fallbackRecommendationId:
                      type: integer
                      default: 0
                      examples:
                      - 0
                    revenue:
                      type: integer
                      default: 0
                      examples:
                      - 0
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    dateLastRefreshed: 2020-01-01T09:40:18.527Z
                    dateModified: 2020-01-01T09:40:18.527Z
                    dateLastUsed: 2020-01-01T09:40:18.527Z
                    name: Best sellers
                    type: BestSellers
                    status: Failed
                    fallbackRecommendationId: 0
                    revenue: 0
                  - id: 3021
                    dateLastRefreshed: 2020-01-01T09:40:18.527Z
                    dateModified: 2020-01-01T09:40:18.527Z
                    dateLastUsed: 2020-01-01T09:40:18.527Z
                    name: Best sellers 2
                    type: BestSellers
                    status: Ready
                    fallbackRecommendationId: 0
                    revenue: 0
                  - id: 6029
                    dateLastRefreshed: 2020-01-01T09:40:18.527Z
                    dateModified: 2020-01-01T09:40:18.527Z
                    dateLastUsed: 2020-01-01T09:40:18.527Z
                    name: Also bought
                    type: AlsoBought
                    status: InProgress
                    fallbackRecommendationId: 0
                    revenue: 0
          headers: {}
  /sms/campaigns:
    post:
      summary: Create SMS campaign
      deprecated: false
      description: Creates a new SMS campaign
      operationId: create-sms-campaign
      tags:
      - SMS campaigns
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - message
              properties:
                name:
                  type: string
                  description: "The name of the SMS campaign that is being created. Maximum: 255 characters."
                message:
                  type: string
                  description: The message content of the SMS campaign that is being created.
                sendingIdentity:
                  type: string
                  description: "The sending identity (From name) to use in the SMS campaign. If a sending identity is specified, it must exist on your account as a sending identity (found in 'SMS from names'). If you don't specify a sending identity, the default identity from your account is used for this SMS campaign. Maximum: 15 characters."
                toggleShortLinks:
                  type: boolean
                  description: "Defines whether or not the new campaign is going to shorten links within the SMS content. If specified as true, it validates all links in the SMS message to look for any formatting errors. If errors are found, an error is returned."
            examples:
              Request Example:
                value:
                  name: SMS test campaign
                  message: Test SMS campaign message content
                  sendingIdentity: dotdigital
                  toggleShortLinks: "false"
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - SMS Test Campaign
                  message:
                    type: string
                    examples:
                    - Test SMS campaign message content
                  sendingIdentity:
                    type: string
                    examples:
                    - dotdigital
                  sendingIdentityId:
                    type: string
                    examples:
                    - "1"
                  toggleShortLinks:
                    type: string
                    examples:
                    - "false"
                  status:
                    type: string
                    examples:
                    - unsent
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: SMS Test Campaign
                    message: Test SMS campaign message content
                    sendingIdentity: dotdigital
                    sendingIdentityId: "1"
                    toggleShortLinks: "false"
                    status: unsent
          headers: {}
    get:
      summary: Get SMS campaigns
      deprecated: false
      description: Returns existing SMS campaigns
      operationId: get-sms-campaigns
      tags:
      - SMS campaigns
      parameters:
      - name: select
        in: query
        description: "This is the number of SMS campaigns you want to display per call. Maximum: 1000."
        required: true
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: "This is the number of records you want to skip. For example, if you want to return page 3 for select size 1,000, you would set the query parameter to be baseurl?select=1000&skip=2000. This would return records 2001-3000."
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    {
                    "id": 1,
                    "name": "SMS Test Campaign",
                    "message": null,
                    "sendingIdentityId": "123",
                    "sendingIdentity": "dotdigital",
                    "status": "Sent",
                    "toggleShortLinks": "false"
                    },
                    {
                    "id": 2,
                    "name": "SMS Test Campaign 2",
                    "message": null,
                    "sendingIdentityId": "123",
                    "sendingIdentity": "dotdigital",
                    "status": "Sent",
                    "toggleShortLinks": "true"
                    }
          headers: {}
  /sms/campaigns/copy:
    post:
      summary: Copy SMS campaign
      deprecated: false
      description: Create a copy of an existing SMS campaign
      operationId: copy-sms-campaign
      tags:
      - SMS campaigns
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - campaignId
              - copyName
              properties:
                campaignId:
                  type: integer
                  description: The ID of the SMS campaign to copy. Must be a valid campaign. Deleted campaigns can't be copied.
                  format: int32
                copyName:
                  type: string
                  description: "The name of the new SMS campaign created from the copy. Maximum: 255 characters."
            examples:
              Request Example:
                value:
                  campaignId: "1"
                  copyName: API Copy SMS Campaign
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - API Copied SMS
                  message:
                    type: string
                    examples:
                    - Message Copied from existing Campaign
                  sendingIdentityId:
                    type: string
                    examples:
                    - "1"
                  sendingIdentity:
                    type: string
                    examples:
                    - dotdigital
                  toggleShortLinks:
                    type: string
                    examples:
                    - "true"
                  status:
                    type: string
                    examples:
                    - Unsent
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: API Copied SMS
                    message: Message Copied from existing Campaign
                    sendingIdentityId: "1"
                    sendingIdentity: dotdigital
                    toggleShortLinks: "true"
                    status: Unsent
          headers: {}
  /sms/campaigns/{campaignId}:
    get:
      summary: Get SMS campaign
      deprecated: false
      description: Returns an existing SMS campaign
      operationId: get-sms-campaign
      tags:
      - SMS campaigns
      parameters:
      - name: campaignId
        in: path
        description: The ID of the campaign you want to return
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  name:
                    type: string
                    examples:
                    - SMS Test Campaign
                  message:
                    type: string
                    examples:
                    - Test SMS campaign message content
                  sendingIdentityId:
                    type: string
                    examples:
                    - "123"
                  sendingIdentity:
                    type: string
                    examples:
                    - dotdigital
                  status:
                    type: string
                    examples:
                    - Sent
                  toggleShortLinks:
                    type: string
                    examples:
                    - "false"
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    name: SMS Test Campaign
                    message: Test SMS campaign message content
                    sendingIdentityId: "123"
                    sendingIdentity: dotdigital
                    status: Sent
                    toggleShortLinks: "false"
          headers: {}
    put:
      summary: Update SMS campaign
      deprecated: false
      description: Updates an existing SMS campaign
      operationId: update-sms-campaign
      tags:
      - SMS campaigns
      parameters:
      - name: campaignId
        in: path
        description: This is the ID of the campaign you want to update.
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - message
              properties:
                name:
                  type: string
                  description: The name of the SMS campaign you want to update.
                message:
                  type: string
                  description: The new message content for the SMS you want to update.
                sendingIdentity:
                  type: string
                  description: "The sending identity (From name) to use in the SMS campaign. If a sending identity is specified, it must exist on your account as a sending identity (found in 'SMS from names'). If you don't specify a sending identity, the default identity from your account is used for this SMS campaign. Maximum: 15 characters."
                toggleShortLinks:
                  type: boolean
                  description: "Defines whether or not the new campaign is going to shorten links within the SMS content. If specified as true, it validates all links in the SMS message to look for any formatting errors. If errors are found"
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
        "400":
          description: "400"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
    delete:
      summary: Delete SMS campaign
      deprecated: false
      description: Marks an existing SMS campaign as deleted
      operationId: delete-sms-campaign
      tags:
      - SMS campaigns
      parameters:
      - name: campaignId
        in: path
        description: This is the ID of the campaign you want to mark as deleted
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
  /sms-messages/send-to/{telephoneNumber}:
    post:
      summary: Send SMS message
      deprecated: false
      description: Sends a single SMS message
      operationId: send-sms-message
      tags:
      - SMS campaigns
      parameters:
      - name: telephoneNumber
        in: path
        description: The mobile number of the contact.
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  description: The SMS message you want to send.
            examples:
              Request Example:
                value:
                  message: Hello. We're pleased to tell you that your order has now been dispatched.
                summary: Request Example
      responses:
        "204":
          description: "204"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
  /email:
    post:
      summary: Send transactional email
      deprecated: false
      description: Send a transactional email to one recipient
      operationId: send-transactional-email
      tags:
      - Transactional email
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - toAddresses
              - subject
              properties:
                toAddresses:
                  type: array
                  description: The email address(es) to send to
                  items:
                    type: string
                ccAddresses:
                  type: array
                  description: "The CC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                  items:
                    type: string
                bccAddresses:
                  type: array
                  description: "The BCC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                  items:
                    type: string
                subject:
                  type: string
                  description: The subject line for your email
                fromAddress:
                  type: string
                  description: "The From address for your email. Note: The From address must already be added to your account. Otherwise, your account's default From address is used."
                htmlContent:
                  type: string
                  description: The HTML content for your email
                plainTextContent:
                  type: string
                  description: The plain text content for your email
                metadata:
                  type: string
                  description: The metadata for your email. JSON object a max of 1500 characters.
                tags:
                  type: array
                  description: An array of custom-defined tags to filter and report on data
                  items:
                    type: string
                attachments:
                  type: array
                  description: "A Base64 encoded string. All attachment types are supported. Maximum file size: 15 MB"
                  items:
                    properties:
                      fileName:
                        type: string
                        description: The file name for the attachment
                      mimeType:
                        type: string
                        description: The MIME type of the file
                      content:
                        type: string
                        description: "Base64 data for the file, max 15MB"
                    required:
                    - fileName
                    - mimeType
                    - content
                    type: object
      responses:
        "200":
          description: "200"
          content:
            text/plain:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: The result returned will be a '200 OK' with no content in the response.
          headers: {}
  /email/batch:
    post:
      summary: Send batch transactional email
      deprecated: false
      description: Send a transactional email to multiple recipients
      operationId: send-batch-transactional-email
      tags:
      - Transactional email
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - RAW_BODY
              properties:
                RAW_BODY:
                  type: array
                  description: An array of transactional emails to send
                  items:
                    properties:
                      toAddresses:
                        type: array
                        description: The email address(es) to send to
                        default: []
                        items:
                          type: string
                      ccAddresses:
                        type: array
                        description: "The CC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                        default: []
                        items:
                          type: string
                      bccAddresses:
                        type: array
                        description: "The BCC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                        default: []
                        items:
                          type: string
                      subject:
                        type: string
                        description: The subject line for your email
                      fromAddress:
                        type: string
                        description: The from address for your email
                      htmlContent:
                        type: string
                        description: The HTML content for your email
                      plainTextContent:
                        type: string
                        description: The plain text content for your email
                      tags:
                        type: array
                        description: An array of custom-defined tags to filter and report on data
                        default: []
                        items:
                          type: string
                      metadata:
                        type: string
                        description: The metadata for your email. JSON object a max of 1500 characters.
                      attachments:
                        type: array
                        description: "A Base64 encoded string. All attachment types are supported. Maximum file size: 15 MB"
                        items:
                          properties:
                            fileName:
                              type: string
                              description: The file name for the attachment
                            mimeType:
                              type: string
                              description: The MIME type of the file
                            content:
                              type: string
                              description: "Base64 data for the file, max 15MB"
                          required:
                          - fileName
                          - mimeType
                          - content
                          type: object
                    required:
                    - toAddresses
                    - subject
                    type: object
            examples:
              Request Example:
                value:
                - toAddresses:
                  - test1@randomdomain.com
                  subject: Enter Subject line here
                  fromAddress: tests@mycompany.com
                  htmlContent: ""
                  plainTextContent: This is an email with no associated metadata.
                - toAddresses:
                  - test2@randomdomain.com
                  - test3@anotherdomain.com
                  subject: Your test email is here
                  fromAddress: tests@mycompany.com
                  htmlContent: ""
                  plainTextContent: This is an email with no associated metadata.
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    index:
                      type: integer
                      default: 0
                      examples:
                      - 0
              examples:
                Result:
                  summary: Result
                  value:
                  - index: 0
                  - failureCode: ERROR_PARAMETER_INVALID
                    failureReason: ToAddresses field is empty or invalid. ERROR_PARAMETER_INVALID
                    index: 1
                  - index: 2
          headers: {}
  /email/triggered-campaign:
    post:
      summary: Send transactional email using a triggered campaign
      deprecated: false
      description: Sends a transactional email using a triggered campaign
      operationId: send-transactional-email-using-a-triggered-campaign
      tags:
      - Transactional email
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - toAddresses
              - campaignId
              properties:
                toAddresses:
                  type: array
                  description: The email address(es) to send to
                  items:
                    type: string
                ccAddresses:
                  type: array
                  description: "The CC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                  items:
                    type: string
                bccAddresses:
                  type: array
                  description: "The BCC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                  items:
                    type: string
                fromAddress:
                  type: string
                  description: "The From address for your email. Note: The From address must already be added to your account. Otherwise, your account's default From address is used."
                campaignId:
                  type: integer
                  description: "The ID of the triggered campaign, which needs to be included within the request body."
                  format: int32
                personalizationValues:
                  type: array
                  description: Each personalisation value is a key-value pair; the placeholder name of the personalization value needs to be included in the request body.
                  items:
                    properties:
                      name:
                        type: string
                        description: Name of the data pair
                      value:
                        type: string
                        description: Value of the pair
                    required:
                    - name
                    - value
                    type: object
                metadata:
                  type: string
                  description: The metadata for your email. JSON object a max of 1500 characters.
                attachments:
                  type: array
                  description: "A Base64 encoded string. All attachment types are supported. Maximum file size: 15 MB."
                  items:
                    properties:
                      fileName:
                        type: string
                        description: The file name for the attachment
                      mimeType:
                        type: string
                        description: The MIME type of the file
                      content:
                        type: string
                        description: "Base64 data for the file, max 15MB"
                    required:
                    - fileName
                    - mimeType
                    - content
                    type: object
      responses:
        "200":
          description: "200"
          content:
            text/plain:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: The result returned will be a '200 OK' with no content in the response.
          headers: {}
  /email/triggered-campaign/batch:
    post:
      summary: Send batch transactional email using a triggered campaign
      deprecated: false
      description: ""
      operationId: send-batch-transactional-email-using-a-triggered-campaign
      tags:
      - Transactional email
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - RAW_BODY
              properties:
                RAW_BODY:
                  type: array
                  description: An array of transactional emails to send
                  items:
                    properties:
                      toAddresses:
                        type: array
                        description: The email address(es) to send to
                        default: []
                        items:
                          type: string
                      ccAddresses:
                        type: array
                        description: "The CC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                        default: []
                        items:
                          type: string
                      bccAddresses:
                        type: array
                        description: "The BCC email address or address to to send to. separate email addresses with a comma. Maximum: 100"
                        default: []
                        items:
                          type: string
                      fromAddress:
                        type: string
                        description: The from address for your email
                      campaignId:
                        type: integer
                        description: "The ID of the triggered campaign, which needs to be included within the request body."
                        format: int32
                      personalizationValues:
                        type: array
                        description: Each personalisation value is a key-value pair; the placeholder name of the personalization value needs to be included in the request body.
                        items:
                          properties:
                            name:
                              type: string
                              description: Name of the data pair
                            value:
                              type: string
                              description: Value of the pair
                          required:
                          - name
                          - value
                          type: object
                      metadata:
                        type: string
                        description: The metadata for your email. JSON object a max of 1500 characters.
                      attachments:
                        type: array
                        description: "A Base64 encoded string. All attachment types are supported. Maximum file size: 15 MB"
                        items:
                          properties:
                            fileName:
                              type: string
                              description: The file name for the attachment
                            mimeType:
                              type: string
                              description: The MIME type of the file
                            content:
                              type: string
                              description: "Base64 data for the file, max 15MB"
                          required:
                          - fileName
                          - mimeType
                          - content
                          type: object
                    required:
                    - toAddresses
                    - campaignId
                    type: object
            examples:
              Request Example:
                value:
                - toAddresses:
                  - test1@example.com
                  campaignId: 1043
                - toAddresses:
                  - test2@example.com
                  - test3@example.com
                  campaignId: 456
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    index:
                      type: integer
                      default: 0
                      examples:
                      - 0
              examples:
                Result:
                  summary: Result
                  value:
                  - index: 0
                  - index: 1
          headers: {}
  /email/stats/since-date/{date}:
    get:
      summary: Get transactional email statistics
      deprecated: false
      description: Gets transactional email reporting statistics for a specified time period
      operationId: get-transactional-email-statistics
      tags:
      - Transactional email
      parameters:
      - name: date
        in: path
        description: The UTC date (yyyy-mm-dd) from which transactional email reporting statistics will be returned
        required: true
        example: ""
        schema:
          type: string
          format: date
          default: 2021-01-01
      - name: endDate
        in: query
        description: The UTC end date (yyyy-mm-dd) up to which transactional email reporting statistics will be returned (inclusive)
        required: false
        schema:
          type: string
          format: date
      - name: aggregatedBy
        in: query
        description: The data aggregation period for transactional email reporting statistics
        required: false
        schema:
          type: string
          enum:
          - AllTime
          - Month
          - Week
          - Day
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    startDate:
                      type: string
                      examples:
                      - 2021-04-06T00:00:00Z
                    endDate:
                      type: string
                      examples:
                      - 2021-04-30T23:59:59Z
                    numSent:
                      type: integer
                      default: 0
                      examples:
                      - 50
                    numDelivered:
                      type: integer
                      default: 0
                      examples:
                      - 23
                    numOpens:
                      type: integer
                      default: 0
                      examples:
                      - 40
                    numClicks:
                      type: integer
                      default: 0
                      examples:
                      - 0
                    numIspComplaints:
                      type: integer
                      default: 0
                      examples:
                      - 0
                    numBounces:
                      type: integer
                      default: 0
                      examples:
                      - 27
              examples:
                Result:
                  summary: Result
                  value:
                  - startDate: 2021-04-06T00:00:00Z
                    endDate: 2021-04-30T23:59:59Z
                    numSent: 50
                    numDelivered: 23
                    numOpens: 40
                    numClicks: 0
                    numIspComplaints: 0
                    numBounces: 27
                  - startDate: 2021-05-01T00:00:00Z
                    endDate: 2021-05-31T23:59:59Z
                    numSent: 51
                    numDelivered: 37
                    numOpens: 33
                    numClicks: 0
                    numIspComplaints: 0
                    numBounces: 14
                  - startDate: 2021-06-01T00:00:00Z
                    endDate: 2021-06-30T23:59:59Z
                    numSent: 9
                    numDelivered: 9
                    numOpens: 10
                    numClicks: 0
                    numIspComplaints: 0
                    numBounces: 0
                  - startDate: 2021-07-01T00:00:00Z
                    endDate: 2021-07-31T23:59:59Z
                    numSent: 8
                    numDelivered: 8
                    numOpens: 9
                    numClicks: 0
                    numIspComplaints: 0
                    numBounces: 0
          headers: {}
  /address-books/{id}/contacts:
    post:
      summary: Add contact to address book
      deprecated: true
      description: Adds a contact to a given address book
      operationId: add-contact-to-address-book
      tags:
      - Address books
      parameters:
      - name: id
        in: path
        description: The id of the address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              properties:
                email:
                  type: string
                  description: The email address of the contact
                optInType:
                  type: string
                  description: The opt-in type of the contact
                  enum:
                  - Unknown
                  - Single
                  - Double
                  - VerifiedDouble
                emailType:
                  type: string
                  description: The email type of the contact
                  enum:
                  - PlainText
                  - Html
                dataFields:
                  type: array
                  description: The data fields for the contact
                  items:
                    properties:
                      key:
                        type: string
                        description: The key name
                      value:
                        type: string
                        description: The value associated with the key
                    required:
                    - key
                    - value
                    type: object
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  email:
                    type: string
                    examples:
                    - john.smith@example.com
                  optInType:
                    type: string
                    examples:
                    - Single
                  emailType:
                    type: string
                    examples:
                    - Html
                  dataFields:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          examples:
                          - FIRSTNAME
                        value:
                          type: string
                          examples:
                          - John
                  status:
                    type: string
                    examples:
                    - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                    id: 1
                    email: john.smith@example.com
                    optInType: Single
                    emailType: Html
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: LASTSUBSCRIBED
                      value: 2020-01-01T09:40:18.527Z
                    - key: POSTCODE
                      value: N5 1DP
                    status: Subscribed
          headers: {}
    get:
      summary: Get contacts from address book
      deprecated: true
      description: Gets a list of contacts in a given address book or segment by id
      operationId: get-contacts-from-address-book
      tags:
      - Address books
      parameters:
      - name: id
        in: path
        description: The id of the address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: withFullData
        in: query
        description: Can be set to 'true' to retrieve the contacts along with their full contact data fields
        required: false
        schema:
          type: boolean
          default: false
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 5
                    email:
                      type: string
                      examples:
                      - darryl.netherland@example.com
                    optInType:
                      type: string
                      examples:
                      - Single
                    emailType:
                      type: string
                      examples:
                      - PlainText
                    dataFields: {}
                    status:
                      type: string
                      examples:
                      - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 5
                    email: darryl.netherland@example.com
                    optInType: Single
                    emailType: PlainText
                    dataFields: null
                    status: Subscribed
                  - id: 17
                    email: dora.judge@example.com
                    optInType: Single
                    emailType: PlainText
                    dataFields: null
                    status: Subscribed
                  - id: 21
                    email: deonna.medine@example.com
                    optInType: Single
                    emailType: PlainText
                    dataFields: null
                    status: Subscribed
          headers: {}
  /address-books/{id}/contacts/import/with-merge-option/{mergeOption}:
    post:
      summary: Bulk import contacts in address book with merge option
      deprecated: false
      description: "Bulk creates, or bulk updates, contacts in an address book with merge option"
      operationId: bulk-import-contacts-in-address-book-with-merge-option
      tags:
      - Lists / Address books
      parameters:
      - name: id
        in: path
        description: The address book id
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: mergeOption
        in: path
        description: "For Merge options: you can update all data fields by entering '0', avoid updating data fields that contain blank values by entering '1', or you can choose not to update data fields that contain values by entering '2'"
        required: true
        example: ""
        schema:
          type: string
          enum:
          - "0"
          - "1"
          - "2"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - filename
              - data
              properties:
                filename:
                  type: string
                  description: The filename of the file being uploaded
                data:
                  type: string
                  description: "The [base64](https://en.wikipedia.org/wiki/Base64) data for the file"
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                  status:
                    type: string
                    examples:
                    - NotFinished
              examples:
                Result:
                  summary: Result
                  value:
                    id: af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                    status: NotFinished
          headers: {}
      x-readme:
        code-samples:
        - language: text
          code: |-
            Email,Firstname,Lastname,Postcode,Customfield_1,Customfield_2
            user1@example.com,Bob,Smith,LXS123,Yes,100
            user2@example.com,Frank,Smith,LXS121,No,200
            user3@example.com,Sarah,Smith,LXS124,Yes,300
          name: CSV Example
        samples-languages:
        - text
  /address-books/{id}/contacts/modified-since/{date}:
    get:
      summary: Get modified contacts in address book since date
      deprecated: true
      description: "Gets a list of contacts who were modified since a given date, in a given address book or segment"
      operationId: get-modified-contacts-in-address-book-since-date
      tags:
      - Address books
      parameters:
      - name: id
        in: path
        description: The id of the address book
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: date
        in: path
        description: "The date from which any modified contacts are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: withFullData
        in: query
        description: Can be set to 'true' to retrieve the contacts along with their full contact data fields
        required: false
        schema:
          type: boolean
          default: false
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 5
                    email:
                      type: string
                      examples:
                      - darryl.netherland@example.com
                    optInType:
                      type: string
                      examples:
                      - Single
                    emailType:
                      type: string
                      examples:
                      - PlainText
                    dataFields: {}
                    status:
                      type: string
                      examples:
                      - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 5
                    email: darryl.netherland@example.com
                    optInType: Single
                    emailType: PlainText
                    dataFields: null
                    status: Subscribed
                  - id: 17
                    email: dora.judge@example.com
                    optInType: Single
                    emailType: PlainText
                    dataFields: null
                    status: Subscribed
                  - id: 21
                    email: deonna.medine@example.com
                    optInType: Single
                    emailType: PlainText
                    dataFields: null
                    status: Subscribed
          headers: {}
  /contacts:
    post:
      summary: Create contact
      deprecated: true
      description: Creates or updates a contact
      operationId: create-contact
      tags:
      - Email contacts
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              properties:
                email:
                  type: string
                  description: The email address of the contact
                optInType:
                  type: string
                  description: The opt-in type of the contact
                  enum:
                  - Unknown
                  - Single
                  - Double
                  - VerifiedDouble
                emailType:
                  type: string
                  description: The email type of the contact
                  enum:
                  - PlainText
                  - Html
                dataFields:
                  type: array
                  description: Each contact data field is a key-value pair; the key is a string matching the data field name in Dotdigital
                  items:
                    properties:
                      key:
                        type: string
                        description: The key name
                      value:
                        type: string
                        description: The value associated with the key
                    required:
                    - key
                    - value
                    type: object
            examples:
              Request Example:
                value:
                  email: john.smith@emailsim.io
                  optInType: Single
                  emailType: Html
                  dataFields:
                  - key: FIRSTNAME
                    value: John
                  - key: FULLNAME
                    value: John Smith
                  - key: GENDER
                    value: Male
                  - key: LASTNAME
                    value: Smith
                  - key: POSTCODE
                    value: N5 1DP
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 100
                  email:
                    type: string
                    examples:
                    - john.smith@emailsim.io
                  optInType:
                    type: string
                    examples:
                    - Single
                  emailType:
                    type: string
                    examples:
                    - Html
                  dataFields:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          examples:
                          - FIRSTNAME
                        value:
                          type: string
                          examples:
                          - John
                  status:
                    type: string
                    examples:
                    - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                    id: 100
                    email: john.smith@emailsim.io
                    optInType: Single
                    emailType: Html
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: LASTSUBSCRIBED
                      value: 2016-08-01T10:09:22
                    - key: POSTCODE
                      value: N5 1DP
                    status: Subscribed
          headers: {}
    get:
      summary: Get contacts
      deprecated: true
      description: Gets a list of all contacts in the account
      operationId: get-contacts
      tags:
      - Email contacts
      parameters:
      - name: withFullData
        in: query
        description: Can be set to 'true' to retrieve the contacts along with their full contact data fields
        required: false
        schema:
          type: boolean
          default: false
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 2
                    email:
                      type: string
                      examples:
                      - karina.plain@example.com
                    optInType:
                      type: string
                      examples:
                      - Double
                    emailType:
                      type: string
                      examples:
                      - Html
                    dataFields: {}
                    status:
                      type: string
                      examples:
                      - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 2
                    email: karina.plain@example.com
                    optInType: Double
                    emailType: Html
                    dataFields: null
                    status: Subscribed
                  - id: 3
                    email: erik.cryer@example.com
                    optInType: VerifiedDouble
                    emailType: Html
                    dataFields: null
                    status: Subscribed
                  - id: 5
                    email: darryl.netherland@example.com
                    optInType: Single
                    emailType: PlainText
                    dataFields: null
                    status: Subscribed
          headers: {}
  /contacts/with-consent:
    post:
      summary: Create contact with consent
      deprecated: true
      description: Creates or updates a contact and their consent information
      operationId: create-contact-with-consent
      tags:
      - Email contacts
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - contact
              properties:
                contact:
                  type: object
                  description: The details for the contact
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address for the contact
                    optInType:
                      type: string
                      description: The opt-in type of the contact
                      enum:
                      - Unknown
                      - Single
                      - Double
                      - VerifiedDouble
                    emailType:
                      type: string
                      description: The email type of the contact
                      enum:
                      - PlainText
                      - Html
                    dataFields:
                      type: array
                      description: Each contact data field is a key-value pair; the key is a string matching the data field name in Dotdigital
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
                consentFields:
                  type: object
                  description: The consent fields that apply to the contact
                  properties:
                    fields:
                      type: array
                      description: The fields that apply to the contact
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
            examples:
              Request Example:
                value:
                  contact:
                    email: john.smith@emailsim.io
                    optInType: Unknown
                    emailType: Html
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: LASTSUBSCRIBED
                      value: 2020-01-01T09:40:18.527Z
                    - key: POSTCODE
                      value: N5 1DP
                  consentFields:
                  - fields:
                    - key: TEXT
                      value: Your consent text goes here.
                    - key: DATETIMECONSENTED
                      value: 2020-01-01T09:40:18.527Z
                    - key: URL
                      value: http://www.example.com/signup
                    - key: IPADDRESS
                      value: 127.0.0.1
                    - key: USERAGENT
                      value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 1
                      email:
                        type: string
                        examples:
                        - john.smith@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - Html
                      dataFields:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              examples:
                              - FIRSTNAME
                            value:
                              type: string
                              examples:
                              - John
                      status:
                        type: string
                        examples:
                        - Subscribed
                  consentFields:
                    type: array
                    items:
                      type: object
                      properties:
                        id: {}
                        fields:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                examples:
                                - TEXT
                              value:
                                type: string
                                examples:
                                - "Yes, I would like to receive a monthly newsletter"
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 1
                      email: john.smith@emailsim.io
                      optInType: Unknown
                      emailType: Html
                      dataFields:
                      - key: FIRSTNAME
                        value: John
                      - key: FULLNAME
                        value: John Smith
                      - key: GENDER
                        value: Male
                      - key: LASTNAME
                        value: Smith
                      - key: LASTSUBSCRIBED
                        value: 2020-01-01T09:40:18.527Z
                      - key: POSTCODE
                        value: N5 1DP
                      status: Subscribed
                    consentFields:
                    - id: null
                      fields:
                      - key: TEXT
                        value: "Yes, I would like to receive a monthly newsletter"
                      - key: DATETIMECONSENTED
                        value: 2020-01-01T09:40:18.527Z
                      - key: URL
                        value: http://www.example.com/signup
                      - key: IPADDRESS
                        value: 127.0.0.1
                      - key: USERAGENT
                        value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
          headers: {}
  /contacts/with-consent-and-preferences:
    post:
      summary: Create contact with consent and preferences
      deprecated: true
      description: Creates or updates a contact with consent data and marketing preferences
      operationId: create-contact-with-consent-and-preferences
      tags:
      - Email contacts
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - contact
              properties:
                contact:
                  type: object
                  description: The details for the contact
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address for the contact
                    optInType:
                      type: string
                      description: The opt-in type of the contact
                      enum:
                      - Unknown
                      - Single
                      - Double
                      - VerifiedDouble
                    emailType:
                      type: string
                      description: The email type of the contact
                      enum:
                      - PlainText
                      - Html
                    dataFields:
                      type: array
                      description: Each contact data field is a key-value pair; the key is a string matching the data field name in Dotdigital
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
                consentFields:
                  type: array
                  description: The consent fields that apply to the contact
                  items:
                    properties:
                      fields:
                        type: array
                        description: The fields that apply to the contact
                        items:
                          properties:
                            key:
                              type: string
                              description: The key name
                            value:
                              type: string
                              description: The value associated with the key
                          required:
                          - key
                          - value
                          type: object
                    type: object
                preferences:
                  type: array
                  description: The marketing preferences to be applied
                  items:
                    properties:
                      id:
                        type: integer
                        description: The id of the preference or preference category
                        format: int32
                      isPreference:
                        type: boolean
                        description: True if this is a preference value or false if the ID refers to a preference category
                      preferences:
                        type: array
                        description: "The preference values to set in the category. Only supply if isPreference is false, and therefore referring to a preference category"
                        items:
                          properties:
                            id:
                              type: integer
                              description: The id of the preference
                              format: int32
                            isPreference:
                              type: boolean
                              description: Boolean indicating if this is preference value or group of preference values
                            isOptedIn:
                              type: boolean
                              description: Whether the contact is opted into this preference or not
                          required:
                          - id
                          - isPreference
                          - isOptedIn
                          type: object
                      isOptedIn:
                        type: boolean
                        description: Whether the contact is opted in or out of the preference
                    required:
                    - id
                    - isPreference
                    type: object
            examples:
              Request Example:
                value:
                  contact:
                    email: john.smith@emailsim.io
                    optInType: Unknown
                    emailType: Html
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: LASTSUBSCRIBED
                      value: 2020-01-01T09:40:18.527Z
                    - key: POSTCODE
                      value: N5 1DP
                  consentFields:
                  - fields:
                    - key: consenttext
                      value: Your consent text goes here.
                    - key: consentdatetime
                      value: 2020-01-01T09:40:18.527Z
                    - key: consenturl
                      value: http://www.example.com/signup
                    - key: consentip
                      value: 127.0.0.1
                    - key: consentuseragent
                      value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                  preferences:
                  - id: 1
                    isPreference: false
                    preferences:
                    - id: 2
                      isPreference: true
                      isOptedIn: true
                    - id: 3
                      isPreference: true
                      isOptedIn: false
                  - id: 4
                    isPreference: true
                    isOptedIn: true
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    {
                    "contact": {
                    "id": 1,
                    "email": "john.smith@emailsim.io",
                    "optInType": "Unknown",
                    "emailType": "Html",
                    "dataFields": [
                    {
                    "key": "FIRSTNAME",
                    "value": "John"
                    },
                    {
                    "key": "FULLNAME",
                    "value": "John Smith"
                    },
                    {
                    "key": "GENDER",
                    "value": "Male"
                    },
                    {
                    "key": "LASTNAME",
                    "value": "Smith"
                    },
                    {
                    "key": "LASTSUBSCRIBED",
                    "value": "2020-01-01T09:40:18.527Z"
                    },
                    {
                    "key": "POSTCODE",
                    "value": "N5 1DP"
                    }
                    ],
                    "status": "Subscribed"
                    },
                    "consentFields": [
                    {
                    "id": null,
                    "fields": [
                    {
                    "key": "TEXT",
                    "value": "Yes, I would like to receive a monthly newsletter"
                    },
                    {
                    "key": "DATETIMECONSENTED",
                    "value": "2020-01-01T09:40:18.527Z"
                    },
                    {
                    "key": "URL",
                    "value": "http://www.example.com/signup"
                    },
                    {
                    "key": "IPADDRESS",
                    "value": "127.0.0.1"
                    },
                    {
                    "key": "USERAGENT",
                    "value": "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                    }
                    ]
                    }
                    ],
                    "preferences": [
                    {
                    "id": 1,
                    "publicName": "test category",
                    "privateName": "test category",
                    "isPreference": false,
                    "order": "0",
                    "isPublic": true,
                    "categoryId": 0,
                    "preferenceCount": 2,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "preferences": [
                    {
                    "id": 2,
                    "publicName": "test preference",
                    "privateName": "test preference",
                    "isPreference": true,
                    "order": "0",
                    "isPublic": true,
                    "categoryId": 1,
                    "preferenceCount": 0,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "isOptedIn": false
                    },
                    {
                    "id": 3,
                    "publicName": "test preference 2",
                    "privateName": "test preference 2",
                    "isPreference": true,
                    "order": "1",
                    "isPublic": true,
                    "categoryId": 1,
                    "preferenceCount": 0,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "isOptedIn": false
                    }
                    ],
                    {
                    "id": 4,
                    "publicName": "test preference 3",
                    "privateName": "test preference 3",
                    "isPreference": true,
                    "order": "1",
                    "isPublic": false,
                    "categoryId": 0,
                    "preferenceCount": 0,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "isOptedIn": false
                    }
                    }
                    ]
                    }
          headers: {}
  /contacts/import-collection:
    post:
      summary: Bulk import contacts collection
      deprecated: true
      description: "Bulk creates, or bulk updates, contacts from JSON"
      operationId: bulk-import-contacts-collection
      tags:
      - Email contacts
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - addressBookIds
              - contacts
              properties:
                addressBookIds:
                  type: array
                  description: If specified is the numeric ids for the address books you want to add the contacts to.
                  items:
                    type: integer
                    format: int32
                mergeOption:
                  type: integer
                  description: "Set the behavior of how the new data should be merged into existing contacts. Overwrite: 0 , Only overwrite if not empty: 1 ,Only overwrite if contact data not populated: 2"
                  format: int32
                contacts:
                  type: array
                  description: The contacts to import
                  items:
                    properties:
                      id:
                        type: integer
                        description: The numeric id for a contact
                        format: int32
                      email:
                        type: string
                        description: The email address of the contact
                      optInType:
                        type: string
                        description: The opt-in type of the contact.
                        default: Unknown
                        enum:
                        - Unknown
                        - Single
                        - Double
                        - VerifiedDouble
                      emailType:
                        type: string
                        description: The email type of the contact
                        enum:
                        - PlainText
                        - Html
                      dataFields:
                        type: array
                        description: The contacts data fields; the key names should match those used in Dotdigital
                        items:
                          properties:
                            key:
                              type: string
                              description: The key name
                            value:
                              type: string
                              description: The value associated with the key
                          required:
                          - key
                          - value
                          type: object
                      consentFields:
                        type: array
                        description: Each ConsentInsight data record is a key-value pair
                        items:
                          properties:
                            key:
                              type: string
                              description: The key name
                            value:
                              type: string
                              description: The value associated with the key
                          required:
                          - key
                          - value
                          type: object
                    type: object
            examples:
              Request Example:
                value:
                  addressBookIds:
                  - 123
                  - 456
                  mergeOption: 0
                  contacts:
                  - email: john.smith@emailsim.io
                    optInType: Unknown
                    emailType: Html
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: LASTSUBSCRIBED
                      value: 2020-01-01T09:40:18.527Z
                    - key: POSTCODE
                      value: N5 1DP
                    - key: Preference:Marketing>Offers
                      value: "True"
                    consentFields:
                    - key: consenttext
                      value: Your consent text goes here.
                    - key: consentdatetime
                      value: 2020-01-01T09:40:18.527Z
                    - key: consenturl
                      value: http://www.example.com/signup
                    - key: consentip
                      value: 127.0.0.1
                    - key: consentuseragent
                      value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                summary: Request Example
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                  status:
                    type: string
                    examples:
                    - NotFinished
              examples:
                Result:
                  summary: Result
                  value:
                    id: af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                    status: NotFinished
          headers: {}
  /contacts/import:
    post:
      summary: Bulk import contacts
      deprecated: true
      description: "Bulk creates, or bulk updates, contacts from a file"
      operationId: bulk-import-contacts
      tags:
      - Email contacts
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - filename
              - data
              properties:
                filename:
                  type: string
                  description: The filename of the file being uploaded
                data:
                  type: string
                  description: "The [base64](https://en.wikipedia.org/wiki/Base64) data for the file"
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                  status:
                    type: string
                    examples:
                    - NotFinished
              examples:
                Result:
                  summary: Result
                  value:
                    id: af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                    status: NotFinished
          headers: {}
      x-readme:
        code-samples:
        - language: text
          code: |-
            Email,Firstname,Lastname,Postcode,Customfield_1,Customfield_2
            user1@example.com,Bob,Smith,LXS123,Yes,100
            user2@example.com,Frank,Smith,LXS121,No,200
            user3@example.com,Sarah,Smith,LXS124,Yes,300
          name: CSV Example
        samples-languages:
        - text
  /address-books/{id}/contacts/import:
    post:
      summary: Bulk import contacts in address book
      deprecated: true
      description: "Bulk creates, or bulk updates, contacts in an address book"
      operationId: bulk-import-contacts-in-address-book
      tags:
      - Address books
      parameters:
      - name: id
        in: path
        description: The address book id
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                RAW_BODY:
                  type: string
                  description: The CSV or Excel file to upload
                  format: binary
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                  status:
                    type: string
                    examples:
                    - NotFinished
              examples:
                Result:
                  summary: Result
                  value:
                    id: af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                    status: NotFinished
          headers: {}
      x-readme:
        code-samples:
        - language: text
          code: |-
            Email,Firstname,Lastname,Postcode,Customfield_1,Customfield_2
            user1@example.com,Bob,Smith,LXS123,Yes,100
            user2@example.com,Frank,Smith,LXS121,No,200
            user3@example.com,Sarah,Smith,LXS124,Yes,300
          name: CSV Example
        samples-languages:
        - text
  /contacts/import/{id}:
    get:
      summary: Get contact import status
      deprecated: true
      description: Gets the import status of a previously started contact import
      operationId: get-contact-import-status
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The id of the import
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                  status:
                    type: string
                    examples:
                    - Finished
              examples:
                Result:
                  summary: Result
                  value:
                    id: af4ac4bc-e1e7-4817-8a66-73fb59e91ce6
                    status: Finished
          headers: {}
  /contacts/import/{id}/report:
    get:
      summary: Get contact import report
      deprecated: true
      description: "Gets a report with statistics about what was successfully imported, and what was unable to be imported"
      operationId: get-contact-import-report
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The id of the import
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  newContacts:
                    type: integer
                    default: 0
                    examples:
                    - 10
                  updatedContacts:
                    type: integer
                    default: 0
                    examples:
                    - 14
                  globallySuppressed:
                    type: integer
                    default: 0
                    examples:
                    - 5
                  invalidEntries:
                    type: integer
                    default: 0
                    examples:
                    - 7
                  duplicateEmails:
                    type: integer
                    default: 0
                    examples:
                    - 3
                  blocked:
                    type: integer
                    default: 0
                    examples:
                    - 1
                  unsubscribed:
                    type: integer
                    default: 0
                    examples:
                    - 13
                  hardBounced:
                    type: integer
                    default: 0
                    examples:
                    - 6
                  softBounced:
                    type: integer
                    default: 0
                    examples:
                    - 12
                  ispComplaints:
                    type: integer
                    default: 0
                    examples:
                    - 8
                  mailBlocked:
                    type: integer
                    default: 0
                    examples:
                    - 9
                  domainSuppressed:
                    type: integer
                    default: 0
                    examples:
                    - 2
                  pendingDoubleOptin:
                    type: integer
                    default: 0
                    examples:
                    - 11
                  failures:
                    type: integer
                    default: 0
                    examples:
                    - 4
                  suppressedContacts:
                    type: integer
                    default: 0
                    examples:
                    - 15
              examples:
                Result:
                  summary: Result
                  value:
                    newContacts: 10
                    updatedContacts: 14
                    globallySuppressed: 5
                    invalidEntries: 7
                    duplicateEmails: 3
                    blocked: 1
                    unsubscribed: 13
                    hardBounced: 6
                    softBounced: 12
                    ispComplaints: 8
                    mailBlocked: 9
                    domainSuppressed: 2
                    pendingDoubleOptin: 11
                    failures: 4
                    suppressedContacts: 15
          headers: {}
  /contacts/import/{id}/report-faults:
    get:
      summary: Get contact import report faults
      deprecated: true
      description: Gets all contact import records that were not successfully imported
      operationId: get-contact-import-report-faults
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The id of the import
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            text/plain:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    Reason,email,firstname,fullname,gender,lastname,postcode
                    Unsubscribed,karina.plain@example.com,Karina,Karina Plain,Female,Plain,123456
                    Duplicate,demo@apiconnector.com,Demo,Demo,Male,Demo,123456
          headers: {}
  /contacts/{id}/with-consent-and-preferences:
    put:
      summary: Update contact with consent and preferences
      deprecated: true
      description: Updates a contact by id with their consent information and/or preferences
      operationId: update-contact-with-consent-1
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The contacts unique id
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - contact
              properties:
                contact:
                  type: object
                  description: The contact details
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address for the contact
                    optInType:
                      type: string
                      description: The opt-in type of the contact
                      enum:
                      - Unknown
                      - Single
                      - Double
                      - VerifiedDouble
                    emailType:
                      type: string
                      description: The email type of the contact
                      enum:
                      - PlainText
                      - Html
                    dataFields:
                      type: array
                      description: Each contact data field is a key-value pair; the key is a string matching the data field name in Dotdigital
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
                consentFields:
                  type: array
                  description: The consent fields that apply to the contact
                  items:
                    properties:
                      fields:
                        type: array
                        description: The fields that apply to the contact
                        items:
                          properties:
                            key:
                              type: string
                              description: The key name
                            value:
                              type: string
                              description: The value associated with the key
                          required:
                          - key
                          - value
                          type: object
                    type: object
                preferences:
                  type: array
                  description: The marketing preferences to be updated
                  items:
                    properties:
                      id:
                        type: integer
                        description: The id of the preference or preference category
                        format: int32
                      isPreference:
                        type: boolean
                        description: True if this is a preference value or false if the ID refers to a preference category
                      preferences:
                        type: array
                        description: "The preference values to set in the category. Only supply if isPreference is false, and therefore referring to a preference category"
                        items:
                          properties:
                            id:
                              type: integer
                              description: The id of the preference
                              format: int32
                            isPreference:
                              type: boolean
                              description: Boolean indicating if this is preference value or group of preference values
                            isOptedIn:
                              type: boolean
                              description: Whether the contact is opted into this preference or not
                          required:
                          - id
                          - isPreference
                          - isOptedIn
                          type: object
                      isOptedIn:
                        type: boolean
                        description: Whether the contact is opted in or out of the preference
                    required:
                    - id
                    - isPreference
                    type: object
            examples:
              Request Example:
                value:
                  contact:
                    email: john.smith@emailsim.io
                    optInType: Unknown
                    emailType: Html
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: LASTSUBSCRIBED
                      value: 2020-01-01T09:40:18.527Z
                    - key: POSTCODE
                      value: N5 1DP
                  consentFields:
                  - fields:
                    - key: consenttext
                      value: Your consent text goes here.
                    - key: consentdatetime
                      value: 2020-01-01T09:40:18.527Z
                    - key: consenturl
                      value: http://www.example.com/signup
                    - key: consentip
                      value: 127.0.0.1
                    - key: consentuseragent
                      value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                  preferences:
                  - id: 1
                    isPreference: false
                    preferences:
                    - id: 2
                      isPreference: true
                      isOptedIn: true
                    - id: 3
                      isPreference: true
                      isOptedIn: false
                  - id: 4
                    isPreference: true
                    isOptedIn: true
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |
                    {
                    "contact": {
                    "id": 1,
                    "email": "john.smith@emailsim.io",
                    "optInType": "Unknown",
                    "emailType": "Html",
                    "dataFields": [
                    {
                    "key": "FIRSTNAME",
                    "value": "John"
                    },
                    {
                    "key": "FULLNAME",
                    "value": "John Smith"
                    },
                    {
                    "key": "GENDER",
                    "value": "Male"
                    },
                    {
                    "key": "LASTNAME",
                    "value": "Smith"
                    },
                    {
                    "key": "LASTSUBSCRIBED",
                    "value": "2020-01-01T09:40:18.527Z"
                    },
                    {
                    "key": "POSTCODE",
                    "value": "N5 1DP"
                    }
                    ],
                    "status": "Subscribed"
                    },
                    "consentFields": [
                    {
                    "id": null,
                    "fields": [
                    {
                    "key": "TEXT",
                    "value": "Yes, I would like to receive a monthly newsletter"
                    },
                    {
                    "key": "DATETIMECONSENTED",
                    "value": "2020-01-01T09:40:18.527Z"
                    },
                    {
                    "key": "URL",
                    "value": "http://www.example.com/signup"
                    },
                    {
                    "key": "IPADDRESS",
                    "value": "127.0.0.1"
                    },
                    {
                    "key": "USERAGENT",
                    "value": "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                    }
                    ]
                    }
                    ],
                    "preferences": [
                    {
                    "id": 1,
                    "publicName": "test category",
                    "privateName": "test category",
                    "isPreference": false,
                    "order": "0",
                    "isPublic": true,
                    "categoryId": 0,
                    "preferenceCount": 2,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "preferences": [
                    {
                    "id": 2,
                    "publicName": "test preference",
                    "privateName": "test preference",
                    "isPreference": true,
                    "order": "0",
                    "isPublic": true,
                    "categoryId": 1,
                    "preferenceCount": 0,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "isOptedIn": false
                    },
                    {
                    "id": 3,
                    "publicName": "test preference 2",
                    "privateName": "test preference 2",
                    "isPreference": true,
                    "order": "1",
                    "isPublic": true,
                    "categoryId": 1,
                    "preferenceCount": 0,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "isOptedIn": false
                    }
                    ],
                    {
                    "id": 4,
                    "publicName": "test preference 3",
                    "privateName": "test preference 3",
                    "isPreference": true,
                    "order": "1",
                    "isPublic": false,
                    "categoryId": 0,
                    "preferenceCount": 0,
                    "created": "2020-01-01T09:40:18.527Z",
                    "lastModified": "2020-01-02T09:40:18.527Z",
                    "isOptedIn": false
                    }
                    }
                    ]
                    }
          headers: {}
  /contacts/{id}:
    delete:
      summary: Delete contact
      deprecated: true
      description: Deletes a contact by ID
      operationId: delete-contact
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The id of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      responses:
        "204":
          description: "204"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
    put:
      summary: Update contact
      deprecated: true
      description: Updates a contact by id
      operationId: update-contact
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The contacts unique id
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - email
              properties:
                email:
                  type: string
                  description: The email address of the contact
                optInType:
                  type: string
                  description: The opt-in type of the contact
                  enum:
                  - Unknown
                  - Single
                  - Double
                  - VerifiedDouble
                emailType:
                  type: string
                  description: The email type of the contact
                  enum:
                  - PlainText
                  - Html
                dataFields:
                  type: array
                  description: Each contact data field is a key-value pair; the key is a string matching the data field name in Dotdigital
                  items:
                    properties:
                      key:
                        type: string
                        description: The key name
                      value:
                        type: string
                        description: The value associated with the key
                    required:
                    - key
                    - value
                    type: object
            examples:
              Request Example:
                value:
                  email: john.smith@emailsim.io
                  optInType: Double
                  dataFields:
                  - key: GENDER
                    value: Male
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 100
                  email:
                    type: string
                    examples:
                    - john.smith@emailsim.io
                  optInType:
                    type: string
                    examples:
                    - Double
                  emailType:
                    type: string
                    examples:
                    - PlainText
                  dataFields:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          examples:
                          - FIRSTNAME
                        value:
                          type: string
                          examples:
                          - John
                  status:
                    type: string
                    examples:
                    - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                    id: 100
                    email: john.smith@emailsim.io
                    optInType: Double
                    emailType: PlainText
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: POSTCODE
                      value: null
                    status: Subscribed
          headers: {}
  /contacts/{contactIdentifier}:
    get:
      summary: Get contact
      deprecated: true
      description: Gets a contact
      operationId: get-contact
      tags:
      - Email contacts
      parameters:
      - name: contactIdentifier
        in: path
        description: Either the contact id or email address of the contact
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    default: 0
                    examples:
                    - 100
                  email:
                    type: string
                    examples:
                    - john.smith@emailsim.io
                  optInType:
                    type: string
                    examples:
                    - Unknown
                  emailType:
                    type: string
                    examples:
                    - PlainText
                  dataFields:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                          examples:
                          - FIRSTNAME
                        value:
                          type: string
                          examples:
                          - John
                  status:
                    type: string
                    examples:
                    - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                    id: 100
                    email: john.smith@emailsim.io
                    optInType: Unknown
                    emailType: PlainText
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: null
                    - key: LASTNAME
                      value: Smith
                    - key: POSTCODE
                      value: null
                    status: Subscribed
          headers: {}
  /contacts/{contactIdentifier}/with-consent:
    get:
      summary: Get contact with consent
      deprecated: true
      description: Gets a contact with their consent information
      operationId: get-contact-with-consent
      tags:
      - Email contacts
      parameters:
      - name: contactIdentifier
        in: path
        description: Either the contact id or email address of the contact
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 1
                      email:
                        type: string
                        examples:
                        - john.smith@example.com
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - Html
                      dataFields:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              examples:
                              - FIRSTNAME
                            value:
                              type: string
                              examples:
                              - John
                      status:
                        type: string
                        examples:
                        - Subscribed
                  consentFields:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          examples:
                          - 26/01/2018 21:29:00 (CEXlxDq08olHcCXN08B/2Jj/AEQi5ENrQjYxi+wrlwE=)
                        fields:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                examples:
                                - TEXT
                              value:
                                type: string
                                examples:
                                - "Yes, I would like to receive a monthly newsletter"
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 1
                      email: john.smith@example.com
                      optInType: Unknown
                      emailType: Html
                      dataFields:
                      - key: FIRSTNAME
                        value: John
                      - key: FULLNAME
                        value: John Smith
                      - key: GENDER
                        value: Male
                      - key: LASTNAME
                        value: Smith
                      - key: LASTSUBSCRIBED
                        value: 2020-01-01T09:40:18.527Z
                      - key: POSTCODE
                        value: N5 1DP
                      status: Subscribed
                    consentFields:
                    - id: 26/01/2018 21:29:00 (CEXlxDq08olHcCXN08B/2Jj/AEQi5ENrQjYxi+wrlwE=)
                      fields:
                      - key: TEXT
                        value: "Yes, I would like to receive a monthly newsletter"
                      - key: DATETIMECONSENTED
                        value: 2018-01-26T21:29:00
                      - key: URL
                        value: http://www.example.com/signup
                      - key: IPADDRESS
                        value: 127.0.0.1
                      - key: USERAGENT
                        value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                      - key: DATETIMECREATED
                        value: 2020-01-01T09:40:18.527Z
          headers: {}
  /contacts/{id}/address-books:
    get:
      summary: Get contact address books
      deprecated: true
      description: Gets any address books that a contact is in
      operationId: get-contact-address-books
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The id of the contact
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 1
                    name:
                      type: string
                      examples:
                      - Address book 1
                    visibility:
                      type: string
                      examples:
                      - Private
                    contacts:
                      type: integer
                      default: 0
                      examples:
                      - 5
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 1
                    name: Address book 1
                    visibility: Private
                    contacts: 5
                  - id: 2
                    name: Address book 2
                    visibility: Public
                    contacts: 7
          headers: {}
  /contacts/count:
    get:
      summary: Get all contacts count
      deprecated: true
      description: Gets the total number of contacts in the account
      operationId: get-all-contacts-count
      tags:
      - Email contacts
      parameters: []
      responses:
        "200":
          description: "200"
          content:
            text/plain:
              schema:
                type: integer
                default: 0
                examples:
                - 42525
              examples:
                Result:
                  summary: Result
                  value: 42525
          headers: {}
  /contacts/created-since/{date}:
    get:
      summary: Get contacts created since date
      deprecated: true
      description: Gets a list of created contacts after a specified date
      operationId: get-contacts-created-since-date
      tags:
      - Email contacts
      parameters:
      - name: date
        in: path
        description: "The date from which any created contacts are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: withFullData
        in: query
        description: Can be set to 'true' to retrieve the contacts along with their full contact data fields
        required: false
        schema:
          type: boolean
          default: false
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 99
                    email:
                      type: string
                      examples:
                      - tiffany.valverde@example.com
                    optInType:
                      type: string
                      examples:
                      - Double
                    emailType:
                      type: string
                      examples:
                      - Html
                    dataFields: {}
                    status:
                      type: string
                      examples:
                      - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 99
                    email: tiffany.valverde@example.com
                    optInType: Double
                    emailType: Html
                    dataFields: null
                    status: Subscribed
                  - id: 100
                    email: john.smith@example.com
                    optInType: Single
                    emailType: Html
                    dataFields: null
                    status: Subscribed
          headers: {}
  /contacts/modified-since/{date}:
    get:
      summary: Get modified contacts since date
      deprecated: true
      description: Gets a list of modified contacts after a specified date
      operationId: get-modified-contacts-since-date
      tags:
      - Email contacts
      parameters:
      - name: date
        in: path
        description: "The date from which any modified contacts are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        example: ""
        schema:
          type: string
          format: date
      - name: withFullData
        in: query
        description: Can be set to 'true' to retrieve the contacts along with their full contact data fields
        required: false
        schema:
          type: boolean
          default: false
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      default: 0
                      examples:
                      - 99
                    email:
                      type: string
                      examples:
                      - tiffany.valverde@example.com
                    optInType:
                      type: string
                      examples:
                      - Double
                    emailType:
                      type: string
                      examples:
                      - Html
                    dataFields: {}
                    status:
                      type: string
                      examples:
                      - Subscribed
              examples:
                Result:
                  summary: Result
                  value:
                  - id: 99
                    email: tiffany.valverde@example.com
                    optInType: Double
                    emailType: Html
                    dataFields: null
                    status: Subscribed
                  - id: 100
                    email: john.smith@example.com
                    optInType: Single
                    emailType: Html
                    dataFields: null
                    status: Subscribed
          headers: {}
  /contacts/{id}/with-consent:
    put:
      summary: Update contact with consent
      deprecated: true
      description: Updates a contact by id with their consent information
      operationId: update-contact-with-consent
      tags:
      - Email contacts
      parameters:
      - name: id
        in: path
        description: The contacts unique id
        required: true
        example: 0
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - contact
              properties:
                contact:
                  type: object
                  description: The contact details
                  required:
                  - email
                  properties:
                    email:
                      type: string
                      description: The email address for the contact
                    optInType:
                      type: string
                      description: The opt-in type of the contact
                      enum:
                      - Unknown
                      - Single
                      - Double
                      - VerifiedDouble
                    emailType:
                      type: string
                      description: The email type of the contact
                      enum:
                      - PlainText
                      - Html
                    dataFields:
                      type: array
                      description: Each contact data field is a key-value pair; the key is a string matching the data field name in Dotdigital
                      items:
                        properties:
                          key:
                            type: string
                            description: The key name
                          value:
                            type: string
                            description: The value associated with the key
                        required:
                        - key
                        - value
                        type: object
                consentFields:
                  type: array
                  description: The consent fields that apply to the contact
                  items:
                    properties:
                      fields:
                        type: array
                        description: The fields that apply to the contact
                        items:
                          properties:
                            key:
                              type: string
                              description: The key name
                            value:
                              type: string
                              description: The value associated with the key
                          required:
                          - key
                          - value
                          type: object
                    type: object
            examples:
              Request Example:
                value:
                  contact:
                    email: john.smith@emailsim.io
                    optInType: Unknown
                    emailType: Html
                    dataFields:
                    - key: FIRSTNAME
                      value: John
                    - key: FULLNAME
                      value: John Smith
                    - key: GENDER
                      value: Male
                    - key: LASTNAME
                      value: Smith
                    - key: POSTCODE
                      value: N5 1DP
                  consentFields:
                  - fields:
                    - key: TEXT
                      value: Your consent text goes here.
                    - key: DATETIMECONSENTED
                      value: 2020-01-01T09:40:18.527Z
                    - key: URL
                      value: http://www.example.com/signup
                    - key: IPADDRESS
                      value: 127.0.0.1
                    - key: USERAGENT
                      value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: integer
                        default: 0
                        examples:
                        - 1
                      email:
                        type: string
                        examples:
                        - john.smith@emailsim.io
                      optInType:
                        type: string
                        examples:
                        - Unknown
                      emailType:
                        type: string
                        examples:
                        - Html
                      dataFields:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              examples:
                              - FIRSTNAME
                            value:
                              type: string
                              examples:
                              - John
                      status:
                        type: string
                        examples:
                        - Subscribed
                  consentFields:
                    type: array
                    items:
                      type: object
                      properties:
                        id: {}
                        fields:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                examples:
                                - TEXT
                              value:
                                type: string
                                examples:
                                - "Yes, I would like to receive a monthly newsletter"
              examples:
                Result:
                  summary: Result
                  value:
                    contact:
                      id: 1
                      email: john.smith@emailsim.io
                      optInType: Unknown
                      emailType: Html
                      dataFields:
                      - key: FIRSTNAME
                        value: John
                      - key: FULLNAME
                        value: John Smith
                      - key: GENDER
                        value: Male
                      - key: LASTNAME
                        value: Smith
                      - key: LASTSUBSCRIBED
                        value: 2020-01-01T09:40:18.527Z
                      - key: POSTCODE
                        value: N5 1DP
                      status: Subscribed
                    consentFields:
                    - id: null
                      fields:
                      - key: TEXT
                        value: "Yes, I would like to receive a monthly newsletter"
                      - key: DATETIMECONSENTED
                        value: 2020-01-01T09:40:18.527Z
                      - key: URL
                        value: http://www.example.com/signup
                      - key: IPADDRESS
                        value: 127.0.0.1
                      - key: USERAGENT
                        value: "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"
          headers: {}
  /contacts/transactional-data/{collectionName}:
    post:
      summary: Add transactional data to contact
      deprecated: true
      description: Adds a single piece of transactional/insight data to a contact or account
      operationId: add-transactional-data-to-contact
      tags:
      - Insight and transactional data
      parameters:
      - name: collectionName
        in: path
        description: The name of the transactional data collection
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - key
              - contactIdentifier
              - json
              properties:
                key:
                  type: string
                  description: The key for the piece of data
                contactIdentifier:
                  type: string
                  description: Either the id or email address of the contact that the transactional data is being added to
                json:
                  type: string
                  description: The data to be stored against the contact
                  format: json
            examples:
              Request Example:
                value:
                  key: Order-123
                  contactIdentifier: myCustomer@emailsim.io
                  json:
                    id: Order-123
                    currency: GBP
                    order_status: completed
                    purchase_date: 2020-11-03T13:03:32+00:00
                    order_total: 99
                    order_subtotal: 99
                    products:
                    - name: Product Name
                      price: 99
                      sku: "68694"
                      qty: 1
                summary: Request Example
      responses:
        "201":
          description: "201"
          content:
            application/json:
              schema:
                type: object
                properties:
                  key:
                    type: string
                    examples:
                    - P00000001
                  contactIdentifier:
                    type: string
                    examples:
                    - "23"
                  json:
                    type: string
                    examples:
                    - "{\r\n\"id\": \"Order-123\",\r\n\"currency\": \"GBP\",\r\n\"order_status\": \"completed\",\r\n\"PurchaseDate\": \"2012-11-19T10:01:21Z\",\r\n\"order_total\": 111.2000000000,\r\n\"order_subtotal\": 133.4400000000,\r\n\"Products\": [\r\n{\r\n\"Name\": \"Long unlined leather gloves\",\r\n\"Price\": 111.2000000000,\r\n\"sku\": \"24920\",\r\n\"qty\": 2\r\n}\r\n]\r\n}"
              examples:
                Result:
                  summary: Result
                  value:
                    key: P00000001
                    contactIdentifier: "23"
                    json: "{\r\n\"id\": \"Order-123\",\r\n\"currency\": \"GBP\",\r\n\"order_status\": \"completed\",\r\n\"PurchaseDate\": \"2012-11-19T10:01:21Z\",\r\n\"order_total\": 111.2000000000,\r\n\"order_subtotal\": 133.4400000000,\r\n\"Products\": [\r\n{\r\n\"Name\": \"Long unlined leather gloves\",\r\n\"Price\": 111.2000000000,\r\n\"sku\": \"24920\",\r\n\"qty\": 2\r\n}\r\n]\r\n}"
          headers: {}
  /contacts/transactional-data/import/{collectionName}:
    post:
      summary: Bulk add transactional data to contacts
      deprecated: true
      description: Adds multiple pieces of transactional/insight data to contacts asynchronously
      operationId: bulk-add-transactional-data-to-contacts
      tags:
      - Insight and transactional data
      parameters:
      - name: collectionName
        in: path
        description: The name of the transactional data collection
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                RAW_BODY:
                  type: array
                  description: The insight data items to add
                  items:
                    properties:
                      key:
                        type: string
                        description: The unique key to identify this specific insight record
                      contactIdentifier:
                        type: string
                        description: The contact to add the insight data to; use **account** for account level insight data
                      json:
                        type: string
                        description: The insight data to add
                        format: json
                    required:
                    - key
                    - contactIdentifier
                    - json
                    type: object
            examples:
              Request Example:
                value:
                - key: Order-123
                  contactIdentifier: myCustomer@emailsim.io
                  json:
                    id: Order-123
                    currency: GBP
                    order_status: completed
                    purchase_date: 2020-11-03T13:03:32+00:00
                    order_total: 99
                    order_subtotal: 99
                    products:
                    - name: Big BBQ
                      price: 99
                      sku: "68694"
                      qty: 1
                - key: Order-124
                  contactIdentifier: myOtherCustomer@emailsim.io
                  json:
                    id: Order-124
                    currency: USD
                    order_status: completed
                    purchase_date: 2020-11-03T13:03:32+00:00
                    order_total: 129
                    order_subtotal: 129
                    products:
                    - name: Baseball bat
                      price: 99
                      sku: BB-123
                      qty: 1
                    - name: Baseball glove
                      price: 30
                      sku: BB-912
                      qty: 1
                summary: Request Example
      responses:
        "202":
          description: "202"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - 842d81e8-c619-457f-bb77-ab6c4a17da39
                  status:
                    type: string
                    examples:
                    - NotStarted
              examples:
                Result:
                  summary: Result
                  value:
                    id: 842d81e8-c619-457f-bb77-ab6c4a17da39
                    status: NotStarted
          headers: {}
  /contacts/transactional-data/{collectionName}/{key}:
    post:
      summary: Replace transactional data by key
      deprecated: true
      description: Replaces a piece of transactional/insight data by key
      operationId: replace-transactional-data-by-key
      tags:
      - Insight and transactional data
      parameters:
      - name: collectionName
        in: path
        description: The name of the transactional data collection
        required: true
        example: ""
        schema:
          type: string
      - name: key
        in: path
        description: The key for the piece of data
        required: true
        example: ""
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - json
              properties:
                json:
                  type: string
                  description: "The data to be stored against the contact, as an escaped JSON string"
            examples:
              Request Example:
                value:
                  key: P00000001
                  contactIdentifier: "986710407"
                  json: "{\r\n\"PurchaseDate\": \"2012-11-19T10:01:21Z\",\r\n\"TotalExTax\": 111.2000000000,\r\n\"TotalIncTax\": 133.4400000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Long unlined leather gloves\",\r\n\"Brand\": \"Dents\",\r\n\"Department\": \"Womenswear\",\r\n\"Category\": \"Gloves\",\r\n\"PriceExTax\": 111.2000000000,\r\n\"ProductID\": \"24920\"\r\n}\r\n],\r\n\"SalesChannel\": \"Online\",\r\n\"SalesSubChannel\": \"myshop.com\"\r\n}"
                summary: Request Example
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  key:
                    type: string
                    examples:
                    - P00000001
                  contactIdentifier:
                    type: string
                    examples:
                    - "23"
                  json:
                    type: string
                    examples:
                    - "{\r\n\"PurchaseDate\": \"2012-11-19T10:01:21Z\",\r\n\"TotalExTax\": 111.2000000000,\r\n\"TotalIncTax\": 133.4400000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Long unlined leather gloves\",\r\n\"Brand\": \"Dents\",\r\n\"Department\": \"Womenswear\",\r\n\"Category\": \"Gloves\",\r\n\"PriceExTax\": 111.2000000000,\r\n\"ProductID\": \"24920\"\r\n}\r\n],\r\n\"SalesChannel\": \"In store\",\r\n\"SalesSubChannel\": \"London - One New Change\"\r\n}"
              examples:
                Result:
                  summary: Result
                  value:
                    key: P00000001
                    contactIdentifier: "23"
                    json: "{\r\n\"PurchaseDate\": \"2012-11-19T10:01:21Z\",\r\n\"TotalExTax\": 111.2000000000,\r\n\"TotalIncTax\": 133.4400000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Long unlined leather gloves\",\r\n\"Brand\": \"Dents\",\r\n\"Department\": \"Womenswear\",\r\n\"Category\": \"Gloves\",\r\n\"PriceExTax\": 111.2000000000,\r\n\"ProductID\": \"24920\"\r\n}\r\n],\r\n\"SalesChannel\": \"In store\",\r\n\"SalesSubChannel\": \"London - One New Change\"\r\n}"
          headers: {}
    get:
      summary: Get transactional data by key
      deprecated: true
      description: Gets a piece of transactional/insight data by key
      operationId: get-transactional-data-by-key
      tags:
      - Insight and transactional data
      parameters:
      - name: key
        in: path
        description: The key for the piece of transactional data
        required: true
        example: ""
        schema:
          type: string
      - name: collectionName
        in: path
        description: The name of the transactional data collection
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  key:
                    type: string
                    examples:
                    - P00000110
                  contactIdentifier:
                    type: string
                    examples:
                    - "23"
                  json:
                    type: string
                    examples:
                    - "{\r\n\"PurchaseDate\": \"2020-01-01T09:40:18.527Z\",\r\n\"TotalExTax\": 111.2000000000,\r\n\"TotalIncTax\": 133.4400000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Long unlined leather gloves\",\r\n\"Brand\": \"Dents\",\r\n\"Department\": \"Womenswear\",\r\n\"Category\": \"Gloves\",\r\n\"PriceExTax\": 111.2000000000,\r\n\"ProductID\": \"24920\"\r\n}\r\n],\r\n\"SalesChannel\": \"In store\",\r\n\"SalesSubChannel\": \"London - One New Change\"\r\n}"
              examples:
                Result:
                  summary: Result
                  value:
                    key: P00000110
                    contactIdentifier: "23"
                    json: "{\r\n\"PurchaseDate\": \"2020-01-01T09:40:18.527Z\",\r\n\"TotalExTax\": 111.2000000000,\r\n\"TotalIncTax\": 133.4400000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Long unlined leather gloves\",\r\n\"Brand\": \"Dents\",\r\n\"Department\": \"Womenswear\",\r\n\"Category\": \"Gloves\",\r\n\"PriceExTax\": 111.2000000000,\r\n\"ProductID\": \"24920\"\r\n}\r\n],\r\n\"SalesChannel\": \"In store\",\r\n\"SalesSubChannel\": \"London - One New Change\"\r\n}"
          headers: {}
    delete:
      summary: Delete transactional data by key
      deprecated: true
      description: Deletes a piece of transactional/insight data by key
      operationId: delete-transactional-data-by-key
      tags:
      - Insight and transactional data
      parameters:
      - name: collectionName
        in: path
        description: The name of the transactional data collection
        required: true
        example: ""
        schema:
          type: string
      - name: key
        in: path
        description: The key for the piece of transactional data
        required: true
        example: ""
        schema:
          type: string
      responses:
        "204":
          description: "204"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
  /contacts/transactional-data/import/{id}:
    get:
      summary: Get transactional data import status
      deprecated: true
      description: Gets the import status of a previously started transactional/insight data import
      operationId: get-transactional-data-import-status
      tags:
      - Insight and transactional data
      parameters:
      - name: id
        in: path
        description: The import ID (GUID) of the transactional data import
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    examples:
                    - 842d81e8-c619-457f-bb77-ab6c4a17da39
                  status:
                    type: string
                    examples:
                    - Finished
              examples:
                Result:
                  summary: Result
                  value:
                    id: 842d81e8-c619-457f-bb77-ab6c4a17da39
                    status: Finished
          headers: {}
  /contacts/transactional-data/import/{id}/report:
    get:
      summary: Get transactional data import report
      deprecated: true
      description: "Gets a report with statistics about what transactional/insight data was successfully imported, and what was unable to be imported"
      operationId: get-transactional-data-import-report
      tags:
      - Insight and transactional data
      parameters:
      - name: id
        in: path
        description: The import ID (GUID) of the transactional data import
        required: true
        example: ""
        schema:
          type: string
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    {
                    "totalItems": 6,
                    "totalImported": 5,
                    "totalRejected": 1,
                    "faults": [
                    "key": "1234AB",
                    "reason": "InvalidJson"
                    ]
                    }
          headers: {}
  /contacts/{selector}/transactional-data/{collectionName}:
    parameters:
    - name: selector
      in: path
      description: The email address or contact ID of the contact.
      required: true
      example: contact1@emailsim.io
      schema:
        oneOf:
        - type: string
          description: Email address
          format: email
        - type: string
          description: Contact ID
          format: regex
          pattern: "[0-9]+"
    - name: collectionName
      in: path
      description: The name of the transactional data collection
      required: true
      example: orders
      schema:
        type: string
    get:
      summary: Get transactional data collection for contact by email
      deprecated: true
      description: "Gets a list of up to 100 pieces of transactional data records for a contact in a collection by their email address, sorted by the transactional record key."
      operationId: get-transactional-data-collection-for-contact-by-email
      tags:
      - Insight and transactional data
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      examples:
                      - P00000113
                    contactIdentifier:
                      type: string
                      examples:
                      - "23"
                    json:
                      type: string
                      examples:
                      - "{\r\n\"PurchaseDate\": \"2020-01-01T09:40:18.527Z\",\r\n\"TotalExTax\": 92.0000000000,\r\n\"TotalIncTax\": 110.4000000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Cashmere cable-knit beanie\",\r\n\"Brand\": \"Paul Smith\",\r\n\"Department\": \"Menswear\",\r\n\"Category\": \"Hat\",\r\n\"PriceExTax\": 88.0000000000,\r\n\"ProductID\": \"24937\"\r\n},\r\n{\r\n\"Name\": \"Armani Jeans beanie hat\",\r\n\"Brand\": \"Armani Jeans\",\r\n\"Department\": \"Menswear\",\r\n\"Category\": \"Hat\",\r\n\"PriceExTax\": 56.0000000000,\r\n\"ProductID\": \"24938\"\r\n}\r\n],\r\n\"SalesChannel\": \"Online\",\r\n\"SalesSubChannel\": \"myshop.com\"\r\n}"
              examples:
                Result:
                  summary: Result
                  value:
                  - key: P00000113
                    contactIdentifier: "23"
                    json: "{\r\n\"PurchaseDate\": \"2020-01-01T09:40:18.527Z\",\r\n\"TotalExTax\": 92.0000000000,\r\n\"TotalIncTax\": 110.4000000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Cashmere cable-knit beanie\",\r\n\"Brand\": \"Paul Smith\",\r\n\"Department\": \"Menswear\",\r\n\"Category\": \"Hat\",\r\n\"PriceExTax\": 88.0000000000,\r\n\"ProductID\": \"24937\"\r\n},\r\n{\r\n\"Name\": \"Armani Jeans beanie hat\",\r\n\"Brand\": \"Armani Jeans\",\r\n\"Department\": \"Menswear\",\r\n\"Category\": \"Hat\",\r\n\"PriceExTax\": 56.0000000000,\r\n\"ProductID\": \"24938\"\r\n}\r\n],\r\n\"SalesChannel\": \"Online\",\r\n\"SalesSubChannel\": \"myshop.com\"\r\n}"
                  - key: P00000114
                    contactIdentifier: "23"
                    json: "{\r\n\"PurchaseDate\": \"2020-01-01T09:40:18.527Z\",\r\n\"TotalExTax\": 56.0000000000,\r\n\"TotalIncTax\": 67.2000000000,\r\n\"Product\": [\r\n{\r\n\"Name\": \"Armani Jeans beanie hat\",\r\n\"Brand\": \"Armani Jeans\",\r\n\"Department\": \"Menswear\",\r\n\"Category\": \"Hat\",\r\n\"PriceExTax\": 56.0000000000,\r\n\"ProductID\": \"24938\"\r\n}\r\n],\r\n\"SalesChannel\": \"In store\",\r\n\"SalesSubChannel\": \"Manchester\"\r\n}"
          headers: {}
    delete:
      summary: Delete transactional data collection for contact
      deprecated: true
      description: Deletes all transactional/insight data for a contact in a collection identified by either their email or contact ID.
      operationId: delete-transactional-data-collection-for-contact
      tags:
      - Insight and transactional data
      responses:
        "204":
          description: "204"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: {}
          headers: {}
  /transactional-data/{collectionName}:
    get:
      summary: Get account scoped transactional data
      deprecated: true
      description: Gets transactional/insight data in a collection at account level
      operationId: get-account-scoped-transactional-data
      tags:
      - Insight and transactional data
      parameters:
      - name: collectionName
        in: path
        description: The name of the transactional data collection
        required: true
        example: ""
        schema:
          type: string
      - name: select
        in: query
        description: The number of records to select between 1 and 100
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      examples:
                      - Resort001
                    contactIdentifier:
                      type: string
                      examples:
                      - "-1"
                    json:
                      type: string
                      examples:
                      - "{\r\n\"Name\": \"Playa del Fun\",\r\n\"Country\": \"Spain\",\r\n\"Stars\": 3.0000000000,\r\n\"Category\": \"Family beach\",\r\n\"Image\": \"https://www.123holidays.com/resorts/1/9/7/9/3/1/files/imagecache/63595/w20_124720_beachresort1.jpg\",\r\n\"Short_desc\": \"Close to three water parks and the best beach around, this resort is a favourite with families.\",\r\n\"From_price\": 412.0000000000,\r\n\"Link\": \"https://www.123holidays.com/resorts/playa_del_fun\"\r\n}"
              examples:
                Result:
                  summary: Result
                  value:
                  - key: Resort001
                    contactIdentifier: "-1"
                    json: "{\r\n\"Name\": \"Playa del Fun\",\r\n\"Country\": \"Spain\",\r\n\"Stars\": 3.0000000000,\r\n\"Category\": \"Family beach\",\r\n\"Image\": \"https://www.123holidays.com/resorts/1/9/7/9/3/1/files/imagecache/63595/w20_124720_beachresort1.jpg\",\r\n\"Short_desc\": \"Close to three water parks and the best beach around, this resort is a favourite with families.\",\r\n\"From_price\": 412.0000000000,\r\n\"Link\": \"https://www.123holidays.com/resorts/playa_del_fun\"\r\n}"
          headers: {}
  /contacts/transactional-data-collections:
    get:
      summary: Get transactional data collections
      deprecated: true
      description: Gets transactional/insight data collections at account and contact level
      operationId: get-contact-scoped-transactional-data-collections
      tags:
      - Insight and transactional data
      parameters:
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    [
                    {
                    "Id": "1",
                    "Name": "Catalog",
                    },
                    {
                    "Id": "2",
                    "Name": "Orders",
                    },
                    {
                    "Id": "3",
                    "Name": "ProductRecommendations",
                    },
                    {
                    "Id": "4",
                    "Name": "ProductRecommendations_2",
                    }
                    ]
          headers: {}
  /contacts/transactional-data/{collectionName}/empty:
    put:
      summary: Empty transactional data collection
      deprecated: true
      description: Removes all transactional data from the specified collection
      operationId: empty-transactional-data-collection
      tags:
      - Insight and transactional data
      parameters:
      - name: collectionName
        in: path
        description: The name of the transactional data collection to be emptied
        required: true
        example: ""
        schema:
          type: string
      responses:
        "204":
          description: "204"
          content:
            text/plain:
              schema:
                type: object
                properties: {}
              examples:
                Result:
                  summary: Result
                  value: |-
                    {
                    "value": ""
                    }
          headers: {}
  /ecommerce/orders:
    get:
      summary: Get orders since date
      deprecated: false
      description: Gets a list of all orders since a specified date.
      operationId: get-orders-since-date
      tags:
      - Ecommerce
      parameters:
      - name: fromDate
        in: query
        description: "The date from which any orders are returned in [ISO 8601 format](https://www.w3.org/TR/xmlschema-2/#dateTime)"
        required: true
        schema:
          type: string
          format: date
      - name: select
        in: query
        description: The number of records to select between 1 and 1000
        required: false
        schema:
          type: integer
          format: int32
      - name: skip
        in: query
        description: The numbers of records to skip in the result set
        required: false
        schema:
          type: integer
          format: int32
      responses:
        "200":
          description: "200"
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      examples:
                      - "200273"
                    email:
                      type: string
                      examples:
                      - christine.olson@emailsim.io
                    contactId:
                      type: string
                      examples:
                      - "14544"
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          sku:
                            type: string
                            examples:
                            - wedze-all-mountain-xlander-900-downhill-skiing-skis-blue
                          name:
                            type: string
                            examples:
                            - WED'ZE ALL MOUNTAIN XLANDER 900 DOWNHILL SKIING SKIS - BLUE
                          price:
                            type: number
                            default: 0
                            examples:
                            - 259.99
                          quantity:
                            type: integer
                            default: 0
                            examples:
                            - 1
                          imagePath: {}
                    orderTotal:
                      type: number
                      default: 0
                      examples:
                      - 2056.6375
                    orderDate:
                      type: string
                      examples:
                      - 2022-08-01T05:42:00Z
                    subtotal:
                      type: number
                      default: 0
                      examples:
                      - 1645.31
                    payment: {}
                    status: {}
                    discount:
                      type: integer
                      default: 0
                      examples:
                      - 456616
                    deliveryTotal:
                      type: integer
                      default: 0
                      examples:
                      - 144284
                    deliveryMethod:
                      type: string
                      examples:
                      - post
                    deliveryAddress:
                      type: object
                      properties:
                        address1:
                          type: string
                          examples:
                          - ""
                        address2:
                          type: string
                          examples:
                          - ""
                        city:
                          type: string
                          examples:
                          - ""
                        country:
                          type: string
                          examples:
                          - ""
                        postCode:
                          type: string
                          examples:
                          - ""
                    currency:
                      type: string
                      examples:
                      - EUR
                    billingAddress:
                      type: object
                      properties:
                        address1:
                          type: string
                          examples:
                          - ""
                        address2:
                          type: string
                          examples:
                          - ""
                        city:
                          type: string
                          examples:
                          - ""
                        country:
                          type: string
                          examples:
                          - ""
                        postCode:
                          type: string
                          examples:
                          - ""
                    baseSubtotalInclTax:
                      type: integer
                      default: 0
                      examples:
                      - 295822
                    couponCode: {}
                    quoteId:
                      type: string
                      examples:
                      - "727036"
                    retailValue:
                      type: number
                      default: 0
                      examples:
                      - 1727.316363675
              examples:
                Result:
                  summary: Result
                  value:
                  - id: "200273"
                    email: christine.olson@emailsim.io
                    contactId: "14544"
                    items:
                    - sku: wedze-all-mountain-xlander-900-downhill-skiing-skis-blue
                      name: WED'ZE ALL MOUNTAIN XLANDER 900 DOWNHILL SKIING SKIS - BLUE
                      price: 259.99
                      quantity: 1
                      imagePath: null
                    orderTotal: 2056.6375
                    orderDate: 2022-08-01T05:42:00Z
                    subtotal: 1645.31
                    payment: null
                    status: null
                    discount: 456616
                    deliveryTotal: 144284
                    deliveryMethod: post
                    deliveryAddress:
                      address1: ""
                      address2: ""
                      city: ""
                      country: ""
                      postCode: ""
                    currency: EUR
                    billingAddress:
                      address1: ""
                      address2: ""
                      city: ""
                      country: ""
                      postCode: ""
                    baseSubtotalInclTax: 295822
                    couponCode: null
                    quoteId: "727036"
                    retailValue: 1727.316363675
          headers: {}
